Back to list
tamaco489

generate-architecture-docs

by tamaco489

0🍴 0📅 Jan 25, 2026

SKILL.md


name: generate-architecture-docs description: | 構成図からアーキテクチャドキュメントを自動生成するスキル。 visualize-architectureまたはpropose-architectureの出力を正式なドキュメントに変換。 docs/配下にGitHub管理対象ドキュメントを生成。 allowed-tools: Read, Grep, Glob, Bash, Write

Architecture Documentation Generator Skill

visualize-architecture または propose-architecture で生成した構成図を基に、GitHub 管理対象となる正式なアーキテクチャドキュメントを docs/ 配下に自動生成するスキルです。

使用例

構成図からドキュメント生成

/generate-architecture-docs tmp/architecture_diagrams/pre_docs/infrastructure

提案から ADR 生成

/generate-architecture-docs tmp/architecture_diagrams/pre_adr/image_upload

対象

  • tmp/architecture_diagrams/pre_docs/ 配下の構成図(visualize-architecture 出力)
  • tmp/architecture_diagrams/pre_adr/ 配下の提案ドキュメント(propose-architecture 出力)

出力先

ソースパス内容タイプ出力先
pre_docs/特定機能の構成図・シーケンス図docs/feature_components/<feature_name>/
pre_docs/インフラ横断構成図docs/architecture/infrastructure/<concept_name>/
pre_adr/設計意思決定docs/adr/<number>_<feature_name>/

スキル構成

.claude/skills/generate-architecture-docs/
└── SKILL.md                        # このファイル

引数

  • {source_path}: 構成図ファイルのパス(必須)
    • 例: tmp/architecture_diagrams/pre_docs/infrastructure/
    • 例: tmp/architecture_diagrams/pre_adr/new_feature/

実行手順

Step 1: ソースファイルの取得

引数で指定されたパスから構成図ファイルを取得:

ls {source_path}

期待するソースディレクトリ構造:

{source_path}/
├── 01_<name>.md              # Markdownドキュメント
├── 02_<name>.md
├── draw/                     # Draw.io ソースファイル
│   └── 01_<name>.drawio
├── mmd/                      # Mermaid ソースファイル
│   ├── 01_<name>.mmd
│   └── ...
├── puml/                     # PlantUML ソースファイル
│   └── 01_<name>.puml
└── images/                   # PNG/SVG 画像ファイル
    ├── 01_<name>.png
    └── ...

対象ファイル形式:

  • .md (Markdown ドキュメント)
  • .drawio (Draw.io 形式)
  • .mmd (Mermaid 形式)
  • .puml (PlantUML 形式)
  • .png, .svg (画像ファイル)

ファイルが存在しない場合はエラーを返す:

「指定されたパス {source_path} にファイルが見つかりません。 /visualize-architecture または /propose-architecture を先に実行してください。」


Step 2: 構成図ファイルの解析

解析内容:

解析項目説明
コンポーネント一覧登場するサービス・モジュール
相互関係コンポーネント間の依存・連携
データフローデータの流れと変換
技術スタック使用している技術・サービス
セキュリティ境界認証・認可のポイント
決定事項・背景採用理由と経緯

Step 3: 出力先の決定

ソースパスと内容に基づいて適切な出力先を決定。

ADR 番号の採番ルール

# 既存ADRの最大番号を取得して+1
ls docs/adr/ 2>/dev/null | grep -oE '^[0-9]+' | sort -n | tail -1 || echo "0"

