aws-diagrams
AWSのCLI出力、CloudFormation、またはテキスト説明からインフラ構成を可視化します。ユーザーがAWSリソースの構成図を作成したい場合に使用します。
description の原文を見る
Visualizes AWS infrastructure from CLI output, CloudFormation, or descriptions. Use when user has AWS resources to diagram.
SKILL.md 本文
AWSダイアグラムジェネレーター
CloudFormationテンプレート、AWS CLI出力、または自然言語の説明からAWSインフラストラクチャのアーキテクチャダイアグラムを生成します。
使用する場面
このスキルは以下の場合に有効化します:
- ユーザーがAWS CloudFormationテンプレート (YAML/JSON) を持っている
- ユーザーがAWS CLI出力を提供している (例:
aws ec2 describe-instances) - ユーザーがAWSリソースを可視化したい
- ユーザーがAWSサービス (EC2、S3、RDS、Lambda、VPC など) について言及している
- ユーザーが「AWSインフラストラクチャをダイアグラム化して」とリクエストしている
仕組み
このスキルはAWSリソースを解析し、Eraser APIを直接呼び出すことでAWS固有のダイアグラムを生成します:
- AWSリソースの解析: CloudFormation、CLI出力、または説明からリソースを抽出
- AWS関係のマッピング: VPC、サブネット、セキュリティグループ、IAMロールを識別
- Eraser DSLの生成: AWSリソースからEraser DSLコードを作成
- Eraser APIの呼び出し:
diagramType: "cloud-architecture-diagram"で/api/render/elementsを使用
手順
ユーザーがAWSインフラストラクチャ情報を提供した場合:
-
ソースを解析する
- CloudFormation:
Resourcesセクションを抽出し、タイプを識別 (AWS::EC2::Instance など) - CLI出力:
awsコマンドからのJSON出力を解析 - 説明: AWSサービス名と関係を識別
- CloudFormation:
-
AWSコンポーネントを識別する
- ネットワーク: VPC、サブネット、インターネットゲートウェイ、NATゲートウェイ、ルートテーブル
- コンピュート: EC2インスタンス、Auto Scalingグループ、Lambda関数、ECSサービス
- ストレージ: S3バケット、EBSボリューム、EFSファイルシステム
- データベース: RDSインスタンス、DynamoDBテーブル、ElastiCacheクラスター
- セキュリティ: セキュリティグループ、IAMロール、IAMポリシー、NACL
- ロードバランシング: ALB、NLB、CLB
- その他: SQSキュー、SNSトピック、API Gateway、CloudFront
-
関係をマッピングする
- サブネット内のEC2インスタンス
- VPC内のサブネット
- インスタンスに接続されたセキュリティグループ
- サービスに接続されたIAMロール
- インスタンスをターゲットとするロードバランサー
- アプリケーションによってアクセスされるデータベース
-
Eraser DSLを生成する AWSリソースをEraser DSLに変換します:
- 重要: ラベル書式設定ルール
- ラベルは1行でなければならない - ラベル属性内で改行を使用しない
- ラベルはシンプルで読みやすく - メタデータを詰め込むより個別のラベルを優先
- DSLを適切に行分割してフォーマット (ノード/グループごとに1行、ラベルは1行のまま)
- CIDRブロックやインスタンスタイプなどのメタデータを含める場合、同じクォートされたラベル文字列に含める:
[label: "VPC 10.0.0.0/16"]
例:
main-vpc [label: "VPC 10.0.0.0/16"] { public-subnet [label: "Public Subnet"] { web-server [icon: aws-ec2, label: "Web Server"] load-balancer [icon: aws-elb] } private-subnet [label: "Private Subnet"] { database [icon: aws-rds] cache [icon: aws-elasticache] } } data-bucket [icon: aws-s3] function [icon: aws-lambda] load-balancer -> web-server web-server -> database - 重要: ラベル書式設定ルール
-
HTTPリクエストを作成する
重要: DSL生成後、このcurlコマンドを実行する必要があります。DSL生成後、API呼び出しなしで停止しないでください。
重大: 以下の
X-Skill-Sourceヘッダーの値をあなたのAIエージェント名に置き換える必要があります:- Claude (Anthropic) の場合:
claudeを使用 - Cursorで実行している場合:
cursorを使用 - ChatGPT (OpenAI) の場合:
chatgptを使用 - Gemini (Google) の場合:
geminiを使用 - その他の場合: モデル/エージェント名を小文字で使用
curl -X POST https://app.eraser.io/api/render/elements \ -H "Content-Type: application/json" \ -H "X-Skill-Source: eraser-skill" \ -H "Authorization: Bearer ${ERASER_API_KEY}" \ -d '{ "elements": [{ "type": "diagram", "id": "diagram-1", "code": "<your generated DSL>", "diagramType": "cloud-architecture-diagram" }], "scale": 2, "theme": "${ERASER_THEME:-dark}", "background": true }' - Claude (Anthropic) の場合:
-
分析中のソースを追跡する
ファイルとリソースを分析してダイアグラムを生成する際に、以下を追跡します:
- 内部ファイル: 読み込んだ各ファイルパスと抽出した情報を記録 (例:
infra/main.tf- VPCおよびサブネット定義) - 外部参照: 参照したドキュメント、例、またはURL (例: AWS VPCベストプラクティスドキュメント)
- 注釈: 各ソースについて、ダイアグラムへの貢献内容を記録
- 内部ファイル: 読み込んだ各ファイルパスと抽出した情報を記録 (例:
-
レスポンスを処理する
重大: 最小限の出力形式
レスポンスは常に以下の要素を含める必要があります (明確なヘッダー付き):
-
ダイアグラムプレビュー: ヘッダー付きで表示
## Diagram APIレスポンスから実際の
imageUrlを使用します。 -
エディターリンク: ヘッダー付きで表示
## Open in Eraser [Edit this diagram in the Eraser editor]({createEraserFileUrl})APIレスポンスから実際のURLを使用します。
-
ソースセクション: 分析されたファイル/リソースの簡潔なリスト (該当する場合)
## Sources - `path/to/file` - What was extracted -
ダイアグラムコードセクション:
eraser言語タグ付きのコードブロック内のEraser DSL## Diagram Code ```eraser {DSL code here} -
詳細はこちらリンク:
You can learn more about Eraser at https://docs.eraser.io/docs/using-ai-agent-integrations
追加コンテンツルール:
- ユーザーがダイアグラムのみをリクエストした場合、上記の5要素を超えるコンテンツを含めない
- ユーザーがより多くをリクエストした場合 (例: 「アーキテクチャを説明して」、「改善を提案して」)、追加コンテンツを含めることができます
- Overview、セキュリティに関する考慮事項、テストなどのリクエストされていないセクションを追加しない
デフォルト出力は短くすべきです。ダイアグラム画像が自分自身を語ります。
-
AWS固有のヒント
- リージョンとAZを表示: マルチAZデプロイメント用に利用可能ゾーンを含める
- VPCをコンテナとして: VPCが常にサブネットとリソースを含んでいることを示す
- セキュリティグループ: セキュリティグループのルールと接続を含める
- IAMロール: サービスに接続されたIAMロールを表示
- データフロー: トラフィックフロー (インターネット → ALB → EC2 → RDS) を表示
- AWS アイコンを使用: 説明でAWS固有のスタイリングをリクエスト
例: 複数のAWSサービスを備えたCloudFormation
ユーザー入力
Resources:
MyVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
PublicSubnet:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref MyVPC
CidrBlock: 10.0.1.0/24
WebServer:
Type: AWS::EC2::Instance
Properties:
InstanceType: t3.micro
SubnetId: !Ref PublicSubnet
MyBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: my-app-bucket
MyFunction:
Type: AWS::Lambda::Function
Properties:
Runtime: python3.9
Handler: index.handler
MyDatabase:
Type: AWS::RDS::DBInstance
Properties:
Engine: postgres
DBInstanceClass: db.t3.micro
期待される動作
-
CloudFormationを解析:
- ネットワーク: VPC、サブネット
- コンピュート: EC2インスタンス、Lambda関数
- ストレージ: S3バケット
- データベース: RDS PostgreSQLインスタンス
-
AWSサービスの多様性を示すDSLを生成:
MyVPC [label: "VPC 10.0.0.0/16"] { PublicSubnet [label: "Public Subnet 10.0.1.0/24"] { WebServer [icon: aws-ec2, label: "EC2 t3.micro"] } } MyBucket [icon: aws-s3, label: "S3 my-app-bucket"] MyFunction [icon: aws-lambda, label: "Lambda python3.9"] MyDatabase [icon: aws-rds, label: "RDS PostgreSQL db.t3.micro"] WebServer -> MyBucket MyFunction -> MyDatabase WebServer -> MyDatabase重要: すべてのラベルテキストはクォート内の1行でなければならない。AWS固有: サービスアイコンを含める、サービス間のデータフローを表示、該当する場合はVPCでグループ化。
-
diagramType: "cloud-architecture-diagram"で/api/render/elementsを呼び出す
例: AWS CLI出力
ユーザー入力
ユーザーが実行: aws ec2 describe-instances
JSON出力を提供
期待される動作
-
JSONを解析して以下を抽出:
- インスタンスID、タイプ、状態
- サブネットID、VPC ID
- セキュリティグループ
- タグ
-
フォーマットしてAPIを呼び出す
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- eraserlabs
- リポジトリ
- eraserlabs/eraser-io
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/eraserlabs/eraser-io / ライセンス: 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 パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。