write-spec
Write a feature spec or PRD from a problem statement or feature idea. Use when turning a vague idea or user request into a structured document, scoping a feature with goals and non-goals, defining success metrics and acceptance criteria, or breaking a big ask into a phased spec.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o write-spec.zip https://jpskill.com/download/22736.zip && unzip -o write-spec.zip && rm write-spec.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/22736.zip -OutFile "$d\write-spec.zip"; Expand-Archive "$d\write-spec.zip" -DestinationPath $d -Force; ri "$d\write-spec.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
write-spec.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
write-specフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] write-spec
仕様書作成
不慣れなプレースホルダーが表示された場合や、どのツールが接続されているかを確認する必要がある場合は、CONNECTORS.md を参照してください。
機能仕様書または製品要求仕様書(PRD)を作成します。
使用方法
/write-spec $ARGUMENTS
ワークフロー
1. 機能の理解
ユーザーに、どのような仕様書を作成したいかを尋ねます。以下のいずれかを受け入れます。
- 機能名(「SSOサポート」)
- 問題提起(「エンタープライズ顧客から一元的な認証を求める声が絶えません」)
- ユーザーからの要望(「ユーザーはデータをCSVとしてエクスポートしたいと考えています」)
- 漠然としたアイデア(「オンボーディングの離脱率について何か対策を講じるべきです」)
2. コンテキストの収集
ユーザーに以下の情報を尋ねます。会話形式で、一度にすべての質問を投げかけず、最も重要な質問から始め、進めながら不足している情報を補完してください。
- ユーザーの問題: これは何の問題を解決しますか?誰がその問題を経験していますか?
- ターゲットユーザー: どのユーザーセグメントにサービスを提供しますか?
- 成功指標: これがうまくいったことをどのように判断しますか?
- 制約: 技術的な制約、タイムライン、規制要件、依存関係
- 先行事例: これまでに試みられたことはありますか?既存のソリューションはありますか?
3. 接続されたツールからのコンテキストの取得
~~プロジェクトトラッカーが接続されている場合:
- 関連するチケット、エピック、または機能を検索します
- 既存の要件や受け入れ基準を取り込みます
- 他の作業項目への依存関係を特定します
~~ナレッジベースが接続されている場合:
- 関連する調査文書、以前の仕様書、または設計文書を検索します
- 関連するユーザー調査結果を取り込みます
- 関連する会議メモや決定記録を見つけます
~~デザインが接続されている場合:
- 関連するモックアップ、ワイヤーフレーム、またはデザインの検討事項を取り込みます
- 機能に関連するデザインシステムコンポーネントを検索します
これらのツールが接続されていない場合は、ユーザーが提供する情報のみに基づいて作業します。ユーザーにツールの接続を依頼せず、利用可能な情報で作業を進めてください。
4. PRDの生成
以下のセクションを含む構造化されたPRDを作成します。各セクションに何を含めるべきかについては、以下の「PRDの構造」で詳細なガイダンスを参照してください。
- 問題提起: ユーザーの問題、影響を受ける人、解決しない場合の影響(2〜3文)
- 目標: ユーザーまたはビジネス指標に結びついた、具体的で測定可能な3〜5つの成果
- 非目標: 明示的にスコープ外とする3〜5つの事項と、それぞれの簡単な理由
- ユーザー物語: 標準形式(「[ユーザータイプ]として、[機能]を[メリット]のために利用したい」)、ペルソナごとにグループ化
- 要件: 必須(P0)、あると良い(P1)、将来の検討事項(P2)に分類し、それぞれに受け入れ基準を記載
- 成功指標: 先行指標(迅速に変化)と遅行指標(時間の経過とともに変化)を、具体的な目標とともに記載
- 未解決の質問: 誰が回答する必要があるかをタグ付けした未解決の質問(エンジニアリング、デザイン、法務、データ)
- タイムラインの考慮事項: 厳密な期限、依存関係、フェーズ分け
5. レビューと反復
PRDの生成後:
- ユーザーに、調整が必要なセクションがあるか尋ねます
- 特定のセクションを拡張することを提案します
- フォローアップの成果物(デザインブリーフ、エンジニアリングチケットの内訳、ステークホルダーへのピッチ)の作成を提案します
PRDの構造
問題提起
- ユーザーの問題を2〜3文で記述します
- 誰がこの問題を経験し、どのくらいの頻度で発生するか
- 解決しない場合のコスト(ユーザーの苦痛、ビジネスへの影響、競合リスク)
- ユーザー調査、サポートデータ、指標、顧客フィードバックなどの証拠に基づいて記述します
目標
- この機能が達成すべき、具体的で測定可能な3〜5つの成果
- 各目標は「これが成功したことをどのように判断するか?」に答えるべきです
- ユーザー目標(ユーザーが得るもの)とビジネス目標(会社が得るもの)を区別します
- 目標は成果であるべきであり、アウトプットではありません(「オンボーディングウィザードを構築する」ではなく「初回価値までの時間を50%短縮する」)
非目標
- この機能が明示的に行わない3〜5つのこと
- このバージョンではスコープ外となる隣接する機能
- 各非目標について、なぜスコープ外なのかを簡潔に説明します(十分な影響がない、複雑すぎる、別のイニシアチブ、時期尚早など)
- 非目標は、実装中のスコープクリープを防ぎ、ステークホルダーとの期待値を設定します
ユーザー物語
標準形式でユーザー物語を記述します:「[ユーザータイプ]として、[機能]を[メリット]のために利用したい」
ガイドライン:
- ユーザータイプは、意味のある程度に具体的であるべきです(単なる「ユーザー」ではなく「エンタープライズ管理者」など)
- 機能は、達成したいことを記述すべきであり、その方法ではありません
- メリットは「なぜ」を説明すべきです。どのような価値を提供するのか
- エッジケースを含めます:エラー状態、空の状態、境界条件
- 機能が複数のペルソナにサービスを提供する場合、異なるユーザータイプを含めます
- 優先順位順に並べます。最も重要な物語を最初に記述します
例:
- 「チーム管理者として、組織のSSOを設定し、チームメンバーが会社の認証情報でログインできるようにしたい」
- 「チームメンバーとして、会社のSSOログインに自動的にリダイレクトされ、別のパスワードを覚える必要がないようにしたい」
- 「チーム管理者として、どのメンバーがSSO経由でログインしたかを確認し、ロールアウトが機能していることを検証できるようにしたい」
要件
必須(P0): これらがなければ機能はリリースできません。これらは機能の最小実行可能バージョンを表します。「これを削除した場合、機能は依然としてコアな問題を解決しますか?」と問いかけます。いいえの場合、それはP0です。
あると良い(P1): エクスペリエンスを大幅に向上させますが、これらがなくてもコアなユースケースは機能します。これらは多くの場合、リリース後の迅速なフォローアップとなります。
将来の検討事項(P2): v1では明示的にスコープ外ですが、後でサポートできるように設計したいものです。これらを文書化することで、後で困難になるような偶発的なアーキテクチャ上の決定を防ぎます。
各要件について:
- 期待される動作を明確かつ曖昧さのない記述で記述します
- 受け入れ基準を含めます(下記参照)
- 技術的な考慮事項や制約を記載します
- 他のチームやシステムへの依存関係をフラグ付けします
未解決の質問
- 実装前または実装中に回答が必要な質問
- それぞれに、誰が回答すべきかをタグ付けします(エンジニアリング、デザイン、法務、データ、ステークホルダー)
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Write Spec
If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.
Write a feature specification or product requirements document (PRD).
Usage
/write-spec $ARGUMENTS
Workflow
1. Understand the Feature
Ask the user what they want to spec. Accept any of:
- A feature name ("SSO support")
- A problem statement ("Enterprise customers keep asking for centralized auth")
- A user request ("Users want to export their data as CSV")
- A vague idea ("We should do something about onboarding drop-off")
2. Gather Context
Ask the user for the following. Be conversational — do not dump all questions at once. Ask the most important ones first and fill in gaps as you go:
- User problem: What problem does this solve? Who experiences it?
- Target users: Which user segment(s) does this serve?
- Success metrics: How will we know this worked?
- Constraints: Technical constraints, timeline, regulatory requirements, dependencies
- Prior art: Has this been attempted before? Are there existing solutions?
3. Pull Context from Connected Tools
If ~~project tracker is connected:
- Search for related tickets, epics, or features
- Pull in any existing requirements or acceptance criteria
- Identify dependencies on other work items
If ~~knowledge base is connected:
- Search for related research documents, prior specs, or design docs
- Pull in relevant user research findings
- Find related meeting notes or decision records
If ~~design is connected:
- Pull related mockups, wireframes, or design explorations
- Search for design system components relevant to the feature
If these tools are not connected, work entirely from what the user provides. Do not ask the user to connect tools — just proceed with available information.
4. Generate the PRD
Produce a structured PRD with these sections. See PRD Structure below for detailed guidance on what each section should contain.
- Problem Statement: The user problem, who is affected, and impact of not solving it (2-3 sentences)
- Goals: 3-5 specific, measurable outcomes tied to user or business metrics
- Non-Goals: 3-5 things explicitly out of scope, with brief rationale for each
- User Stories: Standard format ("As a [user type], I want [capability] so that [benefit]"), grouped by persona
- Requirements: Categorized as Must-Have (P0), Nice-to-Have (P1), and Future Considerations (P2), each with acceptance criteria
- Success Metrics: Leading indicators (change quickly) and lagging indicators (change over time), with specific targets
- Open Questions: Unresolved questions tagged with who needs to answer (engineering, design, legal, data)
- Timeline Considerations: Hard deadlines, dependencies, and phasing
5. Review and Iterate
After generating the PRD:
- Ask the user if any sections need adjustment
- Offer to expand on specific sections
- Offer to create follow-up artifacts (design brief, engineering ticket breakdown, stakeholder pitch)
PRD Structure
Problem Statement
- Describe the user problem in 2-3 sentences
- Who experiences this problem and how often
- What is the cost of not solving it (user pain, business impact, competitive risk)
- Ground this in evidence: user research, support data, metrics, or customer feedback
Goals
- 3-5 specific, measurable outcomes this feature should achieve
- Each goal should answer: "How will we know this succeeded?"
- Distinguish between user goals (what users get) and business goals (what the company gets)
- Goals should be outcomes, not outputs ("reduce time to first value by 50%" not "build onboarding wizard")
Non-Goals
- 3-5 things this feature explicitly will NOT do
- Adjacent capabilities that are out of scope for this version
- For each non-goal, briefly explain why it is out of scope (not enough impact, too complex, separate initiative, premature)
- Non-goals prevent scope creep during implementation and set expectations with stakeholders
User Stories
Write user stories in standard format: "As a [user type], I want [capability] so that [benefit]"
Guidelines:
- The user type should be specific enough to be meaningful ("enterprise admin" not just "user")
- The capability should describe what they want to accomplish, not how
- The benefit should explain the "why" — what value does this deliver
- Include edge cases: error states, empty states, boundary conditions
- Include different user types if the feature serves multiple personas
- Order by priority — most important stories first
Example:
- "As a team admin, I want to configure SSO for my organization so that my team members can log in with their corporate credentials"
- "As a team member, I want to be automatically redirected to my company's SSO login so that I do not need to remember a separate password"
- "As a team admin, I want to see which members have logged in via SSO so that I can verify the rollout is working"
Requirements
Must-Have (P0): The feature cannot ship without these. These represent the minimum viable version of the feature. Ask: "If we cut this, does the feature still solve the core problem?" If no, it is P0.
Nice-to-Have (P1): Significantly improves the experience but the core use case works without them. These often become fast follow-ups after launch.
Future Considerations (P2): Explicitly out of scope for v1 but we want to design in a way that supports them later. Documenting these prevents accidental architectural decisions that make them hard later.
For each requirement:
- Write a clear, unambiguous description of the expected behavior
- Include acceptance criteria (see below)
- Note any technical considerations or constraints
- Flag dependencies on other teams or systems
Open Questions
- Questions that need answers before or during implementation
- Tag each with who should answer (engineering, design, legal, data, stakeholder)
- Distinguish between blocking questions (must answer before starting) and non-blocking (can resolve during implementation)
Timeline Considerations
- Hard deadlines (contractual commitments, events, compliance dates)
- Dependencies on other teams' work or releases
- Suggested phasing if the feature is too large for one release
User Story Writing
Good user stories are:
- Independent: Can be developed and delivered on their own
- Negotiable: Details can be discussed, the story is not a contract
- Valuable: Delivers value to the user (not just the team)
- Estimable: The team can roughly estimate the effort
- Small: Can be completed in one sprint/iteration
- Testable: There is a clear way to verify it works
Common Mistakes in User Stories
- Too vague: "As a user, I want the product to be faster" — what specifically should be faster?
- Solution-prescriptive: "As a user, I want a dropdown menu" — describe the need, not the UI widget
- No benefit: "As a user, I want to click a button" — why? What does it accomplish?
- Too large: "As a user, I want to manage my team" — break this into specific capabilities
- Internal focus: "As the engineering team, we want to refactor the database" — this is a task, not a user story
Requirements Categorization
MoSCoW Framework
- Must have: Without these, the feature is not viable. Non-negotiable.
- Should have: Important but not critical for launch. High-priority fast follows.
- Could have: Desirable if time permits. Will not delay delivery if cut.
- Won't have (this time): Explicitly out of scope. May revisit in future versions.
Tips for Categorization
- Be ruthless about P0s. The tighter the must-have list, the faster you ship and learn.
- If everything is P0, nothing is P0. Challenge every must-have: "Would we really not ship without this?"
- P1s should be things you are confident you will build soon, not a wish list.
- P2s are architectural insurance — they guide design decisions even though you are not building them now.
Success Metrics Definition
Leading Indicators
Metrics that change quickly after launch (days to weeks):
- Adoption rate: % of eligible users who try the feature
- Activation rate: % of users who complete the core action
- Task completion rate: % of users who successfully accomplish their goal
- Time to complete: How long the core workflow takes
- Error rate: How often users encounter errors or dead ends
- Feature usage frequency: How often users return to use the feature
Lagging Indicators
Metrics that take time to develop (weeks to months):
- Retention impact: Does this feature improve user retention?
- Revenue impact: Does this drive upgrades, expansion, or new revenue?
- NPS / satisfaction change: Does this improve how users feel about the product?
- Support ticket reduction: Does this reduce support load?
- Competitive win rate: Does this help win more deals?
Setting Targets
- Targets should be specific: "50% adoption within 30 days" not "high adoption"
- Base targets on comparable features, industry benchmarks, or explicit hypotheses
- Set a "success" threshold and a "stretch" target
- Define the measurement method: what tool, what query, what time window
- Specify when you will evaluate: 1 week, 1 month, 1 quarter post-launch
Acceptance Criteria
Write acceptance criteria in Given/When/Then format or as a checklist:
Given/When/Then:
- Given [precondition or context]
- When [action the user takes]
- Then [expected outcome]
Example:
- Given the admin has configured SSO for their organization
- When a team member visits the login page
- Then they are automatically redirected to the organization's SSO provider
Checklist format:
- [ ] Admin can enter SSO provider URL in organization settings
- [ ] Team members see "Log in with SSO" button on login page
- [ ] SSO login creates a new account if one does not exist
- [ ] SSO login links to existing account if email matches
- [ ] Failed SSO attempts show a clear error message
Tips for Acceptance Criteria
- Cover the happy path, error cases, and edge cases
- Be specific about the expected behavior, not the implementation
- Include what should NOT happen (negative test cases)
- Each criterion should be independently testable
- Avoid ambiguous words: "fast", "user-friendly", "intuitive" — define what these mean concretely
Scope Management
Recognizing Scope Creep
Scope creep happens when:
- Requirements keep getting added after the spec is approved
- "Small" additions accumulate into a significantly larger project
- The team is building features no user asked for ("while we're at it...")
- The launch date keeps moving without explicit re-scoping
- Stakeholders add requirements without removing anything
Preventing Scope Creep
- Write explicit non-goals in every spec
- Require that any scope addition comes with a scope removal or timeline extension
- Separate "v1" from "v2" clearly in the spec
- Review the spec against the original problem statement — does everything serve it?
- Time-box investigations: "If we cannot figure out X in 2 days, we cut it"
- Create a "parking lot" for good ideas that are not in scope
Output Format
Use markdown with clear headers. Keep the document scannable — busy stakeholders should be able to read just the headers and bold text to get the gist.
Tips
- Be opinionated about scope. It is better to have a tight, well-defined spec than an expansive vague one.
- If the user's idea is too big for one spec, suggest breaking it into phases and spec the first phase.
- Success metrics should be specific and measurable, not vague ("improve user experience").
- Non-goals are as important as goals. They prevent scope creep during implementation.
- Open questions should be genuinely open — do not include questions you can answer from context.