Decisions
Reuse the pipeline that already exists, rather than rebuilding it inside build.
The handoffs between the three skills are already wired. Re-implementing them would mean a new flag on a neighbouring skill plus a guard against infinite loops, spread across three files.
Rejectedbuild sequencing the stages itself (touches three files, duplicates existing logic); a fourth skill owning the pipeline (cleanest boundaries, but a whole new skill to avoid ~25 lines).
Ask once whether to start from a proposal.
The proposal skill handles a small, well-understood idea by just answering it — producing no document. Running it unconditionally would leave the chain holding nothing.
RejectedAlways running it and letting it scale itself down; skipping the proposal stage entirely.
Offer what the search found instead of silently adopting it.
Otherwise a forgotten plan sitting in the directory can quietly win over the goal the user just typed.
RejectedSkipping the search entirely (loses the ability to resume interrupted work); only chaining when the directory is completely empty (leaves the silent pickup in place).
“Not yet” ends the whole run, not just one step of it.
That prompt is the only place the user is asked whether to build. Treating it as declining just the inner step would build the thing they declined seconds earlier.
RejectedThe narrow reading, which the proposal originally documented; asking a second time on the way back.
Pin an explicit model on the skill that writes code.
Kept even after a reviewer argued against it, because the alternative is inheriting whatever the previous stage happened to set.
RejectedReverting to inherited; documenting the defect instead of fixing it. The reviewer’s cost and access objections are recorded as a known tradeoff rather than acted on.
Write the new tests scoped to the section they guard.
The existing test file documents, in its own comments, a whole-file search passing against a change that deleted all five rules it was supposed to protect.
RejectedWhole-file searches (demonstrably weaker); a structural parser heavier than anything else in the test suite.
Release this as a major version, not a minor one.
The repository’s own rule classifies changes to how a command accepts input as major. The automated check only enforces “newer than the main branch,” so it would never have caught the undersized bump.
RejectedMinor, as originally written into the plan.
Reach the new behaviour only through the explicit command.
The goal becomes a parameter you pass, not a phrase that triggers the skill. This removes an entire class of false matches instead of trying to word around it.
RejectedA narrow automatic trigger for phrasing that sounds like creating something; a wide trigger that asks a clarifying question at runtime.