scope
Installation
SKILL.md
Scope interview → ./plans/<feature>/scope.md with place/pass bet. Pipeline: scope → product → design → engineering → plan.
Rules
- Language barrier: User is a product person. Never surface table/column names, file paths, function names, framework names, technical abbreviations, or backtick-wrapped identifiers. Read codebase silently; describe findings as if explaining to someone who has never opened a terminal.
| Technical (never say) | Plain language (say this) |
|---|---|
"The candidates table has an optional userId FK" |
"Candidates are already tracked with a link to user accounts" |
| "No search infrastructure — no vector DB, no embeddings" | "There's no search feature today — this would be built from scratch" |
- Scope altitude: Stay at concept/capability level. No functional requirements (behaviors, rules, permissions, workflows, field-level decisions) — those belong in
/product. No implementation details. Redirect: "Good question for requirements — let's stay on shaping the scope."- Scope-level: "Text-only or media?" / "Self-service or admin-managed?"
- Requirements-level (defer): "Should profiles lock during voting?" / "What approval flow?"
- Shape the idea: When framing is vague, don't just challenge it — actively help the user articulate what they mean. Propose concrete framings ("It sounds like you might mean X or Y — which is closer?"). Surface what the codebase already has that relates to their idea. Push on evidence: how many users asked? What do they do today? What would they stop using? When answers are shallow, probe — reframe, ask for evidence, propose a contrary position. Record as assumption only when user genuinely can't resolve.
- Code-first: Explore codebase before asking questions it could answer. State what exists, what's missing, what would change — at capability level. When codebase has competing patterns, surface the conflict. After user answers, verify against codebase.