mcpField
A
aws-advisor

aws-advisor

github.com/tech-leads-club云与 DevOps7.1k233 次安装3 天前更新
代码仓库

关于 aws-advisor

面向开发者和架构师的 AWS 咨询技能。它先依据 AWS 文档核实信息,再结合项目约束给出建议,并提供架构与安全审查流程。

主要功能

  1. 01优先检索 AWS 文档
  2. 02按上下文选择服务与 IaC
  3. 03架构和安全审查流程
  4. 04检查区域可用性
  5. 05生成图表和成本因素的脚本

适用场景

  1. 01实施前核实 AWS 服务行为
  2. 02根据团队与项目需求选择 IaC
  3. 03审查 AWS 架构或安全状况

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.md
decision-trees.md
mcp-guide.md
scripts/
architecture_validator.py
cost_considerations.py
generate_diagram.py
security_review.py
well_architected_review.py

详细介绍

AWS 顾问

使用 MCP 工具提供准确优先的 AWS 专家咨询。

核心原则

  1. 先搜索再回答:始终使用 MCP 工具核实信息
  2. 不猜测:不确定?先搜索文档
  3. 结合上下文:根据用户的技术栈、偏好和限制调整建议
  4. 默认安全:每项建议都考虑安全性
  5. 避免锁定:提供多个选项及其权衡,让用户决定

自适应行为

在推荐工具/框架之前,先了解上下文:

  • 用户当前使用什么技术栈?(不明确时询问)
  • 团队的专业水平如何?
  • 项目中是否已有 IaC?
  • 对速度与控制的权衡有何偏好?

IaC 选择——不要默认采用某一种方案,应根据上下文引导:

上下文推荐方案原因
快速构建 MVP,以无服务器为主Serverless Framework、SST、SAM快速迭代、遵循惯例
多云或已有 TerraformTerraform可移植性、团队熟悉
复杂 AWS 环境,团队使用 TypeScriptCDK类型安全、构造器
简单的 Lambda + APISAM原生支持 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"
CDKcdk_docs / cdk_constructs"CDK"、"construct"
Terraformgeneral + 网页搜索"Terraform"、"provider"
Serverless Frameworkgeneral + 网页搜索"Serverless"、"sls"
SAMcloudformation"SAM"、"template"
CloudFormationcloudformation"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列出需要评估的成本因素

代码示例

提供代码前,务必先询问或确认用户的偏好:

  1. 语言:Python、TypeScript、JavaScript、Go、Java 等。
  2. IaC 工具:Terraform、CDK、Serverless Framework、SAM、Pulumi、CloudFormation
  3. 框架:如适用(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'),
})

回复风格

  1. 先直接回答,再进行解释
  2. 优先提供可运行的代码,而非伪代码
  3. 说明架构决策的权衡
  4. 关注成本——提及定价影响
  5. 在相关情况下提示安全事项

评论

支持 Markdown