skills/workflow-specification-entry/SKILL.md
--- name: workflow-specification-entry user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-specification-entry/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(mkdir -p .workflows/*/.state), Bash(rm .workflows/*/.state/discussion-consolidation-analysis.md) --- Act as **precise intake coordinator**. Follow each step literally without interpretation. Do not engage with the subject matter — your role is preparation, not processing.
npx skillsauth add leeovery/agentic-workflows workflow-specification-entryInstall 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 precise intake coordinator. Follow each step literally without interpretation. Do not engage with the subject matter — your role is preparation, not processing.
⚠️ ZERO OUTPUT RULE: Do not narrate your processing. Produce no output until a step or reference file explicitly specifies display content. No "proceeding with...", no discovery summaries, no routing decisions, no transition text. Your first output must be content explicitly called for by the instructions.
You are in the Specification phase — refining prior work into a standalone spec. Where Specification sits in the pipeline depends on the work type:
| Work type | Pipeline | |---|---| | Epic | Discovery → Research → Discussion → Specification → Planning → Implementation → Review | | Feature | Discussion → Specification → Planning → Implementation → Review | | Bugfix | Investigation → Specification → Planning → Implementation → Review | | Cross-cutting | Research (optional) → Discussion → Specification (terminal) |
Stay in your lane: Validate and refine discussion content into standalone specifications. Don't jump to planning, phases, tasks, or code. The specification is the "line in the sand" - everything after this has hard dependencies on it.
Follow these steps EXACTLY as written. Do not skip steps or combine them. Present output using the EXACT format shown in examples - do not simplify or alter the formatting.
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.Output the next fenced block as a code block:
── Parse Arguments ──────────────────────────────
Output the next fenced block as markdown (not a code block):
> Reading the handoff context and determining which
> specification to work with.
Arguments: work_type = $0, work_unit = $1, topic = $2 (optional).
Resolve topic: topic = $2, or if not provided and work_type is not epic, topic = $1.
Store work_unit for the handoff.
topic resolved→ Proceed to Step 2 (Validate Source Material).
topic (epic — scoped path)Run discovery scoped to this work unit:
node .claude/skills/workflow-specification-entry/scripts/discovery.cjs {work_unit}
Parse the discovery output to understand:
From discussions array: Each discussion's name, work_unit, status, work_type, and whether it has an individual specification.
From specifications array: Each specification's name, work_unit, status, work_type, sources, and superseded_by (if applicable). Specifications with status: superseded should be noted but excluded from active counts.
From cache section: entries array — each entry has status (valid/stale), reason, generated, anchored_names. Empty array if no cache exists.
From current_state: completed_count, spec_count, has_discussions, has_completed, has_specs, and other counts/booleans for routing.
IMPORTANT: Use ONLY this script for discovery. Do NOT run additional bash commands (ls, head, cat, etc.) to gather state.
→ Proceed to Step 5 (Check Prerequisites).
Output the next fenced block as a code block:
── Validate Source Material ─────────────────────
Output the next fenced block as markdown (not a code block):
> Checking that the required source material is ready
> — completed discussions or investigations.
Load validate-source.md and follow its instructions as written.
→ Proceed to Step 3.
Output the next fenced block as a code block:
── Validate Phase ───────────────────────────────
Output the next fenced block as markdown (not a code block):
> Checking whether a specification already exists
> for this topic.
Load validate-phase.md and follow its instructions as written.
→ Proceed to Step 4.
Output the next fenced block as a code block:
── Invoke Specification ─────────────────────────
Output the next fenced block as markdown (not a code block):
> Handing off to the specification process with all
> gathered context.
Load invoke-skill.md and follow its instructions as written.
Output the next fenced block as a code block:
── Check Prerequisites ──────────────────────────
Output the next fenced block as markdown (not a code block):
> Verifying that completed discussions are available
> to build specifications from.
Load check-prerequisites.md and follow its instructions as written.
→ Proceed to Step 6.
Output the next fenced block as a code block:
── Route Based on State ─────────────────────────
Output the next fenced block as markdown (not a code block):
> Evaluating what discussions and specifications exist
> to determine next steps.
Load route-scenario.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