diff --git a/skills/planner/SKILL.md b/skills/planner/SKILL.md index 266b82a..32d47bd 100644 --- a/skills/planner/SKILL.md +++ b/skills/planner/SKILL.md @@ -179,6 +179,17 @@ Before handing the plan off, run this checklist inline: 5. **No commit steps:** task templates must not contain `git commit` instructions. Implement tasks leave work in the working tree. +6. **Pin/replacement substring contiguity:** when a task ships a + test asserting `contains("")` (or a grep) AND another + task's verbatim replacement body is what must contain that + substring, the substring must appear *contiguously* in that + replacement body — no soft-wrap splitting it across two lines. + Two authoritative artefacts (exact pin vs. exact replacement) + that cannot both be applied literally is a plan defect, not an + implementer judgement call. This is the recurring grep/contains + line-wrap family (iter-revert Concern 2; iter effect-doc-honesty + Task 2) — scrub it here, every plan that pairs a presence-pin + with a verbatim text edit. Fix issues inline.