skills/workflow-scoping-process/SKILL.md
--- name: workflow-scoping-process user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs) --- # Scoping Process Act as **expert technical analyst** performing rapid scoping of a mechanical change. Assess scope, write a lightweight specification, and produce 1-2 task files — all in a single pass. ## Purpose in the Workflow Scope a mechanical change — gather context, write a speci
npx skillsauth add leeovery/claude-technical-workflows workflow-scoping-processInstall 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.
Act as expert technical analyst performing rapid scoping of a mechanical change. Assess scope, write a lightweight specification, and produce 1-2 task files — all in a single pass.
Scope a mechanical change — gather context, write a specification, and produce a plan with 1-2 task files ready for implementation.
Follow these steps EXACTLY as written. Do not skip steps or combine them.
CRITICAL: This guidance is mandatory.
*_gate_mode: auto value in the manifest, set by the user's explicit a/auto choice at a prior gate.**STOP.** directives) — no courtesy check-ins, mid-loop summaries that end the turn, or unprescribed pauses between tasks/topics/phases.Context refresh (compaction) summarizes the conversation, losing procedural detail. When you detect a context refresh has occurred — the conversation feels abruptly shorter, you lack memory of recent steps, or a summary precedes this message — follow this recovery protocol:
git status and git log --oneline -10 to see recent commits.Do not guess at progress or continue from memory. The files on disk and git history are authoritative — your recollection is not.
Output the next fenced block as a code block:
── Resume Detection ─────────────────────────────
Output the next fenced block as markdown (not a code block):
> Checking for existing scoping work. If a spec and plan
> already exist, we can skip ahead.
Check if a specification already exists:
ls .workflows/{work_unit}/specification/{topic}/specification.md 2>/dev/null && echo "exists" || echo "none"
Check if a plan also exists:
node .claude/skills/workflow-manifest/scripts/manifest.cjs exists {work_unit}.planning.{topic}
If plan exists and is completed:
Output the next fenced block as a code block:
Scoping already completed for "{topic:(titlecase)}". Spec and plan are in place.
Mark scoping as completed if not already, then invoke the bridge:
node .claude/skills/workflow-manifest/scripts/manifest.cjs exists {work_unit}.scoping.{topic}
If scoping doesn't exist, init and complete it:
node .claude/skills/workflow-manifest/scripts/manifest.cjs init-phase {work_unit}.scoping.{topic}
node .claude/skills/workflow-manifest/scripts/manifest.cjs set {work_unit}.scoping.{topic} status completed
→ Proceed to Step 8.
Otherwise:
→ Proceed to Step 6 (spec exists but plan is incomplete — resume from format selection).
→ Proceed to Step 1.
Output the next fenced block as a code block:
── Knowledge Usage ──────────────────────────────
Output the next fenced block as markdown (not a code block):
> Loading the usage guide for the knowledge base so
> proactive querying is available while scoping the change.
Load knowledge-usage.md and follow its instructions as written.
→ Proceed to Step 2.
Output the next fenced block as a code block:
── Gather Context ───────────────────────────────
Output the next fenced block as markdown (not a code block):
> Understanding what needs changing — reading code, asking
> clarifying questions, and building a picture of the change.
Load gather-context.md and follow its instructions as written.
Knowledge-base nudge — if the change touches an area with prior discussions, investigations, or specs, query the knowledge base while gathering context. A "mechanical change" often has a history. See knowledge-usage.md.
→ Proceed to Step 3.
Output the next fenced block as a code block:
── Contextual Query ─────────────────────────────
Output the next fenced block as markdown (not a code block):
> Checking the knowledge base for prior discussions, investigations,
> or specs that touch the area being changed.
Load contextual-query.md and follow its instructions as written.
→ Proceed to Step 4.
Output the next fenced block as a code block:
── Complexity Check ─────────────────────────────
Output the next fenced block as markdown (not a code block):
> Assessing whether this change fits the quick-fix model.
> If it's too complex, it should be promoted to a feature.
Load complexity-check.md and follow its instructions as written.
→ Proceed to Step 5.
Output the next fenced block as a code block:
── Write Specification ──────────────────────────
Output the next fenced block as markdown (not a code block):
> Writing a lightweight specification for the change.
> This captures what's changing and why.
Load write-specification.md and follow its instructions as written.
→ Proceed to Step 6.
Output the next fenced block as a code block:
── Select Output Format ─────────────────────────
Output the next fenced block as markdown (not a code block):
> Choosing the output format for task files.
Load select-format.md and follow its instructions as written.
→ Proceed to Step 7.
Output the next fenced block as a code block:
── Write Tasks ──────────────────────────────────
Output the next fenced block as markdown (not a code block):
> Writing 1-2 task files for the change. Quick-fixes
> are limited to two tasks maximum.
Load write-tasks.md and follow its instructions as written.
→ Proceed to Step 8.
Output the next fenced block as a code block:
── Conclude Scoping ─────────────────────────────
Output the next fenced block as markdown (not a code block):
> Wrapping up. Spec and plan are ready for implementation.
Load conclude-scoping.md and follow its instructions as written.
tools
--- name: workflow-discovery user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-discovery/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs), Bash(git status), Bash(git add), Bash(git commit), Bash(cp), Bash(mkdir -p .workflows/), Bash(mv .workflows/.inbox/) --- # Discovery The universal first phase. Shape the work the user is bringing — confirm what kind of work it is,
tools
--- name: workflow-continue-quickfix user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-continue-quickfix/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs) --- Continue an in-progress quick-fix. Determines current phase and routes to the appropriate phase skill. > **⚠️ ZERO OUTPUT RULE**: Do not narrate your processing. Produce no output until a step or reference file
tools
--- name: workflow-continue-feature user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-continue-feature/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs) --- Continue an in-progress feature. Determines current phase and routes to the appropriate phase skill. > **⚠️ ZERO OUTPUT RULE**: Do not narrate your processing. Produce no output until a step or reference file expl
tools
--- name: workflow-continue-epic user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-continue-epic/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs), Bash(node .claude/skills/workflow-legacy-research-split/scripts/detect.cjs), Bash(node .claude/skills/workflow-discovery/scripts/discovery.cjs) --- Continue an in-progress epic. Shows full phase-by-phase state and routes to