create-epics について
アーキテクチャモジュールごとに範囲を定めた開発エピックを定義し、プロジェクトのエピック文書と索引に記録するスキルです。GDD、ADR、アーキテクチャ資料を使い、エピックごとに確認を求めます。ストーリーは作成しません。
主な機能
- 01システムまたはレイヤー単位で範囲を設定
- 02GDD、ADR、設計資料に基づくエピック定義
- 03エピックごとの提示と確認
- 04EPIC.mdと索引の更新
- 05既存ストーリー情報を保持し上書きを防止
活用シーン
- 01アーキテクチャレイヤーの開発作業を分割
- 02承認済み設計に基づくエピック文書の作成
- 03後続のcreate-storiesワークフロー向けに準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ donchitos/ claude-code-game-studios --skill create-epicsインストール後、Claude Code で/create-epicsを入力して読み込まれたか確認します。
同梱ファイルCONTRACT.mdreferences/pr-epic-gate.md
詳細
!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys review_mode,review_gate,automation,workflow,docs.density,engine_values,system_overrides
上記で解決済みです。そのまま使用してください。--review は review_mode を上書きします。ブロックがない場合は →
.claude/docs/config-resolution.md のデフォルトを使用します。
質問ツールで質問してください。質問ツールがない場合は、選択肢に番号を付けて列挙し、ユーザーの回答を待つためにターンを終了してください。質問がスキップまたは却下されても回答とは見なさず、プレーンテキストでもう一度質問してください。
エピックの作成
エピックとは、1 つのアーキテクチャモジュールに関する範囲の明確な作業単位です。何を構築するのか、そしてどの決定に従うのかを定めます。構築方法はストーリーで扱います。開発がそのレイヤーに到達した段階で、レイヤーごとに一度実行してください。Core がほぼ完成する前に作成した Feature エピックは、すでに変更されている設計を記述することになります。
書き込み先: 各エピックの production/epics/[epic-slug]/EPIC.md と、production/epics/index.md の該当行です。それぞれ個別に承認を得てから書き込みます。
次の手順: エピックごとに /create-stories [epic-slug] を実行します。このスキルがストーリーを書き込むことはありません。
質問は .claude/docs/automation-modes.md に従います(collaborative は常に質問し、guided は主要な選択肢について質問し、autonomous は記録して続行します。automation_always_ask カテゴリでは常に質問します)。
チェックリスト(コピーして、進めながらチェックしてください):
- [ ] Phase 1: scope and tier
- [ ] Phase 2: inputs loaded and reported
- [ ] Phase 3: each epic shown, "Shall I create Epic: …?" asked one at a time
- [ ] Phase 4: producer review run, or its skip noted
- [ ] Phase 5: each EPIC.md and index row written after its own yes
- [ ] Phase 6: closing block printed
フェーズ 1:範囲とティア
スキル名の後に入力されたテキストから、--review <mode> の組み合わせを除いたもの:
all:レイヤー順に、すべてのシステム。layer: foundation(またはcore、feature、presentation):そのレイヤーのみ。- システム名:そのシステムのみ。
- 何も指定しない場合:リクエスト本文でレイヤーまたはシステムが指定されていればその内容(「foundation and core」など)。指定されていなければ、「どのレイヤーまたはシステムのエピックを作成しますか?」と質問します。
ティア。 プロジェクトの workflow の値によって、必要な項目(フェーズ 2)が決まります。対象となる各システムの GDD の基準は、該当する場合、そのシステムの system_overrides 行から取得します。
minimal の場合は、まずユーザーに伝えてください: このティアではこの手順は任意です。/create-stories が design/game-brief.md からエピックを自動で作成するためです。そのうえで、ユーザーがエピックを依頼している場合は続行してください。
フェーズ 2:入力の読み込み
minimal:ブリーフ
design/game-brief.md を読み込みます。存在しない場合は、「design/game-brief.md がありません。最初に /start または /brainstorm を実行してください。」と伝えて停止します。GDD、システムインデックス、アーキテクチャ文書、ADR、TR レジストリ、コントロールマニフェストを求めてはいけません。また、最初に /design-system、/map-systems、/create-architecture へユーザーを誘導してはいけません。このティアでは、これらは意図的に用意されていません。
まず、次の文を一字一句そのまま報告してください:
Loaded: design/game-brief.md · engine [name version from the engine_values line]
At minimal this step is optional: /create-stories builds the epic from the brief by itself.
エピックは、ブリーフの MVP 機能リストに基づき、Build order の順に作成します。短いブリーフの場合は 1 つのエピックとし、ブリーフの仮タイトルをもとにスラッグを付けます(何も入力されていない場合に /create-stories が使用するスラッグです)。ユーザーが作業をグループ化するよう求めた場合は、まとめてリリースする MVP 機能のグループごとに 1 つのエピックを作成します。各エピックにはスラッグを必ず記載してください。/create-stories ではスラッグの入力が必要です。
standard と full:設計とアーキテクチャ
- システム GDD。
bash .claude/scripts/gdd-structure-check.shは、すべてのシステム GDD を一覧表示します。ゲームコンセプト、システムインデックス、柱、相互レビュー、その他のシステム以外のドキュメントは対象外です。件数は N です。N が 0 の場合は停止し、「design/gdd/にシステム GDD が見つかりません — まず/design-systemを実行してください。」と表示します。 - 対象範囲。 各 GDD の
## Summaryクイックリファレンスにレイヤーと優先度が記載されています。## Summaryがない GDD(古い GDD にはこのセクションがありません)のレイヤーは、design/gdd/systems-index.mdから取得します。## Summaryがないことを、システムが存在しないこととして扱ってはいけません。対象範囲から除外してはいけません。 - アーキテクチャ。
docs/architecture/architecture.mdは両方のティアで必須です。存在しない場合は停止し、「docs/architecture/architecture.mdがありません — まず/create-architectureを実行してください。」と表示します。モジュール境界を決して捏造してはいけません。 - 対象範囲内のシステムのみを、文書全体ではなくセクション単位で確認します。
- 各 GDD の Overview と Acceptance Criteria
(
bash .claude/scripts/md-section.sh extract design/gdd/<file>.md "Overview"); bash .claude/scripts/adr-status.shで、すべての ADR のステータス、レイヤー、不足セクションを確認します。その後、対象範囲内のシステムを扱う ADR の GDD Requirements Addressed、Decision、Engine Compatibility セクションを確認します;docs/architecture/tr-registry.yaml:system:が対象範囲内のシステムであるエントリー;- コントロールマニフェストの
Manifest Version行(standardでは存在する場合に読み取り、fullでは必須); - エンジンのリスクレベルを確認するための
docs/engine-reference/<engine>/VERSION.md。
- 各 GDD の Overview と Acceptance Criteria
(
定義を始める前に、実際の状態を報告します。
Loaded: [N] system GDDs, [n] in scope ([names]) · [M] ADRs ([A] Accepted, [P] Proposed) · manifest v[date | absent] · engine [name version from the engine_values line]
full では、対象範囲内のすべての GDD に 8 つのセクションすべてと Approved ステータスが必要で、TR レジストリとコントロールマニフェストも必須です。standard では、GDD に必須の 5 つのセクションが必要で、Critical(Foundation レイヤー)の ADR のみが想定されます。
フェーズ 3:各エピックを定義し、一度に 1 つずつ尋ねる
レイヤー順に処理します。Foundation、Core、Feature、Presentation の順です。各レイヤー内では、システムインデックスの順序(minimal ではブリーフの Build 順)に従います。各システムについて、architecture.md に記載されたモジュール(minimal ではブリーフの機能グループ)を確認します。
要件のカバレッジ(minimal を除く)。システムの各 TR-ID は、次のいずれかです。
- カバー済み:Accepted の ADR が対応している場合;
- 未追跡:それ以外の場合。唯一の ADR が
Proposed(またはその他のステータス)である要件は、カバー済みではなく未追跡です。したがって、その行には❌ No ADR (ADR-NNNN Proposed)と記載され、/create-storiesは引き続きその ADR を認識してストーリーをブロックします。
未追跡の要件は Untraced Requirements の下に一覧表示されます。以下の ⚠️ 警告は、full では未追跡の要件ごとに表示し、standard では Foundation レイヤーの未追跡要件に限って表示します。standard でそれ以外の未追跡要件がある場合は、警告なしで情報として一覧表示します。
## Epic: [System Name]
**Layer**: [Foundation | Core | Feature | Presentation]
**GDD**: design/gdd/[file].md (at minimal: design/game-brief.md, MVP features [list])
**Architecture Module**: [module]
**Governing ADRs**: [Accepted ADRs, or "none"]
**Engine Risk**: [LOW | MEDIUM | HIGH — the highest among governing ADRs, else VERSION.md's]
**Requirements covered by Accepted ADRs**: [n / total]
**Untraced Requirements**: [TR-IDs with why, or "None"]
該当する場合の警告:「⚠️ [system] には Accepted の ADR がない要件が [N] 件あります。これらの要件のストーリーは、基準となる ADR なしで作成されるか、Proposed の ADR によって Blocked になります。意思決定が必要な場合は、まず /architecture-decision を実行してください。そうでなければ、この不足を受け入れて続行してください。」
次に、このエピックのみについて、次のように尋ねます。「エピック:[name] を作成しますか?」選択肢:はい、作成する/このエピックをスキップする/一時停止 — 先に ADR を作成する必要があります。この回答の後でのみ、次のエピックを表示して質問します。複数のエピックを 1 つの質問にまとめてはいけません。
はいという回答が承認するのは、その回答に対応するエピックのみです。「全部」「すべて進めて」など、すべてを対象とする言い方であっても同様です。エピックは提示された時点で承認されます。対象範囲内のすべてのエピックを提示して回答を得るまで、次のエピックのブロックを表示して再度尋ねます。
フェーズ 4:プロデューサーレビュー
上記の review_gate 行を読みます。skill-gates=skip(solo または lean)の場合:エージェントを実行せず、返信と最後のブロックに PR-EPIC skipped — [Solo | Lean] mode と記載します。skill-gates=run の場合は、references/pr-epic-gate.md と .claude/docs/director-gates.md を読み、対象範囲内のすべてのエピックを定義した後、書き込みを行う前に実行します。スキップする場合は、これらを読み込まないでください。
フェーズ 5:各エピックを作成する
ユーザーが承認した各エピックについて、順番に進めます。
すでに EPIC.md がある場合: 上書きしてはいけません。「[name] にはすでに EPIC.md があります。その場で更新しますか、それともスキップしますか?」と尋ねます。選択肢:その場で更新 / このエピックをスキップ。
更新時に編集するのは、このスキルが所有する箇所(Stories、Overview、Governing ADRs、GDD Requirements、Definition of Done 以外のヘッダーフィールド)のみです。**Stories** 行と ## Stories テーブルはそのままにします。これらは /create-stories が作成したもので、リセットすると既存のストーリーが孤立します。
新規の場合: 「production/epics/[epic-slug]/EPIC.md を作成し、production/epics/index.md に行を追加してもよいですか[ファイルがなければ作成します]?」と尋ねます。これはエピックごとに、フェーズ 3 の承認後に行う個別の確認です。フェーズ 3 での承認はエピックの承認であり、書き込みの承認ではありません。明示的な承認があった場合にのみ書き込みます。書き込む直前に、bash .claude/scripts/write-guard.sh overwrite production/epics/[epic-slug]/EPIC.md を実行します。常に checked 行が出力されます。その後 OVERWRITE 行が返された場合、ファイルが存在することになるため、何も書き込まず、更新について尋ねます。
docs.density は Overview の詳細度を設定します(terse は箇条書き、balanced は短い段落、thorough は ADR の根拠とリスクを含む詳しい文章)。テーブルはどの詳細度でも省略しません。
# Epic: [System Name]
> **Layer**: [Foundation | Core | Feature | Presentation]
> **GDD**: design/gdd/[file].md
> **Architecture Module**: [module]
> **Status**: Ready
> **Stories**: Not yet created — run `/create-stories [epic-slug]`
## Overview
[What this epic implements, from the GDD Overview and the module's responsibilities]
## Governing ADRs
| ADR | Decision Summary | Engine Risk |
|-----|------------------|-------------|
| ADR-NNNN: [title] | [one line] | LOW/MEDIUM/HIGH |
## GDD Requirements
| TR-ID | Requirement | ADR Coverage |
|-------|-------------|--------------|
| TR-[system]-001 | [requirement text from the registry] | ADR-NNNN ✅ |
| TR-[system]-002 | [requirement text] | ❌ No ADR (ADR-NNNN Proposed) |
## Definition of Done
- Every story implemented, reviewed and closed with `/story-done`
- Every acceptance criterion of design/gdd/[file].md verified
- Logic and Integration stories have passing tests in the test root
- Visual/Feel and UI stories have retained screenshots in `production/qa/evidence/`
(a lead sign-off too for Visual/Feel)
minimal の場合、GDD の行には design/game-brief.md を記載し、Governing ADRs と GDD Requirements のテーブルは省略します。また、エピックの MVP 機能を Build の順序で並べた Scope リストを設けます。
production/epics/index.md: エピックごとに 1 行を記載します。すでに行があるエピックはその行を維持し、その場で更新します。行を重複して追加したり、Stories セルをリセットしたりしてはいけません。
# Epics Index
Last Updated: [date]
Engine: [name version]
| Epic | Layer | System | GDD | Stories | Status |
|------|-------|--------|-----|---------|--------|
| [name] | [layer] | [system] | [file] | Not yet created | Ready |
フェーズ 6:完了
standard と full の場合、Foundation と Core のエピックが揃ったら、次を追加します。「Foundation と Core のエピックは、Pre-Production → Production ゲートで必要なものです。/gate-check production で準備状況を確認できます。」minimal では追加しません。
各エピックの内容は、GDD、ADR、アーキテクチャドキュメント(minimal では brief)に基づくものとし、創作してはいけません。
実行の最後の返信は、このブロックで終わらせます(以前に表示していても、もう一度記載します)。
Verdict: COMPLETE — [N] epics written: [slugs]
Review: [PR-EPIC skipped — Solo mode | skipped — Lean mode | its verdict]
Index: production/epics/index.md [created | updated]
Next step: /create-stories [first-epic-slug]
ユーザーがすべてのエピックをスキップまたは拒否した場合:Verdict: BLOCKED — no epic written ([why])。対象範囲に該当するシステムがない場合:Verdict: BLOCKED — no eligible systems in [scope]。