Claude Code Plugins

Community-maintained marketplace

Feedback

This skill should be used when commands need to determine which spec is active, when the user mentions "spec 001", "work on feature X", or when checking current spec context. Resolves the current working specification through user input, progress.yml, or user selection.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name get-current-spec
description This skill should be used when commands need to determine which spec is active, when the user mentions "spec 001", "work on feature X", or when checking current spec context. Resolves the current working specification through user input, progress.yml, or user selection.
allowed-tools Read, Bash, AskUserQuestion
version 1.0.0

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)