This skill handles importing, creating, and modifying subtitle text, timing, and styles and delivering SRT. It hands off to skills in the same package by name and can be used when installed alone, without reading sibling directories. It invokes the fixed released filmcraft-cli and preserves the native editing project.
Trusted directory permissions
Legacy cli.py Native forwarded project reading and editing also require an independent root parameter before -- ; only exact version/help/no-project directory queries are compatible with legacy invocation. Model downloads must separately use --model-maintenance, see this skill's Execution permissions。
Public workflow.py and commands.py run must explicitly provide --read-root READ_DIRECTORY --write-root WRITE_DIRECTORY(repeatable); the root must be an existing canonical real directory, from user/host authorization, and cannot be derived from plans or asset metadata. Plans, assets, and source deliverables must be located under the read root, and deliverables and their parent directories must be located under the write root.--runtime-home is the installation maintenance directory and must be located under an independently and explicitly authorized write root; the native editing process is always prohibited from modifying this cache, skills, registration inputs, and source projects. The current root-isolated execution supports macOS headless; the desktop entry point must simultaneously isolate the signed application and MCP client owned by this session, exposing only the assigned loopback control port. External bridges that cannot be confirmed as isolated are explicitly rejected. The low-level Python test API is not a public authorization entry point. For detailed boundaries, see Execution permissions。
Inputs and deliverables
The inputs are the user-confirmed task, assets, project or object, output directory, and modification scope; when an existing project is required, first verify the summary. Return the actual CLI results, the saved native project, the required derived outputs, and the verification records. Installation success, command directory existence, and creative task completion are reported separately.
First-time use and public entry point
Locate the real directory of the current SKILL.md. Currently supports macOS arm64 and Python 3.11+; the fixed CLI is installed to the user data directory. When existing task authorization covers the necessary dependencies, run this skill's installer directly without creating a separate approval process.
Set SKILL_DIR to the directory (absolute path) where the actually loaded SKILL.md for this host resides. User-level installations may be located at ~/.agents/skills/filmcraft-cli-subtitles, project-level ones may be located at .agents/skills/filmcraft-cli-subtitles, and plugins may be located in their skills/filmcraft-cli-subtitles or the host cache directory; use the actual loaded path as the basis, do not guess based on the current working directory, and do not search and arbitrarily select a duplicate version. The skill directory and the CLI's user data installation directory are two separate locations.
: "${SKILL_DIR:?请先设置为本 SKILL.md 的实际所在目录}"
python3 -I -B "$SKILL_DIR/scripts/bootstrap.py"
python3 -I -B "$SKILL_DIR/scripts/cli.py" -- --version
python3 -I -B "$SKILL_DIR/scripts/cli.py" -- commands --json
In CLI argv, after -- , the native subcommand must come first. Installation parameters go before the separator;--runtime-home can isolate the cache. Stop when locking the artifact digest fails, the installation is corrupted, or the platform is unsupported; do not modify PATH or perform floating upgrades. The native help entry point is help; the launcher's own --help only describes launch parameters.
Scenario operations
Verify this scenario's inputs, native project, target object, version, and output boundaries. Select the current command according to Scenario Guide , save an independent checkpoint, then execute; after completion, reopen the native project and inspect the actual outputs and non-target content.
describe <id> verify the parameters, then use exec <id> <JSON> or run <JSONL>; write commands must be saved in the same batch or used together with --save-as。
Subtitles must be within the sequence range; SRT does not preserve full fonts, positions, or styles, and the native subtitle project continues to be delivered.
Native composition and source project revisions use this skill's built-in scripts/workflow.py; read workflow contract, templates are in this skill's examples. Only modify authorized objects; native projects and dependency assets are preserved; for derived format loss, read exchange report。
Verification and recovery
A non-zero command exit is not completion; the actual saved project, export, dimensions, and media decoding need to be checked. Timeout results are marked unknown; check the original task/project first, and do not automatically replay edits. Existing native workflows support save-as revisions; when the corresponding project summary does not match, refuse to overwrite.
On-demand reference and handoff
- actual command evidence: fixed-version observations, used only as routing and parameter references; live results take precedence, and disabled items are not executed.
- workflow contract: composition operations, native saving, dependency collection, and revisions.
- For installation/diagnosis when needed, hand off to filmcraft-cli-setup, and for full task routing hand off to filmcraft-use; when skills are missing, use
npx skills add full-aigc-skills/filmcraft-skills --skill <skill-name>. Do not load other skills through adjacent file paths.
This skill does not provide a fictitious login interface; local headless does not require a cloud account. Complete GUI, cross-editor fidelity, and creative quality are stated according to actual evidence.
Complete native command usage
The current skill includes parameter descriptions for the complete directory and same-session entry points, not limited by the creative template allowlist. Read complete usage guide, and query as needed command reference; each instruction has a skill route, prior observations, and acceptance status.
: "${READ_ROOT:?Set READ_ROOT to an existing independently authorized directory}"
: "${RUNTIME_HOME:?Set RUNTIME_HOME to an existing independently authorized directory}"
: "${SKILL_DIR:?Set SKILL_DIR to an existing independently authorized directory}"
: "${WRITE_ROOT:?Set WRITE_ROOT to an existing independently authorized directory}"
python3 -I -B "$SKILL_DIR/scripts/commands.py" list --filter QUERY
python3 -I -B "$SKILL_DIR/scripts/commands.py" describe COMMAND_ID
python3 -I -B "$SKILL_DIR/scripts/commands.py" run "$SKILL_DIR/examples/commands-advanced.json" --output /absolute/new-command-result --runtime-home "$RUNTIME_HOME" --read-root "$SKILL_DIR" --read-root "$READ_ROOT" --write-root "$WRITE_ROOT" --write-root "$RUNTIME_HOME"
Before executing a new entry point, check the real registry and current executable status, retain return value references and step-by-step receipts; do not pass off semantic errors or timeouts as success. Directory coverage and direct native use do not mean all instructions, GUI, delivery, or Art orchestration have been accepted.
See the complete workflow command gateway at usage instructions. For the fixed CLI's version and artifact digests, this skill's built-in scripts/runtime.lock.json is authoritative; the skill package version is authoritative according to the corresponding release tag. Independent installation re-verification and full command-by-command acceptance are recorded separately; release does not replace acceptance.
For GUI tasks, you can first use this skill's built-in fixed desktop installation; installation, startup, and actual GUI editing are verified separately.
Complete attribution commands are listed by command family in categorized usage list, and each item can be viewed through this skill's commands.py describe for parameters; the general CLI list also retains all commands not assigned to specialized skills.
Tasks for this skill first read specialized task templates, and execute according to the corresponding inputs, first task, failure boundaries, local revisions, and verification. When combining across capabilities, then read complete business scenarios。
If installation fails, read first-use diagnosis, and use the receipt to locate the current skill's own setup entry point; handle installation failures and native invocation failures separately.
For competition over execution on the same target and interruption registration, see this skill's execution registration; skill source dev.29 includes the implementation, and plugin fixed installation acceptance is recorded separately.
For continuous operations, prefer this skill's built-in task-level session: Start once, check, save, and rework plan by plan, sharing the same FilmCraft instance; exit only after the task ends. A single run still retains the original compatible behavior.