新規 ADR の場合は {最大番号 + 1} を使用(例: 001_, 002_


Step 4: ドキュメントの生成

4-1. ドキュメント構成

重要: 図表ソースファイルは必ず専用ディレクトリに分離し、MD ファイルから参照する形式とすること

feature_components の場合:

docs/feature_components/<feature_name>/
├── 01_<name>.md              # 英語版ドキュメント
├── 01_<name>.ja.md           # 日本語版ドキュメント
├── draw/                     # Draw.io ソースファイル
│   └── 01_<name>.drawio
├── mmd/                      # Mermaid ソースファイル
│   ├── 01_<name>.mmd
│   └── ...
├── puml/                     # PlantUML ソースファイル
│   └── 01_<name>.puml
└── images/                   # PNG/SVG 画像ファイル
    ├── 01_<name>.png
    └── ...

architecture/infrastructure の場合:

docs/architecture/infrastructure/<concept_name>/
├── 01_overview.md            # 英語版
├── 01_overview.ja.md         # 日本語版
├── draw/
├── mmd/
├── puml/
└── images/

ADR の場合:

docs/adr/<number>_<feature_name>/
├── 01_README.md              # 英語版
├── 01_README.ja.md           # 日本語版
├── draw/
├── mmd/
├── puml/
└── images/

4-2. 命名規則

各階層ごとに連番プレフィックスを付与すること:

対象命名規則
MD ドキュメント{連番}_{内容}.md01_overview.md
Draw.io{連番}_{内容}.drawio01_infrastructure.drawio
Mermaid{連番}_{内容}.mmd01_sequence.mmd
PlantUML{連番}_{内容}.puml01_component.puml
画像{連番}_{内容}.png01_sequence.png

連番ルール:

  • 各ディレクトリ内で独立した連番(01, 02, 03...)
  • ゼロ埋め 2 桁(01, 02, ... 99)

4-2. ドキュメントテンプレート

feature_components / architecture 用:

[English](./{filename}.md) | [日本語](./{filename}.ja.md)

# {タイトル}

## 概要

{システム/機能の概要説明}

## 決定事項

- {採用した構成・技術の要点}

## 背景

- {なぜその構成にしたのか}

## アーキテクチャ図

{構成図の埋め込みまたは画像参照}

## コンポーネント詳細

### {コンポーネント名 1}

- **役割**: {役割説明}
- **技術**: {使用技術}
- **責務**: {責務説明}

## データフロー

{データフローの説明}

## 技術スタック

| カテゴリ   | 技術     | 用途   |
| ---------- | -------- | ------ |
| {カテゴリ} | {技術名} | {用途} |

## セキュリティ考慮事項

{セキュリティに関する説明}

## スケーラビリティ・パフォーマンス

{スケーラビリティとパフォーマンスに関する説明}

## 関連ドキュメント

- {関連ドキュメントへのリンク}

ADR 用:

[English](./{filename}.md) | [日本語](./{filename}.ja.md)

# ADR-{番号}: {タイトル}

## ステータス

{Proposed | Accepted | Deprecated | Superseded}

## コンテキスト

### 現状の課題

- {課題 1}: {具体的な問題点}
- {課題 2}: {具体的な問題点}

### なぜこの構成・機能が必要か

{課題を解決するために、なぜこの構成・機能が最適なのかを説明}

## 決定

### 選定経緯(他選択肢との比較)

| 選択肢     | Pros       | Cons         | 採用 |
| ---------- | ---------- | ------------ | ---- |
| {選択肢 A} | {メリット} | {デメリット} | ✅   |
| {選択肢 B} | {メリット} | {デメリット} | -    |
| {選択肢 C} | {メリット} | {デメリット} | -    |

**選定理由:** {なぜ選択肢 A を採用したのかを 1-2 文で}

### 採用する構成

{採用した構成の説明}

## アーキテクチャ図

{構成図の埋め込みまたは画像参照}

## 結果

### 解決される課題

- ✅ {解決される課題 1}
- ✅ {解決される課題 2}

### 残課題・今後の観測事項

| 項目       | 状態          | 対応方針                                           |
| ---------- | ------------- | -------------------------------------------------- |
| {残課題 1} | 🔶 一部不明瞭 | リリース後に{観測内容}を確認し、必要に応じて再検討 |
| {残課題 2} | ⚠️ 未解決     | Phase 2 で対応予定                                 |

### 観測ポイント

- {リリース後に確認すべき指標やログ}
- {再検討のトリガーとなる条件}

## 関連ドキュメント

- {関連ドキュメントへのリンク}

Step 5: 最終確認

生成したドキュメント内容をユーザーに提示し、確認を求める:

「以下の内容でドキュメントを生成します。よろしいですか?(y/N)


出力先: {出力パス}

生成ファイル:

  • {ファイル1} (英語版)
  • {ファイル2} (日本語版)
  • diagrams/ (図表ファイル)

プレビュー: {ドキュメントプレビュー}

---」

既存ファイルがある場合は上書き確認:

「⚠️ 既存ファイルが存在します: {ファイルパス}

上書きしてよろしいですか?(y/N)」


Step 6: ファイル出力

承認後、ドキュメントファイルを生成:

# ディレクトリ作成
mkdir -p {出力先}/diagrams

# ドキュメントファイル生成
# 英語版: {filename}.md
# 日本語版: {filename}.ja.md

# 画像ファイルのコピー
cp {source_path}/*.png {出力先}/diagrams/ 2>/dev/null || true
cp {source_path}/*.svg {出力先}/diagrams/ 2>/dev/null || true

Step 7: 完了報告

「ドキュメントを生成しました:

出力先: {出力パス}

生成ファイル:

  • {ファイル1} (英語版)
  • {ファイル2} (日本語版)

次のステップ:

  • 生成されたドキュメントを確認してください
  • 必要に応じて内容を編集してください
  • コミット・プッシュして GitHub 管理下に置いてください」

注意事項

  • ソースファイルが存在しない場合はエラーを返すこと
  • 既存ファイルがある場合は上書き確認を行うこと
  • 英語版・日本語版の両方を生成すること
  • 言語切り替えリンクを各ファイルの冒頭に追加すること
  • 画像ファイルは diagrams/ ディレクトリにコピーすること
  • ADR の場合は採番ルールに従うこと
  • 決定事項・背景・選定経緯は必ず含めること
  • 図表ファイル(.drawio, .mmd, .puml)は全て英語表記で作成すること

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon