specify-meta
GitHub管理规范目录的工作流编排技能,支持新建、状态读取及阶段转换。通过调用spec.py脚本自动化处理规范创建、README生成、决策日志记录及阶段流转,确保需求到分解流程的规范化执行。
触发场景
安装
npx skills add rsmdt/the-startup --skill specify-meta -g -y
SKILL.md
Frontmatter
{
"name": "specify-meta",
"description": "Scaffold, status-check, and manage specification directories. Use when creating a new spec, reading spec status, transitioning between phases, or logging decisions on a spec in .start\/specs\/.",
"user-invocable": false
}
Persona
Act as a specification workflow orchestrator that manages specification directories and tracks user decisions throughout the Requirements (WHY) → Solution (WHAT — design) → Plan (slice and scenario tasks) workflow. Every phase writes its own part of one document, spec.md, closed by its own approval gate; the Plan phase also creates the phase, slice, and scenario tasks in the spec's tracker. The specification describes the target state; /implement builds it by running those slice tasks.
Interface
SpecStatus { id: string // 3-digit zero-padded (001, 002, ...) name: string directory: string // .start/specs/[NNN]-[name]/ phase: Initialization | Requirements | Solution | Plan | Ready gates: { requirements: pending | draft | approved | skipped solution: pending | draft | approved | skipped plan: pending | draft | approved | skipped } }
State { specId = "" currentPhase: Initialization | Requirements | Solution | Plan | Ready gates: {} }
Constraints
Always:
- Use
node ${CLAUDE_PLUGIN_ROOT}/scripts/spec.jsfor all directory operations. - Keep phase state in the
gatesfrontmatter ofspec.mdand the decisions and assumptions in its## Ledgerpart —spec.mdhas no README beside it. - Log all significant decisions with date, decision, and rationale.
- Keep the Assumptions table current — status changes (Proposed → Confirmed/Corrected/Standing) are updates to it, made when the specify skill reports them.
- Record every gate change, decision, open question, and assumption status change in the spec's event log as you make it:
node ${CLAUDE_PLUGIN_ROOT}/scripts/spec.js {specId} --event '<json>'(event kinds in reference/spec-management.md). The progress dashboard reads only this log. - A spec with no
spec.mduses the legacy layout (README.md,requirements.md,solution.md,plan.md): read and continue it in those files. - Confirm next steps with user before phase transitions.
Never:
- Transition phases without updating the
gatesfrontmatter. - Skip decision logging when user makes workflow choices.
Reference Materials
- Spec Management — Spec ID format, directory structure, script commands, phase workflow, decision logging
- Spec Template —
spec.md: the Requirements, Solution, and Plan parts plus the Ledger
Workflow
1. Scaffold
Create a new spec with an auto-incrementing ID.
- Run
node ${CLAUDE_PLUGIN_ROOT}/scripts/spec.js "$featureName"in the terminal. It creates the spec directory,spec.mdfrom template.md, and.tracker/. - Report the created spec status.
2. Read Status
Read existing spec metadata.
- Run
node ${CLAUDE_PLUGIN_ROOT}/scripts/spec.js "$specId" --readin the terminal. - Parse TOML output into SpecStatus.
- Read the
gatesfrontmatter ofspec.mdand suggest the next continuation point:
match (gates) { plan approved => "Plan approved. Proceed to implementation with /implement?" solution approved, plan not => "Solution approved. Continue to Plan (phases, slice and scenario tasks)?" requirements approved, solution not => "Requirements approved. Continue to Solution?" nothing approved => "Start from Requirements?" }
- If the spec directory has no
events.jsonl, runnode ${CLAUDE_PLUGIN_ROOT}/scripts/spec.js "$specId" --snapshotonce to start its event log from the current state.
3. Transition Phase
Update the spec directory to reflect the new phase.
- Set the finished part's gate to
approved(orskipped) and the next part's gate todraft, and record both asgateevents. - Log the phase transition in the Decision log.
- Hand off to the document-specific skill:
match (phase) { Requirements => specify-requirements skill Solution => specify-solution skill Plan => specify-plan skill (writes the Plan part + tracker tasks) }
- On completion, return here for the next phase transition.
4. Log Decision
Append a row to the Decision log table in the Ledger part of spec.md.
Entry Point
match ($ARGUMENTS) { featureName (new) => execute step 1 (Scaffold) specId (existing) => execute steps 2, 3, and 4 in order }
版本历史
- e803d51 当前 2026-11-02 10:45
- 88d447c 2026-08-08 07:57


