ワンクリックで
spec-writer
A skill for translating an idea into a plan/specification for implementation. Creates detailed specs in ./specs/ directory.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
A skill for translating an idea into a plan/specification for implementation. Creates detailed specs in ./specs/ directory.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Processes PR review comments by assessing feedback, planning actions, implementing changes, and responding to reviewers. Use when a PR has review comments that need to be addressed.
Skill for exploring ideas and developing them into the basis needed to write a spec (usually using spec-orchestrator or spec-writer). Explores user intent, requirements and design before implementation.
You MUST use this skill when executing specs (usually from ./specs/ directory) with batched execution and checkpoints. Use after spec-execution-prep has prepared the environment.
Iterative multi-agent specification design, review and writing. Simulates diverse team perspectives, synthesizes feedback, and coordinates revisions until approved or escalated to the user. Use when writing and reviewing technical specs, RFCs, design docs, or proposals.
SOC 職業分類に基づく
| name | spec-writer |
| description | A skill for translating an idea into a plan/specification for implementation. Creates detailed specs in ./specs/ directory. |
| allowed-tools | ["Read","Grep","Glob","Bash(git diff:*)","Bash(git status:*)","Bash(git log:*)","Bash(ls *)","Write(specs/*)"] |
Interactive specification writer that transforms ideas into actionable implementation plans through collaborative dialogue.
This skill operates in three modes:
Trigger: User invokes spec-writer directly
Announce at start: "I'm using the spec-writer skill to create the implementation plan."
Trigger: Invoked by spec-orchestrator with { mode: "autonomous", request: string }
Announce at start: "I'm writing a spec autonomously for orchestrator review."
Trigger: Invoked by spec-orchestrator with { mode: "revision", currentSpec: string, feedback: object, iteration: number }
Announce at start: "I'm revising the spec based on reviewer feedback (iteration N)."
| Phase | Interactive | Autonomous | Revision |
|---|---|---|---|
| Understanding | Ask questions | Infer from context | Skip (spec exists) |
| YAGNI checkpoint | User validates | Self-assess, document reasoning | N/A |
| Design alternatives | Present options, user chooses | Choose best, document alternatives | Address feedback |
| Section checkpoints | Pause for validation | Continue without pause | N/A |
| Review Discussion | N/A (first draft) | N/A (first draft) | Update with feedback |
| Revision Notes | N/A | N/A | Required |
This skill typically used after the idea-explorer skill has gathered refined an idea into an understood problem space and success criteria, but before any implementation work begins. The output is a detailed spec file saved to ./specs/ that the spec-executor skill can then implement.
If you feel the idea that's being presented is not yet well understood, or has ambiguity, encourage the user to use the idea-explorer skill first to refine the idea.
Understand before writing spec
This skill prioritizes:
Mode note: In autonomous mode, infer answers from context and document assumptions. In revision mode, skip this phase.
When the user describes a feature or change (typically by after the idea has been explorered using the idea-explorer skill):
Examine current state
Apply YAGNI checkpoint
After gathering initial requirements, explicitly ask:
**Scope Check:** Based on what you've described, I'm considering these features:
- [Feature 1] - Essential / Nice-to-have / Not needed?
- [Feature 2] - Essential / Nice-to-have / Not needed?
- [Feature 3] - Essential / Nice-to-have / Not needed?
Let's mark "Nice-to-have" items as future work and focus on essentials.
Mode note: In autonomous mode, choose the best approach and document alternatives considered. In revision mode, focus on addressing feedback rather than exploring new approaches.
When there are multiple valid approaches:
**Design Decision: [Topic]**
I see 2-3 viable approaches. Here's my analysis:
---
**Recommended: Option A - [Name]**
[2-3 sentence description]
Pros:
- [Advantage 1]
- [Advantage 2]
Cons:
- [Tradeoff 1]
---
**Alternative: Option B - [Name]**
[2-3 sentence description]
Pros:
- [Advantage 1]
Cons:
- [Tradeoff 1]
- [Tradeoff 2]
---
**My recommendation:** Option A because [specific reasoning tied to requirements].
Does this align with your thinking, or would you prefer a different direction?
Mode note: In autonomous mode, skip validation checkpoints and write the complete spec. In revision mode, use the Revision Mode Workflow below instead.
Present design in digestible sections (100-300 words each):
(Interactive mode only) After EACH section:
**Checkpoint: [Section Name]**
Does this design approach work for you? Any questions before we continue?
When invoked with { mode: "revision", currentSpec, feedback, iteration }:
Review the feedback object:
For each piece of feedback:
Add or update the Review Discussion section in the spec:
## Review Discussion
### Key Feedback Addressed
- **[Issue]** ([Reviewer]): [How it was resolved]
### Tradeoffs Considered
- **[Alternative]**: [Why it was rejected or deferred]
### Dissenting Perspectives
- **[Concern]** ([Reviewer]): [Why not fully addressed, reasoning]
This section accumulates across iterations—add to it, don't replace.
At the end of the spec, append:
---
## Revision Notes (Iteration N)
### Addressed
- [Feedback item]: [How addressed]
### Intentionally Not Addressed
- [Feedback item]: [Reasoning — this may trigger escalation]
### Other Changes
- [Any additional improvements]
If you believe feedback is incorrect:
If reviewers disagree with each other:
./specs/YYYY-MM-DD-<topic>-spec.md (example: ./specs/2024-12-21-task-templates-spec.md)Use the template defined in @spec-template.md when creating specification files.
User Request
│
▼
┌─────────────────────────────────┐
│ PHASE 1: UNDERSTANDING │
│ • Examine current state │
│ • Ask questions (one at a time) │
│ • Apply YAGNI checkpoint │
└─────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ PHASE 2: DESIGN │
│ • Present 2-3 approaches │
│ • Lead with recommendation │
│ • Validate each section │
└─────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ PHASE 3: SPECIFICATION │
│ • Generate spec document │
│ • Save to ./specs/ │
│ • Include parallelization if │
│ work is parallelizable │
└─────────────────────────────────┘
│
▼
Ready for Implementation
When designing features, always consider impact on:
/backend/) — Bun + GraphQL (graphql-yoga) + Prisma + Postgres/web/) — Electron + React (electron-vite)If spec involves GraphQL schema changes:
User: I want to add task templates so users can create tasks from predefined templates
Spec Writer:
I'll help you design a task templates feature. Let me understand your vision.
**Question 1 of ~5:** Template Scope
Where should templates live?
A) Global templates available to all projects
B) Per-project templates defined by project members
C) Both global and per-project templates
D) Something else (please describe)
Which fits your vision?
---
## Alternative Decisions Considered
[If applicable, document any significant alternatives that were considered but not chosen, along with reasoning.]
Mode note: Skip this phase in autonomous and revision modes—the orchestrator handles the workflow.
Asks these questions one at a time to the user:
/create-worktree command with a suitable name and new branch off main../specs/ directory and commit it there.