productspec について
productspec は、ソフトウェアの計画と実装で Product Spec を契約として扱うためのエージェントスキルです。作業を受け入れ条件に対応付け、製品意図を保ち、証拠と完了状況を確認する方法を示します。
主な機能
- 01計画や実装の前に仕様を確認
- 02タスクを受け入れ条件に対応付け
- 03スコープと依存関係を遵守
- 04意図の変更を明示的に処理
- 05証拠と完了状況を確認
活用シーン
- 01仕様に沿った実装計画の作成
- 02着手可能な仕様と依存関係の特定
- 03コードと製品意図の衝突への対応
- 04証拠を添えた進捗報告
MCP 対応
ProductSpec MCP が利用可能な場合、計画や報告時に begin_spec_session、check_spec_session、get_spec_graph、get_evidence_checklist などのツールを使うよう案内します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gokulrajaram/ productspec --skill productspecインストール後、Claude Code で/productspecを入力して読み込まれたか確認します。
詳細
ProductSpec エージェントスキル
Product Spec は、重大なソフトウェア開発における製品の契約です。
リポジトリで Agent Run ファイルを使用している場合は、固定された Product Spec リビジョンに基づく、1 回のエージェント実行の記録として扱ってください。
計画、コーディング、テスト、スコープ変更を行う前に、リポジトリ内で関連する .product-spec.md ファイルを探してください。よくある配置場所は次のとおりです。
specs/product-specs/docs/product-specs/- タスク、issue、プルリクエスト、またはエンジニアリング仕様で指定されたパス
関連する Product Spec がある場合は、作業を始める前に読んでください。
Product Spec の使い方
次の順序で各セクションを読んでください。
Problem:誰が困っているのか、そしてその作業がなぜ重要なのか。Hypothesis:製品の因果関係に関する仮説。Product Summary:作業完了時に実現しているべきこと。Scope:対象、対象外、意図的に見送ったもの。Acceptance Criteria:AI 評価が含まれる場合はそれも含む、ビルドの契約。Success Metrics:リリース後の成果を確認する指標。Related Artifacts:作業が依存する issue、プルリクエスト、評価実行、ダッシュボード、デザイン、エンジニアリング仕様、その他の Product Spec。
Acceptance Criteria はビルドの契約です。計画、タスク、コード変更、テスト、プルリクエストの概要には、該当する AC-<number> ID を記載してください。
AI 評価は Acceptance Criteria に含まれるリリース前のゲートであり、独立した ## AI Evals セクションではありません。モデルの動作を実装または変更する際は、EVAL-<number> を記載してください。
Success Metrics はリリース後の成果です。SM-<number> の項目を実装タスクとして扱わないでください。
計画のルール
実装計画を作成する際は、次の点に従ってください。
- 実装対象の Product Spec と
spec_revisionを記載してください。 - ProductSpec MCP が利用可能な場合は、計画の前に
begin_spec_sessionを呼び出し、返されたspec_revisionとセッション ID を計画に含めてください。 - 各タスクを該当する Acceptance Criteria に対応付けてください。
- 計画で対応しない Acceptance Criteria を明記してください。
scope.outとscope.cutは明示的な非目標として扱ってください。applies_toとRelated Artifactsを使って、関連するコード、issue、プルリクエスト、デザイン、評価、ダッシュボードを特定してください。- 計画を立てる前に、
product_spec関連アーティファクトを解決してください。depends_onの対象がまだビルドされていない仕様はブロックされており、実装できません。計画には、何を待つ必要があるかを記載してください。 - 仕様がまとめられたフォルダーについては、すべての仕様を読み直して依存関係を導き出す代わりに、
productspec graph <dir> --json(またはget_spec_graphMCP ツール)を実行して、ビルド可能な仕様、各仕様の待機対象を示すブロック中の仕様、依存関係を考慮したビルド順を 1 回の呼び出しで取得してください。 - Product Specs、Agent Runs、Decision Traces、エビデンスリンクがあるリポジトリでは、作業を選ぶ前に
productspec garden <repo> --jsonを実行してください。これを使って、エビデンスの欠落、古いリビジョンの固定、実行の不足、Decision Trace の不足、スコープ未確定の仕様、競合、作業ウェーブを確認してください。 - 別のエージェントが同じフォルダーで作業している可能性がある場合は、同じ呼び出し結果から
contentionとwavesを確認してください。同じ領域に触れる 2 つの仕様は、どちらもビルド可能であっても同時にビルドしてはいけません。現在のウェーブから作業を選び、unscopedに記載された仕様は安全なスコープではなく、スコープ不明として扱ってください。 RESOLVE-IN-PLAN:マーカーは、未解決の技術的な紐付けとして扱ってください。コーディング前に、ソースを引用してコードベース内で各マーカーを解決してください。- 推測したテーブル名、フィールド、エンドポイント、サービス、ファイルパスを、拘束力のある指示であるかのように実装しないでください。
変更のルール
製品の意図を黙って変更しないでください。
実装上の制約が Product Spec と衝突する場合は、その衝突を明示し、次のいずれかを提案してください。
- Product Spec を更新する
- 実装を更新する
- トレードオフを受け入れ、Decision Trace に記録する
- 作業を再開する
実装後に動作を変更する場合は、コードの乖離を意図として扱うのではなく、Product Spec のリビジョンまたは Decision Trace への記録を提案してください。
出力ルール
進捗を報告するとき、またはプルリクエストを作成するときは、次のルールに従ってください。
- ProductSpec MCP が利用可能な場合は、まず
check_spec_sessionを呼び出します。Product Spec が変更されていた場合は、完了を宣言する前に再読し、計画を立て直してください。 - ProductSpec MCP が利用可能な場合は、
get_evidence_checklistを呼び出し、該当するAC-とEVAL-の ID について、根拠を添付するか、根拠の名前を示してください。 - リポジトリで Agent Run ファイルを使用している場合は、
draft_agent_runを呼び出すか、productspec init-run <spec> <agent-run>を実行して記録を作成します。その後、確認済みのAC-、EVAL-、SM-の ID、根拠へのリンク、ドリフトの状態、完了宣言を記入してください。productspec validate-runで検証します。 - 完了を宣言する前に、ローカル CLI が利用可能な場合は
productspec reconcile <spec> --against <agent-run>を実行します。未確認の項目、失敗した項目、古い仕様のリビジョン、根拠のない合格項目、Decision Trace のないドリフトを修正してから、作業の完了を宣言してください。 - Product Spec のパスと
spec_revisionを明記します。 - 対応した Acceptance Criteria を明記します。
- 追加または変更した AI 評価を明記します。
- 意図的に先送りしたスコープ項目を明記します。
- 関連する課題、プルリクエスト、評価の実行結果、ダッシュボードが利用可能な場合は、それらへのリンクを記載します。