← Files Cecil-IA Labs FFmpegARCHIVED FILE
skills/ffmpeg-environment/scripts/inspect.mjs
1.58 KB · Sep 30, 2026 · 23:17 UTC
#!/usr/bin/env node
import {
contextPlan,
enumValue,
executeSkillScript,
inputPath,
objectInput,
optionalString,
reportResult,
runtimeOptions,
} from "../../../dist/skill-scripts/shared.js";
import {
inspectEnvironmentCapabilities,
inspectEnvironmentVersions,
inspectDoctor,
} from "../../../dist/environment/index.js";
import { probeMedia } from "../../../dist/media/probe.js";
const actions = ["doctor", "capabilities", "version", "probe"];
await executeSkillScript("environment.inspect", async ({ request, context, signal }) => {
const input = objectInput(request.input);
const action = enumValue(input, "action", actions) ?? "doctor";
const planned = contextPlan(
input,
context,
"Run skills/ffmpeg-environment/scripts/inspect.mjs from Codex, Work, or a local terminal.",
);
if (planned !== undefined) return planned;
const options = runtimeOptions(input, request, context, signal);
let report;
if (action === "doctor") {
report = await inspectDoctor(options);
} else if (action === "capabilities") {
report = await inspectEnvironmentCapabilities(options);
} else if (action === "version") {
report = await inspectEnvironmentVersions(options);
} else {
report = await probeMedia(inputPath(input, "input", request), {
...options,
...(optionalString(input, "ffprobePath") !== undefined
? { ffprobePath: optionalString(input, "ffprobePath") }
: {}),
});
}
return reportResult(input, report, [
"Use the matching domain Skill after the required capability or media metadata is confirmed.",
]);
});
SHA-256: 2f3c6b6b6685b7153453107a110c4b325fdb208089a8712b45368e7a4b196e9f