AgentSkillsCN

system-design

系统设计文档编写技能。可交互式生成包含架构设计文档、ADR(Architecture Decision Record,架构决策记录)以及 C4 模型图的设计文档,并以 Markdown 格式呈现。“想撰写系统设计文档”“想对架构进行文档化”“想撰写 ADR”“想用 C4 模型整理设计”“想汇总基础设施配置”“想记录组件设计”“想记录技术决策”等需求时均可使用。

SKILL.md
--- frontmatter
name: system-design
description: システム設計書作成スキル。アーキテクチャ設計書、ADR(Architecture Decision Record)、C4モデル図を含む設計ドキュメントをMarkdown形式で対話的に生成する。「システム設計書を書きたい」「アーキテクチャを文書化したい」「ADRを書きたい」「C4モデルで設計を整理したい」「インフラ構成をまとめたい」「コンポーネント設計を記録したい」「技術的な意思決定を記録したい」などのリクエスト時に使用。

システム設計書ジェネレーター

システム設計ドキュメントを対話的に作成するスキル。3つのドキュメント形式に対応。

ドキュメント形式

形式テンプレート用途
システム設計書assets/templates/system-design.mdアーキテクチャ全体: コンポーネント、データ、インフラ、非機能要件
ADRassets/templates/adr.md1つのアーキテクチャ判断を背景・結果とともに記録
C4モデルassets/templates/c4-model.md階層的なアーキテクチャビュー: コンテキスト → コンテナ → コンポーネント → コード

ワークフロー

code
1. ドキュメント形式を判定
   ↓
2. ヒアリング(AskUserQuestionでバッチ質問)
   ↓
3. テンプレートからドキュメントを生成
   ↓
4. ユーザーに提示してレビュー
   ↓
5. 修正があれば反映 → 最終版を書き出し

Step 1: 形式の判定

ユーザーのリクエストから検出:

  • 「システム設計」「アーキテクチャ設計」「インフラ構成」 → システム設計書
  • 「ADR」「意思決定記録」「技術選定の記録」 → ADR
  • 「C4」「C4モデル」「コンテキスト図」「コンテナ図」 → C4モデル
  • 曖昧な場合 → AskUserQuestion で確認

Step 2: ヒアリング

references/hearing-patterns.md を読み、バッチ形式のヒアリングフローに従う。

ルール:

  • 1回のバッチで1〜4問を AskUserQuestion で質問
  • ユーザーが既に回答済みの質問はスキップ
  • ユーザーの言語に合わせる
  • ADR: 判断の背景、検討した選択肢、トレードオフを重視
  • C4: システム境界、コンテナ、コンポーネントの責務を重視

Step 3: ドキュメント生成

  1. assets/templates/ からテンプレートを読む
  2. ヒアリング結果に基づいてセクションを記入
  3. セクション適応(references/hearing-patterns.md 参照)
  4. 形式別のルール:
    • システム設計書: アーキテクチャ図、シーケンス図、状態図、ER図(Mermaid)
    • ADR: 簡潔に1つの判断に集中。関連ADRへのリンク
    • C4モデル: 各レベルのMermaid C4図。議論に関連するレベルのみ掘り下げる

Step 4: 提示とレビュー

  1. 生成したドキュメントのサマリーを表示
  2. 修正が必要か確認
  3. 修正があれば反映 → 再提示
  4. 承認されたらファイルに書き出し

出力先

デフォルト出力先: docs/ カスタム出力: ユーザーが指定した場合はそのパスを使用。

ファイル名:

  • docs/system-design-{name}.md
  • docs/adr-{NNN}-{name}.md(NNN = 連番)
  • docs/c4-model-{name}.md