Combat-test draft film assets before locking them. Use after a passport and references exist and before any scene generation.
npx skills add https://github.com/machina-exm/film-studio-skills --skill stress-test
Test a draft asset under the conditions that can break it before locking it for film generation.
Use cheap static images for the entire test.
## AI film studio section in the project's CLAUDE.md or AGENTS.md./docs/registry.md, /docs/breakdown.md, and the asset passport under /assets/characters/, /assets/locations/, or /assets/props/.Ask one question at a time throughout.
Find the exact registry row by tag and version.
Require a draft passport with a canonical descriptor and reference files.
If the descriptor or references are missing, stop the lock attempt and name what must be completed in asset-passport.
Never shorten or rewrite the descriptor while constructing test prompts.
Read the registry and /docs/breakdown.md to collect:
Ask the user about one unresolved scene condition at a time.
Do not substitute a base asset for a state variant.
Create a matrix inside the asset's passport under ## Stress test.
Cover different angles, shot sizes, actual-scene lighting, and shared-frame pairings.
Include a two-shot beside every asset it shares frame with.
Use more than one matrix row when a pairing appears under materially different scene lighting.
Use these columns:
| Test | Angle | Shot size | Scene lighting | Paired asset | Prompt | Result | Verdict |
|---|---|---|---|---|---|---|---|
Use pending, pass, or miss in the verdict column.
Keep each row traceable to a scene when it uses scene lighting or a pairing.
For every row:
Do not turn these tests into video generations.
Do not add cinematic complexity that the row is not testing.
Give the prompts to the user for their configured image workflow, or use the access method they provided.
Save each static result beside the passport under the matching /assets/<type>/ folder with a versioned test filename.
Record each output path in the row's Result cell.
Review every output against the passport and references.
For characters, check face, hair, age cues, build, wardrobe, distinctive details, and variant state.
For locations, check layout, landmarks, materials, palette, light character, and grade.
For props, check form, scale, materials, markings, wear, and distinctive details.
For two-shots, check both identities rather than only the target asset.
Mark any identity drift or broken required detail as miss.
Do not average a miss away because another output looks good.
For a character, require ten passes out of ten attempts.
A result below 10/10 is a failed lock.
For a location or prop, present the completed matrix and require an explicit pass decision from the user.
On any miss, keep the registry status draft and choose one next action with the user:
Never hide a failed row or mark a partial test as locked.
On a pass:
draft to locked.locked.Report the score or decision, every miss, the registry status, and the paths to the test record.
State the gate law: generation for a scene cannot start until every character, state variant, location, and prop in that scene is locked.
If any asset remains draft, name the blocked scenes and stop before expensive video generation.
Take machina-exm/stress-test from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.