scope
Output style (plain words, no dashes)
All output (scope and messages): plain simple language; keep meaningful technical terms but explain each in plain words. Zero dashes of any kind (no em dash, en dash, or hyphen as punctuation); use short sentences, commas, or parentheses instead.
What this skill does
Turns an idea into an ordered, coarse, living plan and keeps it honest as the product ships. Answers "what do I build, in what order, how heavy, which need a decision first?", not "how do I build this one thing?" (that is /architect and /develop).
Scope shape, coarse and small: a slim At a glance table (# · Feature · Phase · Status) + feature sections grouped by phase (see scope-template.md). Each section: heading ### N. Name with short tags only when they matter (needs a decision, an approach override, full weight), a 1 to 2 line intent, one Done when: line (acceptance-criteria seeds, the WHAT), checkbox steps.
Feature shape lifecycle: not yet designed → one box, its entry command. On ADR capture, /architect fills the built-ready shape: Design it (ADR) ticked, ADR linked, Build it: /develop <feature> with 2 to 5 milestone sub-items rolled up from the ADR's ## Build plan, then Verify it: /check verify <feature> and Test it: /test <feature>. Atomic build tasks stay in the ADR's ## Build plan, never here; every box is a command or tracked milestone. Status: in the table and beside the heading; ADR and code pointers once they exist. /scope seeds the what; /architect designs the how and defines milestones; /develop builds; /check verify and /test close; /sync reconciles conventions after.
One command, inferred intent (/scope [what], never a subcommand):
- plan (default): no scope yet + a product-sized idea, or asking for the next slice. Full pass: ask → decompose into coarse feature sections → order + phase → write.
- replan: scope exists + no argument. Opens with a short where-things-stand readout (git branch and ahead/behind the remote, feature counts by status, and each in-progress feature's resume point) so a bare
/scopedoubles as the "where was I, what is safe to pick up" orientation, then reconciles what shipped, surfaces plan-vs-reality drift (code or ADRs with no scope row), enrolls needs surfaced during the build, reorders, and queues the next slice. The normal living rhythm, not rare: run bare/scopeagain. - add: scope exists + argument names a single feature. Enroll one coarse row (intent + order + weight + Needs ADR) without re-planning:
/scope <a feature>.