アクター一覧の新規作成・更新・レビューを支援する。AI駆動開発成果物フローのビジネス要求(D1)に位置する成果物で、本システムに関わるすべての人間アクター(関係者)を一覧化する文書。TOGAFのActor Catalog相当。BRDの下流に位置する成果物。後続の成果物であるプロダクト要求仕様書やユーザーストーリー一覧、C4モデルレベル1、C4モデルレベル2、L1シーケンス、L2シーケンスなど、様々な成果物から参照される。BRD策定後、アクター整理の段階で呼び出す。
d2-c4-level1-sequences
C4モデル レベル1 シーケンス図の新規作成・更新・レビューを支援する。C4モデル レベル1 の登場要素(アクター・対象システム・外部システム)だけを用い、ユースケースごとに 1 本の Mermaid シーケンス図を描く D2 成果物。ユースケース一覧・C4モデル レベル1(システムコンテキスト)・機能一覧の整備後に呼び出す。
含まれるファイル(3)
- SKILL.md18.1 KB
- example.md5.6 KB
- template.md2.2 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
D2: C4モデル レベル1 シーケンス
inputする成果物
| 成果物のパス | 重要度 | 内容 |
|---|---|---|
docs/D1.business-requirements/product-requirement-document.md | 重要 | PRD(対象システムの責務・内製/外部の境界の定義元。どこまでを対象システム内の処理として描き、どこから外部システムへ委ねるかの判断根拠) |
docs/D1.business-requirements/domain-requirements/*.md | 重要 | ドメイン要求仕様書群(ドメイン共通要求仕様書を含む)。§業務状態遷移 が当該 UC の前提条件・事後条件、§業務ルール(DOM-*-BR-*) が正常系の判定・順序、§業務運用イレギュラー対応(DOM-*-IRR-*) がガード節(不成立時に打ち切る分岐)の根拠 |
docs/D1.business-requirements/use-case-list.md | 重要 | ユースケース一覧(シーケンスの分割単位。1 UC = 1 シーケンス図。UC 名・主アクター・トリガ・主要価値を節見出しとメタ情報・開始メッセージ・終了メッセージにそのまま引く) |
docs/D2.system-requirements/c4-level1-system-context.md | 重要 | C4モデル レベル1(登場要素の唯一の定義元。participant に置けるのは本書 §登場要素の ACT-* / 対象システム / EXT-* のみ。関係ラベルの語彙もここに揃える) |
docs/D2.system-requirements/function-list.md | 重要 | 機能一覧(機能グルーピングの定義元。「関連 UC」列で当該 UC を参照する FUNC-* を、その機能が担うメッセージ範囲として opt で括る。機能 ID と機能名をそのまま opt ラベルに引く) |
docs/D1.business-requirements/user-story-list.md | 補助 | ユーザーストーリー一覧(利用者視点の期待・受け入れ条件の補足。メッセージの業務的な言い回しの裏取りに使う) |
outputする成果物
| 成果物のパス | 内容 |
|---|---|
docs/D2.system-requirements/c4-level1-sequences/<ドメインID>_<ドメイン名>/<UC-N>_<UC 名>.md | 1 ユースケース 1 ファイル(例: APPL_申込受付/UC-10_申込項目を入力・検証する.md) |
使用するテンプレート
出力時は以下のテンプレートを読み込み、その章構成・UC 節の骨組み(メタ情報の項目・Mermaid 図の枠)に従う。
| テンプレートのパス | 内容 |
|---|---|
.claude/skills/d2-c4-level1-sequences/template.md | C4モデル レベル1 シーケンス テンプレート(タイトル + UC 節の骨組み) |
ユースケース 1 件ごとに本テンプレートを 1 ファイルとして適用する。
記法の正典サンプル
生成前に以下のサンプルを読み込み、エイリアス命名・活性区間・インデント・メッセージ本文の具体度・機能 opt・他 UC 参照の書き方を引き写す。文言レベルの判断に迷ったときは、本スキルの規約とサンプルの実物を突き合わせて揃える。
| サンプルのパス | 内容 |
|---|---|
.claude/skills/d2-c4-level1-sequences/example.md | UC-12(申込受付)の完成形 1 ファイル。外部システム 3 体の活性区間・照会ごとのガード節(break)・他 UC への Note over 参照を含む |
サンプルは機能 opt を 1 個しか含まないため、複数機能が 1 UC に紐づく場合の並べ方は §機能の可視化 の抜粋に従う。
生成規約
以下は本成果物を生成・更新する際に守る規約。
分割とファイル構成
- 1 UC = 1 シーケンス図 = 1 ファイル。ユースケース一覧の UC をそれ以上まとめない・割らない(分割単位の妥当性判断は上流のユースケース一覧が持つ)。1 ファイルに複数 UC を並べない。
- ファイル名は
<UC-N>_<UC 名>.md。UC 名はユースケース一覧の表記をそのまま使い、省略・言い換えをしない(例:UC-10_申込項目を入力・検証する.md)。ただし次の 4 点だけは機械的に変換する(いずれもファイル名・URL の制約によるもので、タイトル# UC-N: {{UC 名}}とサイドバーのlabelは一覧の表記のまま書く)。- ASCII の丸括弧
()は全角の()に置換する(ディレクトリ名も同じ)。Docusaurus のルーティングは ASCII 括弧をパターン記法として解釈するため、含まれるとページが 404 になる(例:UC-11_関係者整合(被保険者同意要否)を検証する.md) - UC 名に含まれる
/はハイフンに置換する(例:UC-36_保険証券を交付する(電子交付-物理発送).md) - 半角スペースは詰める(例:
UC-63_証跡を10年保持し参照可能性を維持する.md) [フェーズ2]ラベルはファイル名から外す(例:UC-24_機械学習で査定を高度化する.md)
- ASCII の丸括弧
- 配置はドメイン単位のディレクトリ。
c4-level1-sequences/<ドメインID>_<ドメイン名>/に置く。ディレクトリ名の<ドメインID>と<ドメイン名>はドメイン定義書の一覧からそのまま引く(例:ASF_反社チェック/・BOOK_契約成立(計上)/)。ドメイン名が長く括弧書きの補足を伴う場合は、ユースケース一覧の「ドメイン / 区分」列の短い表記に合わせる(例:AUDIT_統制・証跡管理/)。ドメイン定義書に載らない区分横断は、ドメイン共通要求仕様書の ID 体系に合わせてCOMMON_横断/とする。 - サイドバーの並びはユースケース一覧の UC 番号順。
登場要素(C4 レベル1 の要素だけを使う)
participantに置けるのは C4モデル レベル1 §登場要素に載っている要素のみ: 人(ACT-*)・対象システム(1 ライフライン)・外部システム(EXT-*)。レベル1 に載っていないアクター・システムは登場させない(必要になった場合は、シーケンスを書き換えるのではなく C4モデル レベル1 側の見直し要否をユーザーに確認する)。- 対象システムは黒箱の 1 ライフライン。内部を複数 participant に割らない。内部処理は対象システムの自己メッセージ 1 本で表す(何を判定し・何を記録/更新するかを書く。§メッセージ本文)。内部構造(コンテナ・API 名・テーブル名・技術スタック)は書かない(C4 レベル2・D3 設計へ降ろす)。
- 同一業務責務の複数アクターは 1 ライフラインに統合 する。ユースケース一覧の主アクター表記に合わせ、ラベルに ID を中黒で併記する(例:
募集人<br/>ACT-1・ACT-2)。 - ライフラインの並びは 左から: 主アクター → その他のアクター → 対象システム → 外部システム。対象システムを中央に置き、線の往復が交差しないようにする。
Mermaid 記法
骨格
- 各節の図は
```mermaidフェンス内のsequenceDiagram。先頭行にautonumberを置き、メッセージを番号で参照できるようにする。 - participant 宣言は
actor(人)/participant(対象システム・外部システム)を使い分ける。エイリアス ID は小文字 + ID 由来(act1/sys/ext6)、複数アクター統合時はアンダースコア連結(act1_2)。表示ラベルは名称<br/>ID(対象システムは ID を持たないため名称のみ)。 - 依頼は実線
->>、応答は破線-->>。
メッセージ本文(何をするのかが一目で分かるように書く)
「誰が何を依頼した」で止めず、システムとして何が起きるのかが読んで分かる粒度で書く。方向ごとに書き方を固定する。
| 方向 | 書き方 | 例 |
|---|---|---|
| 人 → 対象システム | 画面上の操作 として書く。どの画面のどの操作かを特定できる語(〜画面・〜ボタンをクリック・〜を入力)を使う | 申込内容確認画面で<br/>「申込確定」ボタンをクリック |
| 対象システム → 人 | 画面に何が表示されるか として書く。「提示する」「通知する」で止めない | 申込確定完了画面に受付番号と<br/>後続手続きの案内を表示 |
| 対象システム → 自身(自己メッセージ) | 何を判定し・何を記録/更新するか を書く。「〜を実施」「〜を処理」で止めない | 申込の業務状態を「申込確定」へ更新し、<br/>確定日時・確認結果・操作者を<br/>証跡として記録 |
| 対象システム → 外部システム / 外部システム → 対象システム | 何を渡し・何を受け取るか を書き、C4モデル レベル1 の関係ラベルの語彙に揃える | 本人確認結果(確認成否・確認日時)を照会 |
画面名・ボタン名・表示内容はここまで書いてよい(CLAUDE.md §11 の「例外: シーケンス図の利用者接点」に基づく)。一方、対象システムの内部構造(コンテナ・API 名・テーブル名・カラム名・技術スタック)は書かない。
折り返し
- メッセージ本文と
Note本文は 20 文字程度ごとに<br/>で折り返す。1 行に長文を流し込むと矢印ラベルが横に伸び、図全体が読めなくなるため。20 文字以内に収まる本文は折らない。 - 折る位置は 意味の切れ目(読点の後・助詞の後・括弧の前後)に合わせる。ID(
UC-12/EXT-6等)や鉤括弧で囲んだ状態名の途中では折らない。 opt/alt/elseの ラベルは折り返さない(ブロックラベルは短く保ち、長くなる説明はメッセージ本文側へ寄せる)。
activate / deactivate(必須)
- 1 つの処理がどこまで続いているかを必ず活性区間で示す。依頼メッセージの直後に
activate <受け手>、その処理の応答直後にdeactivate <受け手>を置く。 ->>+/-->>-の省略記法は使わず、必ずactivate/deactivateを独立行で書く(どこで始まりどこで終わるかを行として読めるようにするため)。- 活性化するのは 対象システムと外部システムのライフラインのみ。人のアクターは処理の起点・終点であり activate しない。
- 活性区間は 開始したブロックと同じブロック内で閉じる。
opt/altをまたいで開始・終了しない。
インデント(可読性)
sequenceDiagram直下の行は 4 スペース。opt/alt/else/loop/par/critical/breakなどのブロックに入るごとに さらに 4 スペース下げ、endはブロック開始行と同じ深さに揃える。activate/deactivateはインデントの段を作らない(直前のメッセージと同じ深さ)。- 意味のまとまり(工程の切れ目・ブロックの前後)には空行を入れ、ブロックが視覚的に固まって読めるようにする。
機能の可視化(opt によるグルーピング)
機能一覧のどの機能がシーケンス上のどの範囲にあたるかを、opt ブロックで囲んで示す。
-
ラベル書式は
opt FUNC-N: {{機能名}}。機能 ID を先頭に置くこと自体が「グルーピング目的のopt」であることの目印になるため、他の接頭辞は付けない。機能 ID と機能名は機能一覧からそのまま引く。 -
条件分岐としての
optと混同させない: 機能 ID で始まらないopt/altは本来の意味(条件付き・代替フロー)で使い、機能 opt の 内側 に置く。機能 opt には条件を書かない(opt FUNC-7: 保険料試算機能(試算可能な場合)のような書き方をしない)。 -
機能 opt は 入れ子にしない。1 本のシーケンス上でフラットに並べ、範囲を重ねない(UC-9 のように 1 UC に複数機能が紐づく場合の並べ方):
opt FUNC-9: プラン比較提示機能 sys-->>act1_2: プラン比較画面に複数プランの<br/>保障内容・保険料を並べて表示 sys->>sys: 比較提示の実施日時・提示プラン・<br/>操作者を情報提供証跡として記録 end opt FUNC-10: プラン確定・申込引き渡し機能 act1_2->>sys: プラン比較画面で顧客選択プランを選び<br/>「このプランで申込」ボタンをクリック sys->>sys: プランの業務状態を「確定」へ更新し、<br/>確定プラン一式を申込受付へ引き渡す end
1 つの機能が飛び地になる場合は、機能の粒度か UC の分割を疑い、機能一覧・ユースケース一覧側の見直し要否をユーザーに確認する。
- 網羅: 機能一覧で「関連 UC」列に当該 UC を含む
FUNC-*は、その UC のシーケンスに機能 opt として すべて登場させる。逆に、当該 UC を関連 UC に持たない機能を持ち込まない。 - 横断機能(認証・通知配信・帳票出力・同意管理・縮退運用 等)は、機能一覧上でそれぞれ独自の横断 UC に紐づく。業務局面 UC のシーケンスでこれらを再掲せず、必要な場合のみ
Note overで参照先 UC を示す(例:Note over sys: 参照: UC-68 業務通知を配信する)。
分岐・例外の描き方
-
不成立はガード節として即時に返す(最重要)。外部照会の結果やシステム判定が「不成立」と分かった時点で
breakを置き、そのブロック内に 業務状態の保持/記録 と 画面への結果表示 まで書いて処理を打ち切る。判定を溜めておいて末尾で 1 つのaltにまとめない(どの確認で落ちたのか、そのとき利用者の画面に何が返るのかが読めなくなるため)。sys->>ext6: 本人確認結果(確認成否・確認日時)を照会 activate ext6 ext6-->>sys: 本人確認結果 deactivate ext6 break 本人確認が未成立・照会不達 sys->>sys: 申込の業務状態を「確認中」のまま保持し、<br/>本人確認の未成立を停留事由として記録 sys-->>act1_2: 申込内容確認画面に本人確認が未成立である旨と<br/>再実施導線を表示 end -
事前条件で保証済みの状態を図の中で再検査しない。ガード節に置いてよいのは、当該 UC の中で初めて成否が判明する事象(外部照会の結果、入力内容の検証結果、期限の到来 等)だけ。上流 UC が成立させた状態(例: 確定設計プランの引き渡し済み)は事前条件に書き、図では検査しない。上流の業務ルールを図へ持ち込む際は、それが「この UC で判明する事象か」を必ず確かめる。
-
正常系(
DOM-*-BR-*)はガード節の外側を主線として最後まで通す。図の末尾が成功時の業務状態更新と画面表示で終わる形にする。図の先頭が例外分岐から始まらないようにする。 -
alt/elseを使うのは、成否ではなく 業務上の複数経路が並ぶ場合(例: 電子交付 と 物理交付、自動判定経路 と 医的査定経路)。不成立・失敗系にaltを使わない。 -
同一アクターがインラインで処理する業務運用イレギュラー(
DOM-*-IRR-*)は同じ図に収める。別アクター・別トリガの収束業務は独立 UC としてユースケース一覧に立っているため、ガード節の中ではNote overで参照先 UC を示すに留め、その処理自体は描かない。 -
全 IRR を詰め込まない。当該 UC の成否を分ける主要なガード節に絞り、1 図あたりメッセージ 10〜25 本程度に収める。それを超える場合は UC の粒度をユーザーに確認する。
-
外部システム連携の不達・タイムアウトは、当該照会の直後のガード節に 不成立と同じ扱いで合流させる(
break 本人確認が未成立・照会不達)。リトライ・保留はloop/Note overで簡潔に示す。
各 UC 節の埋め方
- タイトル:
# {{UC-N}}: {{UC 名}}。ID・UC 名はユースケース一覧からそのまま引く(本書は独自 ID を採番しない)。UC が[フェーズ2]の場合はタイトルにも同じラベルを付ける。 - 図の前に置くのは事前条件と事後条件の 2 項目だけ。主アクター・トリガ・関連機能・関連外部システムは図(ライフライン・1 本目のメッセージ・機能 opt)を見れば分かるため、文章側に重ねて書かない。
- 事前条件 / 事後条件: ドメイン要求仕様書 §業務状態遷移の当該遷移の前後の業務状態を 1 行ずつ書く。事後条件は UC の主要価値が成立した状態と、ガード節で打ち切られた場合にどう返るかを書く。「3 確認」「各種確認」のような読み手が中身を復元できない省略語を使わず、対象を具体名で列挙する(例:
本人確認(eKYC)・反社照合・電子署名の 3 つがすべて成立し…)。
網羅(トレーサビリティ)
- ユースケース一覧の全 UC に 1 ファイルが対応すること(UC 総数 = ファイル総数)。
- 機能一覧の全
FUNC-*が、その「関連 UC」列の UC の図に機能 opt として現れること。 - 図に登場する
ACT-*/EXT-*がすべて C4モデル レベル1 §登場要素に実在すること。
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
ビジネス要件定義書(BRD)の新規作成・更新・レビューを支援する。AI駆動開発成果物フローのビジネス要求(D1)の中でも最上流に位置する成果物であり、ドメイン定義書・プロダクト要求仕様書(PRD)本体・ドメイン要求仕様書群すべての根拠となる業務観点の要求文書。新規プロジェクト立ち上げ時の最初の成果物作成、戦略・スコープの大きな変更、KPI見直しのタイミングで呼び出す。
ドメイン共通要求仕様書の新規作成・更新・レビューを支援する。AI駆動開発成果物フローのビジネス要求(D1)に位置する成果物で、プロダクト要求仕様書(PRD)が方針・概念を扱うのに対し、本書は **3 ドメイン以上で横断的に効く具体的な要求(水準・方針・原則)** を集約する文書。**ドメイン要求仕様書群(個別)とは並列の関係にあり、横断的な水準・方針・原則は本書が単独で責務を持つ(=厳密な MECE。個別ドメインで言い換えない)。** 機能要求・非機能要求・UI/UX 方針・セキュリティ要求・データアクセス要求・法務/コンプライアンス要求 の各節を持つ。PRD・アクター一覧・ドメイン定義書 を上流とし、PRD策定後、ドメイン要求仕様書群(個別)の作成前に呼び出す。
ドメイン定義書の新規作成・更新・レビューを支援する。AI駆動開発成果物フローのビジネス要求(D1)に位置する成果物で、本プロダクトを構成する業務領域(ドメイン)を網羅・分類する文書。問題空間(プロダクトが扱う業務領域)の整理であり、DDDにおけるBounded Context(解空間としての実装上の境界)とは別レイヤーで扱う。BRDの下流に位置する成果物。後続のプロダクト要求仕様書、ドメイン要求仕様書群(各ドメインごとに1つ)など、様々な成果物から参照される。BRD策定後、ドメイン整理の段階で呼び出す。
ドメイン要求仕様書の新規作成・更新・レビューを支援する。AI駆動開発成果物フローのビジネス要求(D1)に位置する成果物で、プロダクト要求仕様書(PRD)を親文書とし、ドメイン定義書で定義された各ドメインごとに1冊作成される。**ドメイン共通要求仕様書(横断的な水準・方針・原則)とは並列の関係にあり、当該ドメイン固有の業務ルール・業務状態遷移・業務運用(イレギュラー対応)のみを扱う(共通要求と内容が重なる要求は本書に書かない=厳密な MECE)。** PRD・ドメイン定義書の策定後、ドメインごとの業務要求を具体化する段階で呼び出す。下流のユーザーストーリー一覧・ユースケース一覧・機能一覧(D2)・画面要件群(D2)・L1/L2シーケンス図の起点となる。
プロダクト要求仕様書(PRD)の新規作成・更新・レビューを支援する。AI駆動開発成果物フローのビジネス要求(D1)に位置する成果物で、方針・概念・体験設計・制約・受け入れ基準を扱う文書。具体的な横断要求(機能要求・非機能要求・UI/UX・セキュリティ・法務 等)は独立成果物のドメイン共通要求仕様書に集約し、PRD は要求 ID を持たない。BRD・アクター一覧・ドメイン定義書 を上流とし、BRD策定後、ドメイン共通要求仕様書の作成前に呼び出す。