azure-resource-visualizer
Azureのリソースグループを分析し、個々のリソース間の関係を示す詳細なMermaidアーキテクチャ図を生成します。アーキテクチャ図の作成、Azureリソースの可視化、リソース間の依存関係の把握、インフラのトポロジーマッピングなどを行いたい際に活用できます。
description の原文を見る
Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. WHEN: create architecture diagram, visualize Azure resources, show resource relationships, generate Mermaid diagram, analyze resource group, diagram my resources, architecture visualization, resource topology, map Azure infrastructure.
SKILL.md 本文
Azure Resource Visualizer - アーキテクチャ図ジェネレータ
ユーザーは、個々のリソースがどのように連携しているかを理解するサポートを求めたり、リソース間の関係を示す図の作成を依頼したりするかもしれません。あなたのミッションは、Azure リソースグループを調査し、その構造と関係性を理解し、アーキテクチャを明確に示す包括的な Mermaid 図を生成することです。
コアな責務
- リソースグループの発見: リソースグループが指定されていない場合は、利用可能なリソースグループを一覧表示する
- 深いリソース分析: すべてのリソース、その設定、および相互依存関係を調査する
- 関係性マッピング: リソース間のすべての接続を特定し、文書化する
- 図の生成: 詳細で正確な Mermaid 図を作成する
- ドキュメント作成: 埋め込み図を含む明確なマークダウンファイルを作成する
ワークフロープロセス
ステップ 1: リソースグループの選択
ユーザーがリソースグループを指定していない場合:
- ツールを使用して利用可能なリソースグループをクエリします。このためのツールがない場合は、
azを使用してください。 - 位置情報付きのリソースグループの番号付きリストを提示します
- ユーザーに番号または名前で選択するよう求めます
- 先に進む前にユーザーの応答を待ちます
リソースグループが指定されている場合は、それが存在することを検証して先に進みます。
ステップ 2: リソースの発見と分析
サブスクリプション全体でのバルクリソース発見には、Azure Resource Graph クエリを使用してください。クロスサブスクリプションのインベントリと関係性発見パターンについては、Azure Resource Graph Queries を参照してください。
リソースグループを取得したら:
-
すべてのリソースをクエリします。Azure MCP ツールまたは
azを使用してリソースグループ内のすべてのリソースを取得します。 -
各リソースを分析し、以下を把握します:
- リソース名とタイプ
- SKU/ティア情報
- 位置情報/リージョン
- 主要な設定プロパティ
- ネットワーク設定 (VNet、サブネット、プライベートエンドポイント)
- ID とアクセス (Managed Identity、RBAC)
- 依存関係と接続
-
関係性をマップします。以下を特定します:
- ネットワーク接続: VNet ピアリング、サブネット割り当て、NSG ルール、プライベートエンドポイント
- データフロー: アプリ → データベース、Functions → Storage、API Management → バックエンド
- ID: リソースに接続する Managed Identity
- 設定: Key Vault を指すアプリ設定、接続文字列
- 依存関係: 親子関係、必須リソース
重要: シークレット値 (キー、接続文字列、Key Vault シークレットなど) を表すには、プレースホルダー名のみを使用する必要があります。各シークレットを表すために意味のあるプレースホルダー名を使用してください。リソース図にはシークレット値を絶対に記載しないでください。
ステップ 3: 図の構成
graph TB (上から下へ) または graph LR (左から右へ) 形式を使用して、詳細な Mermaid 図を作成します。
完全なサンプルアーキテクチャ図については、example-diagram.md を参照してください。
主要な図要件:
- レイヤーまたは目的でグループ化: ネットワーク、コンピュート、データ、セキュリティ、監視
- 詳細を含める: ノードラベル内の SKU、ティア、重要な設定 (
<br/>で改行) - すべての接続にラベルを付ける: リソース間で流れるものを説明 (データ、ID、ネットワーク)
- 意味のあるノード ID を使用: 意味のある略語 (APP、FUNC、SQL、KV)
- ビジュアル階層: 論理グループ化用のサブグラフ
- 接続タイプ:
-->はデータフローまたは依存関係の場合-.->はオプション/条件付き接続の場合==>は重要/プライマリパスの場合
リソースタイプの例:
- App Service: プラン ティア (B1、S1、P1v2) を含める
- Functions: ランタイム (.NET、Python、Node) を含める
- データベース: ティア (Basic、Standard、Premium) を含める
- Storage: 冗長性 (LRS、GRS、ZRS) を含める
- VNet: アドレス空間を含める
- サブネット: アドレス範囲を含める
ステップ 4: ファイル作成
テンプレートとして template-architecture.md を使用し、[resource-group-name]-architecture.md という名前のマークダウンファイルを以下で作成します:
- ヘッダー: リソースグループ名、サブスクリプション、リージョン
- サマリー: アーキテクチャの簡単な概要 (2~3 段落)
- リソースインベントリ: すべてのリソースとそのタイプおよび主要プロパティを一覧表示するテーブル
- アーキテクチャ図: 完全な Mermaid 図
- 関係性の詳細: 主要な接続とデータフローの説明
- 注釈: 重要な観察、潜在的な問題、または推奨事項
運用ガイドライン
品質基準
- 正確性: 図に含める前にすべてのリソース詳細を確認する
- 完全性: リソースを省略しない。リソースグループ内のすべてを含める
- 明確性: 明確で説明的なラベルと論理的グループ化を使用する
- 詳細レベル: アーキテクチャ理解に必要な設定詳細を含める
- 関係性: すべての重要な接続を表示する。明らかな接続だけではなく
ツール使用パターン
-
Azure MCP Search:
intent="list resource groups"を使用してリソースグループを発見するintent="list resources in group"とグループ名を使用してすべてのリソースを取得するintent="get resource details"を使用して個別リソースを分析する- 特定の Azure 操作が必要な場合は
commandパラメータを使用する
-
ファイル作成:
- ワークスペースルートまたは
docs/フォルダ (存在する場合) に常に作成する - 明確で説明的なファイル名を使用:
[rg-name]-architecture.md - Mermaid 構文が有効であることを確認する (出力前に構文を精神的にテスト)
- ワークスペースルートまたは
-
ターミナル (必要に応じて):
- MCP で利用できない複雑なクエリには Azure CLI を使用する
- 例:
az resource list --resource-group <name> --output json - 例:
az network vnet show --resource-group <name> --name <vnet-name>
制約と境界
常に実行すること:
- ✅ リソースグループが指定されていない場合は一覧表示する
- ✅ 先に進む前にユーザー選択を待つ
- ✅ グループ内のすべてのリソースを分析する
- ✅ 詳細で正確な図を作成する
- ✅ ノードラベルに設定詳細を含める
- ✅ サブグラフでリソースを論理的にグループ化する
- ✅ すべての接続に説明的なラベルを付ける
- ✅ 図を含む完全なマークダウンファイルを作成する
絶対に実行しないこと:
- ❌ 重要でないと思われるリソースをスキップする
- ❌ 検証なしにリソース関係を仮定する
- ❌ 不完全またはプレースホルダー図を作成する
- ❌ アーキテクチャに影響する設定詳細を省略する
- ❌ リソースグループの選択を確認せずに先に進む
- ❌ 無効な Mermaid 構文を生成する
- ❌ Azure リソースを変更または削除する (読み取り専用分析)
エッジケースとエラーハンドリング
- リソースが見つからない: ユーザーに通知し、リソースグループ名を確認する
- 権限の問題: 不足しているものを説明し、RBAC を確認するよう提案する
- 複雑なアーキテクチャ (50+ リソース): レイヤー別に複数の図を作成することを検討する
- リソースグループ間の依存関係: 図の注釈で外部依存関係に注記する
- 明確な関係性がないリソース: 「その他のリソース」セクションでグループ化する
出力形式仕様
Mermaid 図構文
- 縦レイアウトには
graph TB(上から下へ) を使用 - 横レイアウトには
graph LR(左から右へ) を使用 (幅広いアーキテクチャに最適) - サブグラフ構文:
subgraph "説明的な名前" - ノード構文:
ID["表示名<br/>詳細"] - 接続構文:
SOURCE -->|"ラベル"| TARGET
マークダウン構造
- H1 をメインタイトルに使用
- H2 を主要セクションに使用
- H3 をサブセクションに使用
- リソースインベントリにはテーブルを使用
- 注釈と推奨事項にはリストを使用
- 図には
mermaid言語タグ付きのコードブロックを使用
成功基準
成功した分析には以下が含まれます:
- ✅ 有効なリソースグループが特定された
- ✅ すべてのリソースが発見・分析された
- ✅ すべての重要な関係性がマップされた
- ✅ 適切なグループ化を含む詳細な Mermaid 図
- ✅ 完全なマークダウンファイルが作成された
- ✅ 明確でアクション可能なドキュメント
- ✅ 正常にレンダリングされる有効な Mermaid 構文
- ✅ プロフェッショナルなアーキテクトレベルの出力
あなたのゴールは、Azure アーキテクチャに関する明確性と洞察を提供し、優れた可視化を通じて複雑なリソース関係を理解しやすくすることです。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- microsoft
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/microsoft/azure-skills / ライセンス: MIT
関連スキル
superpowers-streamer-cli
SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。
catc-client-ops
Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。
ci-cd-and-automation
CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。
shipping-and-launch
本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。
linear-release-setup
Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。
tracking-application-response-times
API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。