plugins/spectre-codex/skills/scope/SKILL.md
π» | Interactively scope a feature or improvement, generating a complete Scope document with IN, OUT, and ANTI-SCOPE boundaries -- primary agent
npx skillsauth add codename-inc/spectre scopeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded $ARGUMENTS value.
Collaborative workflow for structuring unstructured thoughts into clear scope boundaries through a grounded hypothesis and targeted clarifications. Focuses on user value and scope boundaries before technical considerations. Output: scope document with clear boundaries (IN / OUT / ANTI-SCOPE), user value, load-bearing assumptions, and key decisions saved to {OUT_DIR}/concepts/scope.md.
<ARGUMENTS> $ARGUMENTS </ARGUMENTS>
Action β ImmediateReply: Respond before any tools.
FROM_KICKOFF=true β acknowledge kickoff context, read KICKOFF_DOC, extract (Core Problem, User Value, Decisions Made, Remaining Ambiguities, Key Code Refs), SKIP to Step 4FROM_KICKOFF=true.Action β DetectExistingArtifacts: Before proposing a hypothesis, check for prior context that may already answer questions.
branch_name=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo unknown)docs/tasks/{branch_name}/concepts/scope.md, docs/tasks/{branch_name}/task_context.mdscope.md exists β read fully; treat this invocation as a re-scope. Surface what was already settled and ask only about what's new or changed.apply-style memory or session logs) β surface decisions/patterns/gotchas relevant to this area before asking the user.SKIP IF FROM_KICKOFF=true β kickoff already grounded.
Action β FastGround: Run ONE fast lookup to ground the hypothesis in repo reality. Pick the most informative single call:
@finder for one targeted query β when you need to know what files/components exist for this areagrep or glob β when you need to verify a specific assumption ("does X already exist?")Constraints:
plan's job.kickoff rather than a scope.SKIP IF FROM_KICKOFF=true
Action β ExploreScope: Collaborative dialogue focused on boundaries, user experience, and anti-scope.
CRITICAL: Focus on WHAT, not HOW. Defer all technical/implementation questions to plan. Only ask technical questions if the scope itself is inherently technical (e.g., "migrate database from X to Y").
PATTERN: Lead with a grounded hypothesis (informed by Step 2's lookup) AND ask 5β8 questions across multiple dimensions. Mark each question as (blocking) or (optional) so the user can skim and skip.
FIRST RESPONSE FORMAT:
Here's my read on this, grounded in {one-line of what Step 2 surfaced}:
Hypothesis: [problem statement, who it affects, proposed IN / OUT / ANTI-SCOPE]
Questions:
- (blocking) [User problem question]
- (blocking) [Boundary edge question]
- (blocking) [Anti-scope question]
- (optional) [UX flow question]
- (optional) [Alternative approach question]
- (optional) [Edge case question]
- (optional) [Success criteria question]
Answer the blocking ones; skip optional if obvious.
Question types (mix from these; lean on blocking for boundaries and anti-scope):
DO NOT ask about: implementation approach, technical trade-offs, architecture, or integration details β those belong in plan.
Action β IterateBoundaries: After user responds, refine boundaries and ask targeted follow-ups on gaps.
Current Scope: β IN: [list] β OUT: [list] π« ANTI-SCOPE: [problems we're intentionally not solving] β οΈ Unsure: [edge cases]
Any items to move? Add exclusions? Clarify edges? Reply 'looks good' to continue.
Wait β User confirms scope boundaries are accurate.
Action β DetermineOutputDir:
OUT_DIR = user_specified || docs/tasks/{branch_name}mkdir -p "$OUT_DIR/concepts" "$OUT_DIR/clarifications"Action β DetectClarificationMethod: Check if AskUserQuestion tool is available.
Action β AskInline: Generate 3β6 questions based ONLY on remaining scope ambiguities from Step 3 (or kickoff's "Remaining Ambiguities").
CRITICAL: Only ask about unresolved scope ambiguities. Technical questions belong in plan, not here.
Action β GenerateTargetedQuestions: Create 3β6 questions in {OUT_DIR}/clarifications/scope_clarifications_{YYYY-MM-DD_HHMMSS}.md:
<response></response> blockAction β PromptUser: "Saved clarifications to {path}. Answer in <response> blocks. Reply 'Read it' when ready."
Wait β User replies.
Action β ReadClarifications: Read the file; use responses (proceed with intelligent assumptions if blocks are empty).
Action β CreateScopeDoc: Generate {OUT_DIR}/concepts/scope.md (use scoped filename if one exists).
Priority: User value and boundaries BEFORE technical details.
Sections:
plan or create_tasks, complexity S/M/LNote on ANTI-SCOPE vs OUT:
Action β PresentDocForReview: Show final boundaries and next steps together.
Scope Complete:
{OUT_DIR}/concepts/scope.mdFinal Boundaries: β IN: [from doc] β OUT: [from doc] π« ANTI-SCOPE: [from doc] β οΈ Maybe/Future: [from doc]
Load-Bearing Assumptions (top 1β3 β if any prove false, return to scope): [from doc]
Docs saved:
{OUT_DIR}/concepts/scope.md, clarifications under{OUT_DIR}/clarifications/Reply with edits β otherwise pick a next step:
Action β RenderFooter: Render Next Steps using Skill(spectre-guide) skill.
NOTE: Do NOT wait for explicit approval. Present next steps inline with the review. The user can reply with scope edits OR jump straight into a next step command. If they reply with edits, apply them to the scope doc and re-present.
testing
π» | Independent multi-lens review of plan.md and/or tasks.md β finds overengineering, missing verification, hallucinated deps, weak references
data-ai
π» | Unified planning entry point - researches, assesses complexity, routes to workflow - primary agent
data-ai
π» | Transform requirements into executable tasks - primary agent
testing
π» | Independent multi-lens review of plan.md and/or tasks.md β finds overengineering, missing verification, hallucinated deps, weak references