implement
Implement the work described by the user in the spec or tickets, in six steps. Each step is done only when its completion criterion holds.
If the user passes a ticket reference, fetch it from the issue tracker and state its title before starting. If the reference is ambiguous, ask.
Subagent effort
Every subagent spawned during this run, whether you spawn it or a skill you invoke does (/tdd, /review-axes), runs at effort: medium, whatever its model. The user's effort level belongs to this session only and never carries over to a spawn.
high or above (high, xhigh, max) needs the user's explicit yes before the spawn: ask, name the subagent, the model, the effort and why medium is not enough, then wait. No answer is a no. One yes covers only the spawn it was asked for.
Where the host cannot set effort per spawn and the subagent would inherit a high or higher level from this session, that inheritance counts as spawning at high: it needs the same yes first.
If no human can answer (you run as a subagent, unattended, or the brief says nobody is around), stop and report the question as a blocker. Never fall back to doing the work inline. In an interactive session, keep asking and waiting for the yes as above. The same rule covers every other question this run would put to the user, such as where the spec is: unattended, it is a blocker, never a guess.
1. Build
Call the Skill tool with "tdd" where possible, working at pre-agreed seams. Run typechecking regularly and single test files regularly.
Anything you write that outlives the run (docblocks, code comments, READMEs, docs, ADRs) never points into .scratch/: that folder is wiped periodically, so the reference would dangle. State the needed fact inline, or cite a permanent file in the repo instead.