返回 Skill 列表
extension
分类: 开发与工程无需 API Key

get-current-spec

当命令需要确定哪个规格处于活动状态时,或者用户提到“规格001”、“处理功能X”或检查当前规格上下文时,应使用此技能。通过用户输入、progress.yml文件或用户选择来解决当前工作的规格。

person作者: jakexiaohubgithub

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

  1. User input - Parse the message for spec references (highest priority)
  2. progress.yml - Read from .claude/spec-kit/memory/progress.yml
  3. 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:

  1. Extract the spec ID (format: NNN-feature-name)
  2. Call set-current-spec skill to update progress.yml
  3. 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}/:

  1. Use that spec
  2. Proceed to output

Step 3: Prompt User Selection

When no spec found in input AND no valid currentSpec in progress.yml:

  1. List available specs:

    node ${CLAUDE_PLUGIN_ROOT}/scripts/dist/cli.js list-features
    
  2. Use AskUserQuestion to present options and let user select

  3. 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)