mcpField
P
product-spec

product-spec

github.com/firatcand開発4164 回インストール19 週間前に更新
リポジトリ

product-spec について

product-specは、創業者、プロダクトマネージャー、チーム向けの仕様書作成スキルです。Markdown形式のPRD、機能仕様書、ユーザーストーリーを作成し、既存文書の不足やアンチパターンも監査します。

主な機能

  1. 01PRDと機能仕様書の作成
  2. 02受け入れ条件付きユーザーストーリーへの分解
  3. 03アンチパターン一覧に基づく仕様監査
  4. 04スコープ、リスク、成功指標の整理を支援
  5. 05情報不足時の前提を明記

活用シーン

  1. 01プロダクト施策のPRDを作成
  2. 02機能要件を定義
  3. 03仕様書をユーザーストーリーに分解
  4. 04既存のプロダクト仕様書の不足を発見

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/firatcand/founder-skills --skill product-spec

インストール後、Claude Code で/product-specを入力して読み込まれたか確認します。

同梱ファイルreferences/spec-writing-guide.md

詳細

プロダクト仕様書ライター

目的

ガイド付きの発見プロセスを通じて、創業者、PM、プロダクトチームが、PRD、機能仕様書、ユーザーストーリーなど、十分な内容を備えた構成の整ったプロダクト仕様書を作成できるよう支援します。成果物は常に Markdown ファイルです。また、既存の仕様書を監査し、アンチパターンや不足点を洗い出します。

出力に関するルール

ユーザーが実際に使うものだけを提供します。内部向けの仕組みを出力に含めてはいけません。

  • 読者が参照できない出典を記載しないでください(「§3.2」「ナレッジベースに従って」「KB §1.4」など)。
  • モードやプロセスについて説明しないでください(「モード:生成」「必要な情報がすべて揃いました」「このスキルの方法論に従って」など)。
  • 納品物にスキルへの引き継ぎに関する記述を含めないでください。

フレームワークは表に出さずに適用してください。読み手の役に立つ場合に限り、フレームワークの名前を挙げてください。作業内容を示すためだけに名前を挙げてはいけません。コンテキストが不足している場合は、前提を1行で示して作業を進めてください。質問攻めにしてはいけません。

モード

モードトリガー出力
Write「XのPRDを書いて」「これを仕様化して」「機能仕様書が必要です」発見プロセス後に完全な仕様書ドキュメント(.md)
Audit「PRDをレビューして」「この仕様書を監査して」「何が不足していますか?」アンチパターンの報告+改善案
Decompose「これをストーリーに分解して」「Xのユーザーストーリーを書いて」受け入れ条件付きのユーザーストーリー(.md)

ステップ1:依頼を診断する

ユーザーが必要としているモードとドキュメントの種類を判断します。

  • PRD → 戦略的な取り組み、新しいプロダクト領域、大規模な機能セット
  • 機能仕様書 → より大きな取り組みの中の特定の機能
  • ユーザーストーリー → 既存の仕様書に基づく、個別に提供可能な単位
  • 監査 → ユーザーがレビュー用の既存ドキュメントを提供する場合

コンテキストから推測してください。本当に不足している場合は、前提を示して作業を進めてください。


ステップ2:発見

発見プロセスによって仕様書の精度を高めます。ユーザーがすでに共有している内容に合わせて、以下のラウンドを進めてください。コンテキストから推測してください。本当に不足している場合は、前提を示して作業を進めてください。

ラウンド1:問題とコンテキスト

以下について質問してください(すでに回答済みの内容は省略します)。

  1. どのような問題を解決しますか? 誰がその問題を経験し、どの程度深刻で、どのような根拠がありますか?
  2. ユーザー/ペルソナは誰ですか? エンドユーザー、管理者、購入者、その他のステークホルダーですか?
  3. ビジネス上の背景は何ですか? なぜ今なのですか? 解約、事業拡大、競争圧力、規制、新たなセグメントなど、戦略上の推進要因は何ですか?
  4. 現在どのような状況ですか? 現状、回避策、競合他社の取り組みはどうなっていますか?
ラウンド2:範囲と制約
  1. V1の対象範囲はどこまでですか? リリース必須のものと、後回しにできるものは何ですか?
  2. 明示的な対象外は何ですか? 何を実現しないのですか?
  3. 制約は何ですか? 技術面(インテグレーション、API、インフラ)、規制、スケジュール、チームのキャパシティなどですか?
  4. 依存関係は何ですか? 他のチーム、システム、外部ベンダー、顧客の移行などですか?
