arch-view
This skill should be used when the user asks to "generate architecture view", "show service dependency graph", "map request flows", "show event topology", "group services by domain", "visualize architecture", or mentions cross-repository architecture analysis, service mapping, or architectural visualization.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o arch-view.zip https://jpskill.com/download/17323.zip && unzip -o arch-view.zip && rm arch-view.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17323.zip -OutFile "$d\arch-view.zip"; Expand-Archive "$d\arch-view.zip" -DestinationPath $d -Force; ri "$d\arch-view.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
arch-view.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
arch-viewフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 4
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
アーキテクチャビュー
並列サブエージェントを使用して、すべてのリポジトリから catalog-info.yaml メタデータを集約し、リポジトリを横断したアーキテクチャビューを生成します。
目的
サービスがどのように連携するか、リクエストがゲートウェイをどのように通過するか、イベントがどのように伝播するか、サービスがドメイン/チームごとにどのようにグループ化されるかを示す、視覚的なアーキテクチャ表現(Mermaidダイアグラム、Markdownテーブル)を作成します。
使用するタイミング
以下の場合にこの Skill をトリガーします。
- ユーザーが「サービス依存関係グラフを表示」または「アーキテクチャをマッピング」するように依頼した場合
- ユーザーが「サービスがどのように接続されているか」を理解したい場合
- ユーザーが「リクエストフロー」または「イベントトポロジ」について質問した場合
- ユーザーが「サービスをドメイン/チームごとにグループ化」したい場合
- ユーザーが「クロスリポジトリアーキテクチャ」または「システムアーキテクチャ」について言及した場合
ワークフロー
フェーズ 1: リポジトリの発見
分析するすべてのリポジトリを見つけます。
repos/ディレクトリを確認 - ローカルにクローンされたリポジトリ- オプションで GitHub から取得 - 完全なリストについては
gh repo list Astrabit-CPTを使用 - アクティブなリポジトリをフィルタリング - アーカイブされたリポジトリまたはテンプレートリポジトリをスキップ
フェーズ 2: 並列メタデータ収集
サブエージェントを並列で使用して、各リポジトリの catalog-info.yaml を読み取ります。
各リポジトリに対して:
「[repo_path] から catalog-info.yaml を読み取り、解析されたコンテンツを返す」というサブエージェントを起動します。
並列処理戦略:
- 5〜10個のサブエージェントを同時に起動
- すべての結果を収集
- メタデータが見つからない場合は、適切に処理(スキップまたは欠落として記録)
フェーズ 3: 集約とモデルの構築
すべてのメタデータを統合モデルに結合します。
aggregated = {
"components": {}, # name -> catalog info
"dependencies": set(), # (from, to) tuples
"gateways": [],
"services": [],
"workers": [],
"domains": {}, # domain -> [components]
"events": {
"producers": {}, # topic -> [producers]
"consumers": {}, # topic -> [consumers]
},
"routes": [], # gateway routes
}
フェーズ 4: 要求されたビューの生成
ユーザーの要求に基づいて、適切なビューを生成します。
| ビュー | コマンド/トリガー | 出力 |
|---|---|---|
| サービス依存関係グラフ | "dependency graph", "show dependencies" | Mermaid グラフ |
| リクエストフローマップ | "request flows", "how requests flow" | Mermaid フローチャート |
| イベントトポロジ | "event topology", "event map" | Mermaid グラフ |
| サービスグループ | "group services", "services by domain" | Markdown テーブル |
| 完全なアーキテクチャ | "architecture view", "full architecture" | すべてのビューを組み合わせる |
ビューテンプレート
サービス依存関係グラフ
graph TD
Gateway[api-gateway<br/>type: gateway] --> Auth[auth-service<br/>type: service]
Gateway --> Users[user-service<br/>type: service]
Gateway --> Orders[order-service<br/>type: service]
Users --> DB[(user-db<br/>type: database)]
Auth --> Redis[(redis<br/>type: cache)]
Orders --> OrdersDB[(order-db<br/>type: database)]
Orders --> Worker[order-processor<br/>type: worker]
生成ロジック:
- ノード:
catalog-info.yamlからのすべてのコンポーネント - エッジ:
dependsOn関係から - 形状: データベースノードは
[(name)]を使用し、その他は[name]を使用 - ラベル:
nameとtypeを含む
リクエストフローマップ
flowchart LR
Client[Client] --> Gateway[api-gateway]
Gateway -->|/api/users/*| Users[user-service]
Gateway -->|/api/auth/*| Auth[auth-service]
Gateway -->|/api/orders/*| Orders[order-service]
Users --> DB[(user-db)]
Auth --> Redis[(redis)]
生成ロジック:
- ゲートウェイコンポーネント(type: gateway)から開始
routesに従ってダウンストリームサービスを見つける- ルートパスをエッジラベルとして含める
- サービス依存関係に従ってデータベースに移動
イベントトポロジ
graph LR
Orders[order-service] -->|order.placed| Kafka1[Kafka: order-placed]
Orders -->|order.cancelled| Kafka2[Kafka: order-cancelled]
Kafka1 --> User[user-service]
Kafka1 --> Notif[notification-service]
Kafka2 --> User
Worker[order-processor] -->|order.processed| Kafka3[Kafka: order-processed]
Kafka1 --> Worker
生成ロジック:
- ノード: サービス(
eventProducersから)と Kafka トピック(topicフィールドから) - エッジ: プロデューサー → トピック、トピック → コンシューマー
- ラベル: エッジ上のトピック名
サービスグループ
ドメイン別: | ドメイン | サービス | オーナー | |--------|----------|-------| | trading | order-service, trade-service, order-processor | trading-team | | platform | api-gateway, user-service, auth-service | platform-team | | shared | shared-utils, shared-types | platform-team |
タイプ別: | タイプ | サービス | |------|----------| | gateway | api-gateway | | service | user-service, auth-service, order-service | | worker | order-processor, notification-worker | | library | shared-utils, shared-types |
生成ロジック:
spec.domainフィールドでグループ化- 各ドメインのオーナーを表示
- グループごとのサービス数をカウント
スクリプト
aggregate-metadata.py
リポジトリからすべての catalog-info.yaml ファイルを収集します。
# repos ディレクトリから集約
python skills/arch-view/scripts/aggregate-metadata.py repos/
# JSON として出力
python skills/arch-view/scripts/aggregate-metadata.py repos/ --format json
# サマリーとして出力
python skills/arch-view/scripts/aggregate-metadata.py repos/ --summary
generate-mermaid.py
集約されたメタデータを Mermaid ダイアグラムに変換します。
# すべてのビューを生成
python skills/arch-view/scripts/generate-mermaid.py aggregated.json
# 特定のビューを生成
python skills/arch-view/scripts/generate-mermaid.py aggregated.json --view dependency
python skills/arch-view/scripts/generate-mermaid.py aggregated.json --view request-flow
python skills/arch-view/scripts/generate-mermaid.py aggregated.json --view events
サブエージェントの使用
サブエージェントを起動して、メタデータを並行して読み取ります。
効率を高めるために、複数のサブエージェントを同時に起動します。
Subagent 1: "repos/api-gateway/catalog-info.yaml を読み取り、解析された YAML を返す"
Subagent 2: "repos/user-service/catalog-info.yaml を読み取り、解析された YAML を返す"
Subagent 3: "repos/order-service/c
(原文はここで切り詰められています) 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Architecture View
Generate cross-repository architectural views by aggregating catalog-info.yaml metadata from all repositories using parallel subagents.
Purpose
Create visual architectural representations (Mermaid diagrams, markdown tables) that show how services fit together, how requests flow through gateways, how events propagate, and how services group by domain/team.
When to Use
Trigger this skill when:
- User asks to "show service dependency graph" or "map the architecture"
- User wants to understand "how services connect"
- User asks about "request flows" or "event topology"
- User wants to "group services by domain/team"
- User mentions "cross-repo architecture" or "system architecture"
Workflow
Phase 1: Discover Repositories
Find all repositories to analyze:
- Check
repos/directory - Local cloned repositories - Optionally fetch from GitHub - Use
gh repo list Astrabit-CPTfor full list - Filter for active repos - Skip archived or template repos
Phase 2: Parallel Metadata Collection
Use subagents IN PARALLEL to read each repository's catalog-info.yaml:
For each repo:
Launch subagent with: "Read catalog-info.yaml from [repo_path] and return the parsed content"
Parallel processing strategy:
- Launch 5-10 subagents simultaneously
- Collect all results
- Handle missing metadata gracefully (skip or note as missing)
Phase 3: Aggregate and Build Model
Combine all metadata into a unified model:
aggregated = {
"components": {}, # name -> catalog info
"dependencies": set(), # (from, to) tuples
"gateways": [],
"services": [],
"workers": [],
"domains": {}, # domain -> [components]
"events": {
"producers": {}, # topic -> [producers]
"consumers": {}, # topic -> [consumers]
},
"routes": [], # gateway routes
}
Phase 4: Generate Requested View
Based on user request, generate the appropriate view:
| View | Command/Trigger | Output |
|---|---|---|
| Service Dependency Graph | "dependency graph", "show dependencies" | Mermaid graph |
| Request Flow Maps | "request flows", "how requests flow" | Mermaid flowchart |
| Event Topology | "event topology", "event map" | Mermaid graph |
| Service Groupings | "group services", "services by domain" | Markdown tables |
| Full Architecture | "architecture view", "full architecture" | All views combined |
View Templates
Service Dependency Graph
graph TD
Gateway[api-gateway<br/>type: gateway] --> Auth[auth-service<br/>type: service]
Gateway --> Users[user-service<br/>type: service]
Gateway --> Orders[order-service<br/>type: service]
Users --> DB[(user-db<br/>type: database)]
Auth --> Redis[(redis<br/>type: cache)]
Orders --> OrdersDB[(order-db<br/>type: database)]
Orders --> Worker[order-processor<br/>type: worker]
Generation logic:
- Nodes: All components from
catalog-info.yaml - Edges: From
dependsOnrelationships - Shape: Database nodes use
[(name)], others use[name] - Labels: Include
nameandtype
Request Flow Map
flowchart LR
Client[Client] --> Gateway[api-gateway]
Gateway -->|/api/users/*| Users[user-service]
Gateway -->|/api/auth/*| Auth[auth-service]
Gateway -->|/api/orders/*| Orders[order-service]
Users --> DB[(user-db)]
Auth --> Redis[(redis)]
Generation logic:
- Start from gateway components (type: gateway)
- Follow
routesto find downstream services - Include route paths as edge labels
- Follow service dependencies to databases
Event Topology
graph LR
Orders[order-service] -->|order.placed| Kafka1[Kafka: order-placed]
Orders -->|order.cancelled| Kafka2[Kafka: order-cancelled]
Kafka1 --> User[user-service]
Kafka1 --> Notif[notification-service]
Kafka2 --> User
Worker[order-processor] -->|order.processed| Kafka3[Kafka: order-processed]
Kafka1 --> Worker
Generation logic:
- Nodes: Services (from
eventProducers) and Kafka topics (fromtopicfield) - Edges: Producer → Topic, Topic → Consumer
- Labels: Topic names on edges
Service Groupings
By Domain: | Domain | Services | Owner | |--------|----------|-------| | trading | order-service, trade-service, order-processor | trading-team | | platform | api-gateway, user-service, auth-service | platform-team | | shared | shared-utils, shared-types | platform-team |
By Type: | Type | Services | |------|----------| | gateway | api-gateway | | service | user-service, auth-service, order-service | | worker | order-processor, notification-worker | | library | shared-utils, shared-types |
Generation logic:
- Group by
spec.domainfield - Show owner for each domain
- Count services per grouping
Scripts
aggregate-metadata.py
Collect all catalog-info.yaml files from repositories:
# Aggregate from repos directory
python skills/arch-view/scripts/aggregate-metadata.py repos/
# Output as JSON
python skills/arch-view/scripts/aggregate-metadata.py repos/ --format json
# Output as summary
python skills/arch-view/scripts/aggregate-metadata.py repos/ --summary
generate-mermaid.py
Convert aggregated metadata to Mermaid diagrams:
# Generate all views
python skills/arch-view/scripts/generate-mermaid.py aggregated.json
# Generate specific view
python skills/arch-view/scripts/generate-mermaid.py aggregated.json --view dependency
python skills/arch-view/scripts/generate-mermaid.py aggregated.json --view request-flow
python skills/arch-view/scripts/generate-mermaid.py aggregated.json --view events
Using Subagents
Launch subagents to read metadata in parallel:
For efficiency, launch multiple subagents simultaneously:
Subagent 1: "Read repos/api-gateway/catalog-info.yaml and return parsed YAML"
Subagent 2: "Read repos/user-service/catalog-info.yaml and return parsed YAML"
Subagent 3: "Read repos/order-service/catalog-info.yaml and return parsed YAML"
... (continue for all repos)
Collect results and aggregate.
Tip: Limit to 5-10 concurrent subagents to avoid overwhelming the system.
Output Format
Present results as:
- Summary - Quick overview of what was found
- Visual diagrams - Mermaid graphs that render in supported viewers
- Tables - Groupings and listings
- Missing metadata - List of repos without catalog-info.yaml
Example Output Structure
# Architecture View
## Summary
- Total repositories: 15
- Components with metadata: 12
- Missing metadata: 3
- Gateways: 1
- Services: 8
- Workers: 2
- Libraries: 1
## Service Dependency Graph
[Mermaid diagram]
## Request Flow Map
[Mermaid diagram]
## Event Topology
[Mermaid diagram]
## Service Groupings
[Markdown tables]
## Missing Metadata
The following repositories lack catalog-info.yaml:
- repo-a
- repo-b
- repo-c
Additional Resources
Reference Files
references/view-templates.md- Mermaid templates for each view typereferences/mermaid-guide.md- Mermaid syntax reference
Scripts
scripts/aggregate-metadata.py- Collect catalog-info.yaml from all reposscripts/generate-mermaid.py- Convert metadata to Mermaid diagrams
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (7,651 bytes)
- 📎 references/view-templates.md (5,518 bytes)
- 📎 scripts/aggregate-metadata.py (10,714 bytes)
- 📎 scripts/generate-mermaid.py (10,504 bytes)