From product-skills
Creates or revises feature specification documents (spec.md) with REQ-# traceability IDs for adding features to existing products. Investigates existing code and specs, then produces a spec with acceptance criteria.
How this skill is triggered — by the user, by Claude, or both
Slash command
/product-skills:feature-spec [対象名][対象名]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
既存プロダクトへ機能を足すときの **仕様書 1 本** を作る単機能スキル。成果物は
既存プロダクトへ機能を足すときの 仕様書 1 本 を作る単機能スキル。成果物は
docs/dev/<対象>/spec.md で、全機能要求に一意 ID(REQ-#)を付ける。この ID は
下流のテスト工程・設計工程・レビュー工程が参照する トレーサビリティ鎖の上流起点 になる。
| product-spec | feature-spec(本スキル) | |
|---|---|---|
| 対象 | 新規プロダクトの立ち上げ | 既存プロダクトへの機能追加 |
| 調査の軸 | 競合・類似プロダクト調査(市場に何があるか) | 既存コード・既存仕様との整合調査(自分たちの中に何があるか) |
| 成果物 | 軽量ワンページの仕様ドラフト | REQ-# 契約を持つ spec.md |
| ID 契約 | なし | あり(REQ-# / AC-#) |
新規プロダクトのコンセプト固めなら /product-spec を使う。本スキルは
「動いているプロダクトがあり、そこへ機能を足す」場面専用で、競合調査の枠を
既存資産との整合調査 に置き換えている。
/basic-design
の領分。仕様は「何を満たすか」まで、設計は「どう実現するか」。docs/test/<対象>/ 配下は testing スキル群の担当。
改訂モードでテスト成果物の改善提案を 読む ことはあるが、その提案の削除・更新はしない
(testing 側の横断原則が担う)。docs/dev/<対象>/spec.md。<対象> は機能を表す kebab-case の
短い名前(英数字・ハイフンへ正規化)。CLAUDE.md / AGENTS.md 等)に成果物の配置規約があればそちらを優先する。docs/dev/definition-of-done.md(完成の定義。受け入れ条件の粒度合わせに使う)docs/test/<対象>/ 配下のテスト成果物(改訂モードの改善提案の収集元)AskUserQuestion(推奨案を先頭)で確認する。
本スキルでは スコープの線引き・要求の取捨選択・優先度・改訂提案の採否 がこれに当たる。ゲート(機械検査)は形式契約しか見ない。曖昧さの排除は書き手の責任 であり、 以下を仕様文から排する:
各要求は 「この文を読んだ第三者がテストケースを書けるか」 を通過基準にする。 書けないなら分割するか、条件を足す。
references/ に置く。references/template.md(spec.md の雛形)。docs/dev/shift-left-process/spec.md は本テンプレの先行適用
(dogfooding)であり、実寸の記入例として読める。この契約は本スキルの成果物が満たすべき 形式 であり、下流工程の機械検査が検証する。
### REQ-01: <名称> の見出し + 箇条書き。番号は 2 桁ゼロ埋め、
一意・連番・欠番なし。1 要求 1 見出しで、複数の要求を 1 見出しに詰めない。| ID | 対象 | 条件 | のテーブル。ID は AC-01 形式、
対象列に必ず REQ-# を書く(1 つの AC が複数要求にまたがるなら REQ-09/10 のように併記)。NFR-01 形式。機能要求と ID 空間を分ける。REQ-# → テスト条件 TC-# → テストケース CASE-# → 欠陥 D#。
下流成果物が REQ-# を参照するため、既存 ID の意味変更・削除は下流の参照を壊す。引数は <対象名>。省略されたら docs/dev/ 配下の既存ディレクトリを一覧して選択を求めるか、
新規なら一言で対象を確認する。
docs/dev/<対象>/spec.md の存在で 作成モード(無い)と 改訂モード(ある)に分岐する。
grilling スキルを呼び出し、渡された対象名・依頼内容を起点に対話で要求の芯を固める。
呼び出し時の brief には、少なくとも以下のトピックを必ずカバーすることを明記する:
grilling の対話で合意に達するまで次の手順へ進まない。合意内容はメインセッションが 「要求要約」として簡潔にまとめて引き継ぐ(grilling 自体はドキュメントを生成しないため)。
要求要約をもとに、リポジトリを調査して以下を洗い出す。利用者に訊く前に自分で調べる。
調査結果は要約して提示する(ファイル一覧の羅列ではなく、判断に効く所見にまとめる)。
references/template.md の構成でドラフトを作り、承認後に
docs/dev/<対象>/spec.md へ書き込む。必須セクションは
目的 / スコープ / 機能要求 / 非機能要求 / 受け入れ条件 / スコープ外 の 6 つ。
REQ-# 契約に従って付番する。REQ-# を参照する。要求に紐づかない AC を作らない。後述の「セルフ機械検査」を実行し、NG があればその場で直してから完了宣言する。
既存の docs/dev/<対象>/spec.md を検出したら改訂モードに入る。
以下の入力源を横断して、まだ仕様へ反映されていない 指摘・提案を集める。 入力源は疎結合で、どれか 1 つでもあれば成立する:
docs/test/<対象>/ 配下のテスト成果物の「改善提案」セクション
(test-analysis.md / test-design.md / test-plan.md 等)docs/test/<対象>/test-review-*.md の「未解消の指摘」既に現行 spec.md へ反映済みの提案は候補から外す(二重反映を防ぐ)。
収集した提案を一覧で提示し、AskUserQuestion(推奨案を先頭)で採否を確認する。
提案が多いときは論点ごとに分けて訊く。各提案には「反映すると REQ-# がどう変わるか」
(追加 / 条件の変更 / 削除)を添える。
採用された提案だけを spec.md へ反映する。
REQ-# は追番。既存の最大番号の次から採番する。TC-# の参照先を silently 壊す。内容が別物になるなら 新しい ID を採る。REQ-# を参照していると 孤児参照 になり、
セルフ機械検査(下流参照の破壊検査)で FAIL する。落とすなら下流成果物側の更新が要る。作成モードと同じ(下記)。
終了前に、test-review の決定論スクリプトを spec モードで自分に対して実行する。
<review-check.sh のパス> spec docs/dev/<対象> [docs/test/<対象>]
docs/dev/<対象>)。docs/dev/<対象> から
docs/test/<対象> を自動導出する)。REQ-# の一意性・形式・重複欠番 /
受け入れ条件の空欄と REQ-# 紐づけ / 下流参照の破壊検査(既存 test-analysis.md の
TC-# が参照する REQ-# を仕様改訂で消していないか = 孤児参照検出)。次の順で探し、最初に見つかったものを使う:
skills/testing/test-review/scripts/review-check.sh~/.claude/plugins/ 配下等。プラグインの配置は環境で変わるため実在確認をしてから使う)どちらにも無ければ検査をスキップし、その旨を利用者へ明示する(例:
「review-check.sh が見つからないためセルフ機械検査をスキップした。testing-skills を
install するか、/test-review <対象> spec で別途ゲートを通してほしい」)。
スクリプトの不在を理由に仕様作成を失敗させない(原則 1: graceful degradation)。
NG は形式契約の違反であり事実なので、利用者判定を待たずにその場で直す。 直したら再実行して NG ゼロを確認する。SKIP(突合先の成果物が無い等)は問題ではない。
以下を全て満たしたら 「<対象> の仕様は完了」と明言 して閉じる。満たしていない項目が あれば、何が残っているかを列挙して先へ進めない。
docs/dev/<対象>/spec.md が規約パスへ書き込み済みで、必須 6 セクションを持つ。REQ-# が付き、受け入れ条件の各行が REQ-# を参照している。完了後の次の一手として、以下を 提案するに留める(本スキルは実行しない):
/test-review <対象> spec/test-plan <対象> / /test-analyze <対象>/basic-design <対象>REQ-# で一意識別する。AC-#。npx claudepluginhub yasunori0418/skills --plugin product-skillsGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.