← ClaudeAtlas

decompose-planlisted

Cut a unit of work into children the plan gate will accept — testable acceptance criteria in EARS, disjoint or declared scope globs, an acyclic dependency graph, a token budget, an integrity level, and the command that demonstrates each child end to end. Use at DECOMPOSE, when a plan gate has just refused a child, or when a child turns out to have no consumer-visible behaviour to check.
niksavis/basicly · ★ 0 · AI & Automation · score 72
Install: claude install-skill niksavis/basicly
<!-- Generated by `basicly skills-build` from skill.yaml. Do not edit; edit the source. --> # Decompose a plan the gate will accept The plan gate sits on **entry to BUILD**, not exit. Everything below is something it can refuse, and everything it refuses is cheap here and expensive one state later — BUILD is where nearly all tokens go. ## The five fields, and what each one is really for | Field | Refused when | Why it is on the gate | | --- | --- | --- | | Acceptance criteria | absent | The gate checks presence only (`plan_gate.missing_fields` tests `bool(acceptance)`), so the EARS discipline is yours to keep: it distinguishes trigger, state, condition, feature-gated and ubiquitous, GWT collapses all five, and that distinction is what makes a check derivable | | Scope globs | absent | Overlap decides what serializes. Two children writing one path collide at the merge queue, at a rework retry each | | Dependencies | cyclic | A cycle is a plan that cannot start | | Token budget | absent | The band prices the lane before it runs | | Integrity level | absent | It selects the gates and the rework allowance | ## The sixth field, which is the one that catches real defects **Every child names how it is demonstrated end to end** — a command to run, a request to make, or a test that exercises it through the consumer surface. The field is refused on two grounds: absent, and present but naming nothing runnable, where runnable means a backticked span. A child that cannot name one h