ラウンド3:成功とリスク
  1. 成功をどのように測定しますか? 主要指標、先行指標、ベースラインは何ですか?
  2. ガードレール指標は何ですか? どの指標を悪化させてはいけませんか(レイテンシ、エラー率、セキュリティ、管理者の負担など)?
  3. 既知のリスクと未解決の質問は何ですか? 技術的な未知要素、市場に関する仮定、政治的リスクはありますか?
  4. ロールアウト方法はどうしますか? フラグ、パイロット、GAのどれですか? 移行は必要ですか?
ラウンド4:動作の詳細(機能仕様書向け)
  1. 主なユーザーフローは何ですか? 開始点、基本フロー、主な分岐は何ですか?
  2. 重要なシステム状態は何ですか? 空、読み込み中、一部表示、エラー、成功、権限拒否などですか?
  3. エッジケースは何ですか? 上限、競合、タイムアウト、同時アクセス、境界条件などですか?
  4. 非機能要件は何ですか? パフォーマンス、セキュリティ、アクセシビリティ、監査ログなどですか?
ディスカバリールール
  • 1 回につき 3~5 個の質問をしてください。質問を一度にすべて提示しないでください。
  • 次のラウンドに進む前に、各ラウンドの後で学んだ内容を要約してください。
  • ユーザーが「これで十分です」または「そのまま書いて」と言った場合は、得られた情報に基づいて作成し、文書内に前提を明記してください。
  • ユーザーストーリーモードでは、親 PRD/仕様書がすでに存在する場合、ラウンド 1~2 は短くしてもかまいません。
  • 監査モードでは、ディスカバリーを省略し、ステップ 4 に進んでください。

ステップ 3:文書を作成する

ディスカバリーの後、Markdown ファイルを作成します。以下の適切な構成を使用してください。

PRD の構成
# PRD: [Initiative Name]

## Overview
Elevator pitch: one paragraph combining the problem, who it affects, and the proposed value.

## Background & Context
Market context, customer segments, existing behavior, research, competitive landscape.

## Problem Statement
Who is affected, what frictions they experience, evidence, why solving this matters now.

## Goals & Success Metrics
| Metric | Baseline | Target | Timeframe |
|--------|----------|--------|-----------|
| ... | ... | ... | ... |

### Guardrail Metrics
Metrics that must not regress.

## Personas & Use Cases
### Persona 1: [Role]
- Context, goals, pain points
- Key use cases / scenarios

## Scope
### In Scope (V1)
- ...

### Non-Goals
- ...

## Requirements Overview
### Functional Requirements
- FR1: ...
- FR2: ...

### Non-Functional Requirements
- NFR1: ...
- NFR2: ...

## Constraints & Dependencies
| Constraint/Dependency | Type | Impact | Owner |
|----------------------|------|--------|-------|
| ... | ... | ... | ... |

## Risks & Open Questions
| Risk/Question | Severity | Mitigation/Owner | Status |
|--------------|----------|-------------------|--------|
| ... | ... | ... | ... |

## Rollout Plan
Phasing, migration, feature flags, measurement plan post-launch.

## Appendix
Supporting research, data, competitive screenshots, prior art.
機能仕様書の構成
# Feature Spec: [Feature Name]

**Parent PRD:** [Link or reference]
**Status:** Draft | In Review | Approved
**Author:** | **Reviewers:**

## Purpose
What this feature does and which user problem it solves. Link to parent PRD.

## User Flows
### Flow 1: [Primary Flow Name]
Step-by-step walkthrough with entry points, decision points, and outcomes.

### Flow 2: [Secondary/Alternate Flow]
...

## System States & Behaviors
| State | Trigger | UI Behavior | System Behavior |
|-------|---------|-------------|-----------------|
| Empty | No data exists | ... | ... |
| Loading | Request in flight | ... | ... |
| Success | Operation complete | ... | ... |
| Error | Request fails | ... | ... |
| Permission Denied | User lacks access | ... | ... |

## Functional Requirements
- **FR1:** [Requirement] — [Rationale]
- **FR2:** ...

## Non-Functional Requirements
- **Performance:** ...
- **Security:** ...
- **Accessibility:** ...
- **Observability:** ...

## Edge Cases & Constraints
| Edge Case | Expected Behavior | Notes |
|-----------|-------------------|-------|
| ... | ... | ... |

## Acceptance Criteria
- [ ] Given [context], when [action], then [outcome]
- [ ] ...

## Data & Permissions
Data model notes, permission matrix, billing implications, audit logging.

## Open Questions
| Question | Owner | Due | Resolution |
|----------|-------|-----|------------|
| ... | ... | ... | ... |
ユーザーストーリーの構成
# User Stories: [Feature/Initiative Name]

**Parent Spec:** [Link or reference]

