scope-work
story: e03s01
Section titled “story: e03s01”story: e24s02
Section titled “story: e24s02”Scope Work
Section titled “Scope Work”Spine position: Step 1 — scope-work → slice-tasks → plan-work.
Turn the current conversation into a bounded PRD at specs/product/SCOPE_LATEST.yaml. Without a scope boundary, implementation drifts — stories expand, estimates blow up, and “done” becomes undefined.
Pre-flight
Section titled “Pre-flight”- Do you have a clear user need or problem statement? If not, run
elaborate-specfirst. - Does
specs/product/VISION_LATEST.yamlexist? If yes, read it for north-star alignment. - Is there an existing
SCOPE_LATEST.yaml? If yes, you’re refining, not creating from scratch.
Process
Section titled “Process”-
Read planning-context.yaml — If
specs/planning-context.yamlexists, read it before doing anything else:Terminal window test -f specs/planning-context.yaml && echo "Context found" || echo "No context — starting fresh"Pre-populate
feature_name,constraints, andout_of_scopefrom the file. Skip re-asking questions already answered by elaborate-spec. If the file is absent, proceed normally. -
Gather context — Read existing
specs/artifacts (release-plan.yaml,plans/TECH_STACK_LATEST.md,requirements/VISION_LATEST.yamlif any). Understand what the project is building and why. -
Interview (if needed) — Clarify: What is the goal? Who are the users? What is definitely in scope? What is explicitly out of scope? What constraints exist (time, budget, tech)? How will success be measured?
-
Write
specs/product/SCOPE_LATEST.yamlwith these fields:core_value— one-sentence value propositionsummary— 2-3 paragraph scope overviewin_scope[]— list of what this initiative covers (each maps to an epic/story)out_of_scope[]— explicit exclusions (prevents scope creep)constraints— tech, time, resource boundariessuccess_criteria— observable outcomes that prove the scope is deliveredreferences— links to related specs, ADRs, or documents
-
Lightweight trade-off analysis — For each
out_of_scopeitem, note why it’s excluded (deferred, not valuable, too risky, depends on external factor). This protects against “what about X?” questions later. -
Run
research-firstif external dependencies are proposed — verify the dependency exists, is maintained, and fits the scope before committing to it.
HARD GATE — Every
in_scopeitem must map to a future epic/story ID or explicit deferred note inout_of_scope. If an item can’t be mapped, the scope is too vague — refine before proceeding.
HARD GATE — Do NOT include implementation details in SCOPE_LATEST.yaml. Scope is what and why, not how. Implementation detail belongs in epic capsules and slice-tasks.
Common Anti-Patterns
Section titled “Common Anti-Patterns”- “Everything is in scope” — If nothing is out of scope, you haven’t defined a scope. You’ve described a universe. Cut aggressively.
- “We’ll figure it out later” — Ambiguity in scope propagates to every downstream decision. Resolve now or explicitly defer in writing.
- Scope as architecture — Saying “we need a PostgreSQL database” is architecture, not scope. Scope says “we need to store user profiles and transaction history.”
Output
Section titled “Output”specs/product/SCOPE_LATEST.yaml — the bounded PRD. Subsequent skills (slice-tasks, plan-work) reference this as the source of truth for what to build.
Verify
Section titled “Verify”→ verify: test -f specs/product/SCOPE_LATEST.yaml && grep -c 'out_of_scope' specs/product/SCOPE_LATEST.yaml | awk '{if($1>0) print "OK"; else print "MISSING"}'