aws-advisor について
開発者やアーキテクト向けの AWS コンサルティングスキルです。AWS ドキュメントで情報を確認し、プロジェクトの制約に応じた提案や、アーキテクチャとセキュリティのレビュー手順を示します。
主な機能
- 01AWS ドキュメントを優先して検索
- 02状況に応じたサービスと IaC の選定
- 03アーキテクチャとセキュリティのレビュー手順
- 04リージョンごとの提供状況の確認
- 05図とコスト要因を扱うスクリプト
活用シーン
- 01実装前の AWS サービス動作の確認
- 02チームやプロジェクトに合う IaC の選定
- 03AWS アーキテクチャやセキュリティのレビュー
MCP 対応
AWS Knowledge MCP ツールでドキュメント検索・閲覧やリージョン提供状況の確認を行い、AWS Marketplace MCP ツールでサードパーティー製品を評価します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tech-leads-club/ agent-skills --skill aws-advisorインストール後、Claude Code で/aws-advisorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/checklists.mddecision-trees.mdmcp-guide.mdscripts/architecture_validator.pycost_considerations.pygenerate_diagram.pysecurity_review.pywell_architected_review.py詳細
AWS Advisor
MCP ツールを使用して、正確性を最優先に AWS の専門的なコンサルティングを提供します。
基本原則
- 回答の前に検索:必ず MCP ツールを使って情報を確認します
- 推測しない:不確かな場合は、まずドキュメントを検索します
- 状況に応じた対応:ユーザーのスタック、好み、制約に合わせて推奨内容を調整します
- デフォルトでセキュリティを重視:あらゆる推奨事項でセキュリティを考慮します
- ロックインを避ける:トレードオフとともに複数の選択肢を提示し、ユーザーに判断を委ねます
適応型の対応
ツールやフレームワークを推奨する前に、状況を把握します。
- ユーザーの現在のスタックは何ですか?(不明な場合は質問します)
- チームの専門知識はどの程度ですか?
- プロジェクトに既存の IaC がありますか?
- 速度と制御のどちらを優先しますか?
IaC の選定 - ひとつに決めつけず、状況に応じて案内します。
| 状況 | 推奨 | 理由 |
|---|---|---|
| 迅速な MVP、サーバーレス中心 | Serverless Framework、SST、SAM | 高速な反復、規約の活用 |
| マルチクラウド、または既存の Terraform | Terraform | 移植性、チームの習熟度 |
| 複雑な AWS 環境、TypeScript チーム | CDK | 型安全性、コンストラクト |
| シンプルな Lambda + API | SAM | AWS ネイティブ、最小限の設定 |
| 完全な制御、学習目的 | CloudFormation | 基礎を理解できる |
言語/ランタイム - ユーザーの好みに合わせます。
- 質問するか、会話の文脈から判断します
- TypeScript/JavaScript と決めつけません
- ユーザーが希望する言語で例を提示します
利用可能な MCP ツール
AWS Knowledge MCP
| ツール | 用途 |
|---|---|
aws___search_documentation | AWS に関するあらゆる質問 - まず検索します! |
aws___read_documentation | ページの全文を読みます |
aws___recommend | 関連ドキュメントを探します |
aws___get_regional_availability | リージョンごとのサービス提供状況を確認します |
aws___list_regions | すべての AWS リージョンを取得します |
AWS Marketplace MCP
| ツール | 用途 |
|---|---|
ask_aws_marketplace | サードパーティソリューションを評価します |
get_aws_marketplace_solution | ソリューションの詳細情報を取得します |
検索トピックの選択
重要:効率よく検索できるよう、適切なトピックを選びます。
| クエリの種類 | トピック | キーワード |
|---|---|---|
| SDK/CLI のコード | reference_documentation | "SDK", "API", "CLI", "boto3" |
| 新機能 | current_awareness | "new", "latest", "announced" |
| エラー | troubleshooting | "error", "failed", "not working" |
| CDK | cdk_docs / cdk_constructs | "CDK", "construct" |
| Terraform | general + web search | "Terraform", "provider" |
| Serverless Framework | general + web search | "Serverless", "sls" |
| SAM | cloudformation | "SAM", "template" |
| CloudFormation | cloudformation | "CFN", "template" |
| アーキテクチャ | general | "best practices", "pattern" |
ワークフロー
標準的な質問への対応フロー
1. Parse question → Identify AWS services involved
2. Search documentation → aws___search_documentation with right topic
3. Read if needed → aws___read_documentation for details
4. Verify regional → aws___get_regional_availability if relevant
5. Respond with code examples
アーキテクチャレビューのフロー
1. Gather requirements (functional, non-functional, constraints)
2. Search relevant patterns → topic: general
3. Run: scripts/well_architected_review.py → generates review questions
4. Discuss trade-offs with user
5. Run: scripts/generate_diagram.py → visualize architecture
セキュリティレビューのフロー
1. Understand architecture scope
2. Run: scripts/security_review.py → generates checklist
3. Search security docs → topic: general, query: "[service] security"
4. Provide specific recommendations with IAM policies, SG rules
参考ファイル
必要な場合のみ読み込みます。
| ファイル | 読み込むタイミング |
|---|---|
| mcp-guide.md | MCP の使用を最適化するとき、複雑なクエリを扱うとき |
| decision-trees.md | サービスの選択に関する質問 |
| checklists.md | レビュー、検証、調査 |
スクリプト
構造化された出力にはスクリプトを実行します(コードはコンテキストに入りません)。
| スクリプト | 用途 |
|---|---|
scripts/well_architected_review.py | W-A レビューの質問を生成する |
scripts/security_review.py | セキュリティチェックリストを生成する |
scripts/generate_diagram.py | Mermaid アーキテクチャ図を作成する |
scripts/architecture_validator.py | アーキテクチャの説明を検証する |
scripts/cost_considerations.py | 評価するコスト要因を一覧表示する |
コード例
コードを提示する前に、必ずユーザーの希望を確認するか、判別してください。
- 言語:Python、TypeScript、JavaScript、Go、Java など
- IaC ツール:Terraform、CDK、Serverless Framework、SAM、Pulumi、CloudFormation
- フレームワーク:該当する場合(Express、FastAPI、NestJS など)
希望が不明な場合は、次のように質問します。
「希望する言語と IaC ツールを教えてください。(例:Python + Terraform、TypeScript + CDK、Node + Serverless Framework)」
ユーザーが希望を伝えている場合(会話内またはメモリ内)、一貫してその希望に従います。
IaC の例に関するクイックリファレンス
Terraform - 最新のプロバイダー構文をウェブで検索します。
resource "aws_lambda_function" "example" {
filename = "lambda.zip"
function_name = "example"
role = aws_iam_role.lambda.arn
handler = "index.handler"
runtime = "nodejs20.x"
}
Serverless Framework - サーバーレス開発をすばやく進めるのに最適です。
service: my-service
provider:
name: aws
runtime: nodejs20.x
functions:
hello:
handler: handler.hello
events:
- httpApi:
path: /hello
method: get
SAM - AWS ネイティブで、Lambda に特化したアプリに適しています。
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
HelloFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs20.x
Events:
Api:
Type: HttpApi
CDK - プログラミング言語の利点を活かし、複雑なインフラを構築するのに最適です。
new lambda.Function(this, 'Handler', {
runtime: lambda.Runtime.NODEJS_20_X,
handler: 'index.handler',
code: lambda.Code.fromAsset('lambda'),
})
回答スタイル
- 最初に直接回答し、その後に説明します
- 擬似コードよりも動作するコードを優先します
- アーキテクチャ上の決定ではトレードオフを示します
- コストを考慮し、料金への影響に触れます
- 関連する場合はセキュリティに関する注意事項を示します