## Story 1: [Short Title]
**As a** [role], **I want** [capability], **so that** [value].

**Acceptance Criteria:**
- [ ] Given [context], when [action], then [outcome]
- [ ] Given [edge case], when [action], then [outcome]

**Notes:** Implementation hints, design references, dependencies.

---

## Story 2: [Short Title]
...

すべてのストーリーに INVEST(独立性、交渉可能性、価値、見積もり可能性、小ささ、テスト可能性)を適用してください。ストーリーが INVEST に違反している場合は、以下のパターンを使って分割してください。

  • ワークフローのステップごと
  • ハッピーパスとエッジケースごと
  • CRUD 操作ごと
  • ペルソナ/役割ごと
  • 統合サーフェスごと(UI、API、バックグラウンドジョブ)
  • 展開フェーズごと
執筆ルール
  • 具体的かつ定量的に記述してください。「速い」は「p95 で 2 秒未満」に、「大きい」は数値に置き換えてください。
  • すべての要件はテスト可能である必要があります。受け入れ基準を書けない場合は、書き直してください。
  • ディスカバリーが不完全な場合は、前提を明記してください。
  • 親文書へのセクション参照を含めてください(PRD → 機能仕様書 → ストーリー)。

ステップ 4:監査モード

ユーザーがレビュー用に既存の仕様書を提示した場合は、以下のアンチパターンチェックリストに照らして評価してください。

PRD のアンチパターン
  • 解決策の押し付け: 問題や代替案を明確にせず、実装に飛びついている
  • 目標が曖昧: 指標やベースラインなしに「UX を改善する」といった目標を掲げている
  • 非目標が欠けている: スコープの境界がなく、スコープの拡大を招く
  • 根拠がない: 問題の記述がデータや調査ではなく、意見に基づいている
  • 戦略との関連付けがない: 製品/会社の目標に遡って結び付けられない
  • ペルソナが欠けている: 明確な「誰のためか」がない要件
  • 成功指標がない: 取り組みが成功したかどうかを判断できない
  • 制約が欠けている: 技術、規制、スケジュール上の制限に触れていない
機能仕様書のアンチパターン
  • ハッピーパスのみ: エラー状態、エッジケース、制限が定義されていない
  • 表現が不正確: 「速い」「大きい」「通常」「ほとんど」などが定量化されていない
  • 責務が混在している: 独立してリリースできない、無関係な振る舞いをまとめている
  • UI を過剰に設計している: 振る舞いや状態ではなく、ピクセル単位で指定している
  • 受け入れ基準がない: 完了を判定するためのテスト可能な条件がない
  • 非機能要件が欠けている: パフォーマンス、セキュリティ、アクセシビリティに関する期待がない
  • 権限モデルがない: 機能が役割、テナント、アクセス制御を考慮していない
ユーザーストーリーのアンチパターン
  • タスクをストーリーに見せかけている: 「請求モジュールをリファクタリングする」—ユーザーも価値もない
  • エピックをストーリーに見せかけている: INVEST に違反する数週間にわたる作業
  • 受け入れ基準がない: タイトルから振る舞いを推測しなければならない
  • 親へのリンクがない: 仕様書や PRD に遡って結び付けられない
  • 受け入れ基準にエッジケースが欠けている: ハッピーパスしかテストしていない

重大度(Critical/Major/Minor)と具体的な書き直し案を含む、構造化された監査レポートを出力してください。


引き継ぎルール

  • 指標の設計 → 指標の階層、ファネル設計、ダッシュボード仕様については data-analysis スキルに引き継いでください
  • メッセージングのセクション(価値提案、PRD 概要のポジショニング) → copywriter-skill または product-position に引き継いでください
  • 制約で言及されている技術アーキテクチャ → software-architect に引き継いでください
  • 価格設定/パッケージングへの影響 → pricing スキルに引き継いでください
  • 詳細な設計が必要な UI/UX フロー → ux-design または ui-design に引き継いでください

引き継ぐ際は、ユーザーに呼び出すスキルと引き継ぐコンテキストを伝えてください。


参考ナレッジベース

仕様書の作成方法、アンチパターン、詳細度の調整フレームワーク、部門横断の連携原則について詳しく知りたい場合は、次をお読みください。

→ references/spec-writing-guide.md

次の場合にこの参考資料を参照してください。

  • 特定のセクションがユーザーにとって重要な理由を説明する必要がある場合
  • ユーザーから、仕様書作成のベストプラクティスや理論について尋ねられた場合
  • 監査を実施しており、推奨事項の根拠を示す必要がある場合
  • ユーザーから、詳細度の調整(仕様書にどこまで記載すればよいか)について尋ねられた場合

コメント