Agent Skills by ALSEL
Anthropic ClaudeDevOps・インフラ⭐ リポ 0品質スコア 50/100

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固有のダイアグラムを生成します:

  1. AWSリソースの解析: CloudFormation、CLI出力、または説明からリソースを抽出
  2. AWS関係のマッピング: VPC、サブネット、セキュリティグループ、IAMロールを識別
  3. Eraser DSLの生成: AWSリソースからEraser DSLコードを作成
  4. Eraser APIの呼び出し: diagramType: "cloud-architecture-diagram"/api/render/elements を使用

手順

ユーザーがAWSインフラストラクチャ情報を提供した場合:

  1. ソースを解析する

    • CloudFormation: Resources セクションを抽出し、タイプを識別 (AWS::EC2::Instance など)
    • CLI出力: aws コマンドからのJSON出力を解析
    • 説明: AWSサービス名と関係を識別
  2. 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
  3. 関係をマッピングする

    • サブネット内のEC2インスタンス
    • VPC内のサブネット
    • インスタンスに接続されたセキュリティグループ
    • サービスに接続されたIAMロール
    • インスタンスをターゲットとするロードバランサー
    • アプリケーションによってアクセスされるデータベース
  4. 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
    
  5. 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
      }'
    
  6. 分析中のソースを追跡する

    ファイルとリソースを分析してダイアグラムを生成する際に、以下を追跡します:

    • 内部ファイル: 読み込んだ各ファイルパスと抽出した情報を記録 (例: infra/main.tf - VPCおよびサブネット定義)
    • 外部参照: 参照したドキュメント、例、またはURL (例: AWS VPCベストプラクティスドキュメント)
    • 注釈: 各ソースについて、ダイアグラムへの貢献内容を記録
  7. レスポンスを処理する

    重大: 最小限の出力形式

    レスポンスは常に以下の要素を含める必要があります (明確なヘッダー付き):

    1. ダイアグラムプレビュー: ヘッダー付きで表示

      ## Diagram
      ![{Title}]({imageUrl})
      

      APIレスポンスから実際の imageUrl を使用します。

    2. エディターリンク: ヘッダー付きで表示

      ## Open in Eraser
      [Edit this diagram in the Eraser editor]({createEraserFileUrl})
      

      APIレスポンスから実際のURLを使用します。

    3. ソースセクション: 分析されたファイル/リソースの簡潔なリスト (該当する場合)

      ## Sources
      - `path/to/file` - What was extracted
      
    4. ダイアグラムコードセクション: eraser 言語タグ付きのコードブロック内のEraser DSL

      ## Diagram Code
      ```eraser
      {DSL code here}
      
    5. 詳細はこちらリンク: 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

期待される動作

  1. CloudFormationを解析:

    • ネットワーク: VPC、サブネット
    • コンピュート: EC2インスタンス、Lambda関数
    • ストレージ: S3バケット
    • データベース: RDS PostgreSQLインスタンス
  2. 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でグループ化。

  3. diagramType: "cloud-architecture-diagram"/api/render/elements を呼び出す

例: AWS CLI出力

ユーザー入力

ユーザーが実行: aws ec2 describe-instances
JSON出力を提供

期待される動作

  1. JSONを解析して以下を抽出:

    • インスタンスID、タイプ、状態
    • サブネットID、VPC ID
    • セキュリティグループ
    • タグ
  2. フォーマットしてAPIを呼び出す

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
eraserlabs
リポジトリ
eraserlabs/eraser-io
ライセンス
MIT
最終更新
不明

Source: https://github.com/eraserlabs/eraser-io / ライセンス: MIT

関連スキル

汎用DevOps・インフラ⭐ リポ 502

superpowers-streamer-cli

SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。

by rohanarun
汎用DevOps・インフラ⭐ リポ 493

catc-client-ops

Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。

by automateyournetwork
汎用DevOps・インフラ⭐ リポ 39,967

ci-cd-and-automation

CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。

by addyosmani
汎用DevOps・インフラ⭐ リポ 39,967

shipping-and-launch

本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。

by addyosmani
OpenAIDevOps・インフラ⭐ リポ 38,974

linear-release-setup

Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。

by novuhq
Anthropic ClaudeDevOps・インフラ⭐ リポ 2,159

tracking-application-response-times

API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。

by jeremylongshore
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: eraserlabs · eraserlabs/eraser-io · ライセンス: MIT