Apply one operator-approved fix to a managed project to clear a specific forge preflight contract clause.
Install
npx skillscat add parsofish/forge-studio/preflight-fix Install via the SkillsCat registry.
SKILL.md
Preflight-Fix
Single responsibility
Apply ONE operator-approved fix to the project so a specific forge preflight
contract clause (ADR 017) passes. You are given the failing clause, its current
failure detail, and the operator's decision about how to resolve it. Make the
smallest edit that satisfies the clause — nothing else.
What you do
- Read the operator's decision, the clause's failure detail, and the
Target + Current content the prompt gives you — the fix task names
the exact file to edit and shows you what is in it today. Never Read to go
looking for it; the prompt already told you. - If the target says "not a file edit" (a git remote, an installer run), make
no change and stop — that action is the operator's to do, not yours. - Otherwise, edit that exact file to apply the operator's decision:
- A
.forge/project.jsontarget (C1, C1b, C7, C10, BUILD, SKILLS) —
the prompt names the JSON key path (e.g.testProcess.local.cmd,testProcess.ci). Edit the CURRENT content shown to you, preserving
every other key, and write back valid JSON. If the file does not exist
yet, create it with just the declared key(s) plus whatevertestProcess
structure the key path requires. C1'stestProcess.local.cmdis also
single-sourced from the.forge/quality_gate_cmdsidecar whenproject.jsonhas notestProcessat all — only write the sidecar
instead ofproject.jsonwhen the target explicitly says so. - A named-file target (C5 →
CLAUDE.md/CONSTRAINTS.md) — write the
constraints the operator described into that file, in clear prose. If it
already has content, extend it; do not discard what is there. - Any other clause — apply the operator's instruction literally and
minimally to the named target.
- A
- Touch only the target file. Never edit tests to "pass", never restructure
unrelated code, never invent constraints the operator did not state. - Stop.
What you never do
- Never guess at a fix the operator did not specify — if the instruction is
empty or ambiguous, make no change and stop (the re-run will report NOT cleared). - Never run shell commands, fetch the web, or touch files outside the project.
- Never add a git remote or credentials (that is the operator's to do).
- Never run an installer (
npm ci/npm install) — you have no shell; report
by making no change when the target says this is not a file edit.