stage-planlisted
Install: claude install-skill m4ttstack/skills
# stage: plan
{{stage.fields}}
## Run state
Contracts v2 and v3 (authoritative text: the parameterized-skills skill's convention reference).
- First action: `rt runs stage-start --stage plan`
- Read consumed fields with `rt runs field get <key>` before
deriving or asking for them.
- Write each declared produce the moment it exists:
`rt runs field set <key> <value> --stage plan`
- Last action on success: `rt runs stage-done --stage plan`;
on failure: `rt runs stage-fail --stage plan --reason
"<what actually failed>"` before you report it.
Read the ticket (or the task description standing in for one).
## Domain rules
{{slot:domain}}
<HARD-GATE>
Print the triage block below before any implementation action -- before
writing or editing code, before creating a file, before dispatching an
implementer subagent. Not optional, not internal reasoning, not skippable
for "obvious" work.
</HARD-GATE>
**These thoughts mean you are skipping the gate -- STOP:**
| Thought | Reality |
|---------|---------|
| "This is an obvious one-line fix, I'll just do it" | Print the block. An obvious fix is `direct-tdd`, not an exemption. |
| "I'll state the approach after I look at the code" | The gate is BEFORE code, not after. Print it now. |
| "It's basically trivial" | Only docs/config/rename are trivial. Behavior change = direct-tdd. Print it. |
| "I already know this is a superpowers job, no need to say so" | Say so. The block is how the human and the run state verify your triage.