Get Current Spec
Determine the current working specification through a three-tier priority system that checks user input first, then progress.yml, and finally prompts for user selection.
Priority Resolution System
- User input - Parse the message for spec references (highest priority)
- progress.yml - Read from
.claude/spec-kit/memory/progress.yml - User selection - Prompt user to select from available specs
Instructions
Step 1: Parse User Input for Spec References
Check if the user mentioned a specific spec:
node ${CLAUDE_PLUGIN_ROOT}/scripts/dist/cli.js list-features
Look for these patterns in user input:
- Full spec ID: "001-feature-name"
- Spec number: "001", "002", "spec 001"
- Feature name: "user-auth", "work on user-auth"
- Feature reference: "feature 002"
When a match is found:
- Extract the spec ID (format:
NNN-feature-name) - Call set-current-spec skill to update progress.yml
- Proceed to output
Step 2: Read progress.yml
When no spec found in user input, read the stored current spec:
cat .claude/spec-kit/memory/progress.yml
Parse the currentSpec field (format: NNN-feature-name).
When currentSpec exists and its directory exists at .claude/spec-kit/specs/{spec-id}/:
- Use that spec
- Proceed to output
Step 3: Prompt User Selection
When no spec found in input AND no valid currentSpec in progress.yml:
-
List available specs:
node ${CLAUDE_PLUGIN_ROOT}/scripts/dist/cli.js list-features -
Use AskUserQuestion to present options and let user select
-
Call set-current-spec skill with selected spec ID
Output Format
Provide the resolved spec context:
Current Spec: {NNN}-{feature-name}
Feature Number: {NNN}
Feature Name: {feature-name}
Directory: .claude/spec-kit/specs/{NNN}-{feature-name}/
Source: {user input | progress.yml | user selection}
Usage Notes
- Always attempt user input parsing first before checking progress.yml
- Validate that spec directory exists before using
- Update progress.yml when user specifies a different spec
- Called by all spec-kit commands that need context (plan, tasks, implement, clarify)
Scan to join WeChat group