0-spec
Write a feature spec from requirements in .claude/input/. Use when starting a new feature, before implementation begins.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Write a feature spec from requirements in .claude/input/. Use when starting a new feature, before implementation begins.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Create well-structured atomic commits with conventional commit messages. Use when ready to commit working changes.
Orchestrate the full spec → implement → review → fix → commit pipeline. Use when shipping a complete feature end-to-end.
Break a concept document, draft, or product brief into independent PRDs that each feed into /ship. Use when input contains multiple features or a big-picture vision.
Ship decomposed PRDs in parallel. Analyzes file conflicts, groups into batches, runs /ship in isolated worktrees, merges results. Use after /decompose.
Implement a feature from a spec file in .claude/specs/. Use after a spec is written and approved.
Audit dependencies for vulnerabilities and scan for committed secrets. Use periodically or when security alerts flag a dependency.
| name | 0_spec |
| description | Write a feature spec from requirements in .claude/input/. Use when starting a new feature, before implementation begins. |
| disable-model-invocation | true |
| argument-hint | <feature name or description> |
| model | claude-opus-4-6 |
| effort | high |
Create a detailed spec for the following feature: $ARGUMENTS
$ARGUMENTS is an optional feature name or focus hint. The primary requirements source is .claude/input/.
Steps:
.claude/context/ if the directory exists — these are long-lived project references (schemas, API docs, glossaries)
2b. Resolve linked work items — if the input or $ARGUMENTS mentions a ticket/issue ID (e.g. "Ticket 1234", "#1234", "1234.Improvement..."), try to fetch it using the project's configured work-item tracker. Check which MCP tools are available (Azure DevOps, Jira, Linear, GitHub Issues, or similar). If a tool is available, fetch the ticket with comments and linked items. Review resolved related/parent items: their linked commits, branches, and PRs point to prior work. Run git show <sha> or git log master..<branch> on those references and fold the actual implementation status into the spec. Doing this before codebase exploration prevents you from re-scoping work that is already done elsewhere. If no tracker MCP tool is available, skip this step..claude/input/ if the directory exists — these are the raw requirements materials (docs, images, wireframes, PDFs). Treat them as the primary source of truth for what to build
3b. Historical pattern awareness — if the subagent prompt includes historical pattern analysis (from /ship Step 1b), use it to increase spec depth in problem areas. For example:
validation issues → add an explicit "Input validation rules" subsection under Implementation notes listing every input, its type, its constraints, and what happens on invalid inputedge-cases issues → add an explicit "Edge cases" subsection listing boundary conditions, empty states, concurrent access scenarios, and off-by-one riskstypes issues → add explicit type signatures in Implementation notes for all new/changed functions/0_spec run), skip this step — it changes nothing about the default behaviorgit show <sha> or git log master..<branch> to inspect what was actually built. If no tracker is available, check git log for related branch names or commit messages. Never assume a dependency is missing — check first..claude/specs/<kebab-case-feature-name>.md with these sections:
/1_implement match conventions without exploringstateDiagram-v2 for complex flows with branching.scores from Zustand store, computed by calculateScores() in scoring engine").md"). Skip if not applicable./1_implement and /3_fix — write them precisely enough to be checkable.complexity_gate_max_files from CLAUDE.md (default: 10), add a ⚠ Complexity flag section noting that this feature may be too large for a single implementation session and suggesting decomposition into sub-specs..claude/input/ to .claude/archive/ now that the spec is written.Create the .claude/specs/ directory if it doesn't exist. Do not implement anything — spec only.
ACTION REQUIRED — do not end your response without doing this:
If running as a subagent (no direct user interaction), skip the question and return the structured summary instead.
Ask: "Spec written to .claude/specs/<name>.md. Ready to implement — shall I run /1_implement <name>? (The full pipeline is: spec → implement → review → fix → commit)"
Do not summarize and stop. Always end with a direct question to the user.