aws-cloudformation – AWS 云资源编排 Skill

3周前更新 9 0 0 0

aws-cloudformation 是指导 AI Agent 编写和管理 AWS CloudFormation 模板与基础设施即代码的 Skill,适合在 AWS 上定义、部署和更新云资源的场景。

Skill 安装

多 Agent 安装
npx skills add https://github.com/aws/agent-toolkit-for-aws --skill aws-cloudformation

使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。

Skill 调研报告

Skill 详细介绍

aws/agent-toolkit-for-aws#aws-cloudformation 是 AWS 官方仓库 agent-toolkit-for-aws 中的一个 Skill,名字为 aws-cloudformation,用于帮助 AI Agent 编写、理解、审查和排查 AWS CloudFormation 模板与相关基础设施代码。

它是什么:

  • 一个围绕 AWS CloudFormation 的领域型 Skill,给 Agent 注入 CloudFormation 的模板语法、资源类型、参数、输出、栈管理与常见错误处理知识。
  • 一个面向基础设施即代码(IaC)任务的辅助能力,帮助用户用自然语言描述需求后得到可用的 CloudFormation 模板、修正建议或解释。
  • 来自 AWS 官方 agent-toolkit-for-aws 仓库,属于 AWS 官方为 AI Agent 提供的技能集合之一。

它不是什么:

  • 不是独立运行的软件,本身不提供可执行程序,也不替代 AWS CLI、CloudFormation 控制台或 CDK。
  • 不是自动化部署平台,不会替你把资源真正创建到 AWS 账号,除非 Agent 环境同时具备终端和 AWS 凭证并被执行。
  • 不是通用 IaC 工具,重点在 CloudFormation,而不是 Terraform、Pulumi 等其他工具,尽管相关概念可以类推。

核心用途与解决的问题:

  • 根据自然语言需求生成 CloudFormation 模板(YAML 或 JSON)。
  • 解释已有模板:每个资源、参数、Outputs、Conditions 的作用。
  • 审查模板:找出缺失的依赖、错误的属性名、硬编码值、安全组过宽等常见问题。
  • 排查部署失败:比如栈回滚、资源创建超时、IAM 权限不足、循环依赖等。
  • 帮助完成常见改造:把资源拆成嵌套栈、加参数化、加标签、迁移到最佳实践结构。

安装后 Agent 增加的能力:

  • 在涉及 AWS 基础设施任务时,能直接进入 CloudFormation 语境,而不是给出泛泛的 IaC 建议。
  • 更准确地引用 AWS 资源类型、属性名称与限制。
  • 对模板做结构化审查,而不是只做文本层面的阅读。

典型使用场景:

  • 需要快速起草一个 VPC、EC2、S3、IAM、Lambda 等常见架构的模板。
  • 已有旧模板希望重构或补充注释。
  • 部署失败后想让 Agent 帮忙定位。
  • 团队内部希望统一 CloudFormation 写法规范。

适合的用户:

  • 使用 AWS 且以 CloudFormation 为主要 IaC 手段的工程师。
  • 需要快速产出模板草稿的运维、DevOps、后端开发者。
  • 正在学习 CloudFormation,希望获得逐行解释的新手。

不适合的需求:

  • 需要 Terraform、Pulumi、CDK 专门能力时,该 Skill 不是最优选择。
  • 需要真正执行部署、管理 AWS 账号权限时,这不是它的职责。
  • 需要非 AWS 云厂商(如阿里云、腾讯云、GCP、Azure)模板时,不具有针对性。

需要明确的一点:这个 Skill 本质上是领域知识与工作流指导型能力,依赖宿主 Agent 的模型能力和可用的执行环境。它自己不是一个可以单独运行的服务。

Skill 安全评估

总体判断:来自 AWS 官方仓库的 Skill,来源可信度较高;风险主要取决于你在什么 Agent 环境里用它,以及是否允许 Agent 执行 Shell 和访问 AWS 凭证。

来源可信度:

  • 仓库来自 AWS 官方组织,属于一手来源,供应链风险相对较低。
  • 但任何 Skill 都应以其当前版本的官方说明为准,尤其是涉及命令、权限和行为的部分。

与这个 Skill 相关的实际风险点:

  • 生成的模板是否安全:Agent 可能生成开放过宽的安全组、公开可读写的 S3 桶、过于宽松的 IAM Policy。模板本身不会造成损失,但部署后会产生真实风险。部署前必须人工审查,尤其是网络、权限和数据相关资源。
  • Shell 权限:如果 Agent 环境允许自动执行命令,并且你让它直接部署,可能触发真实的 AWS 变更。关键部署建议手动执行,或至少加确认步骤。
  • AWS 凭证:该 Skill 本身不需要凭证,但如果 Agent 被允许调用 AWS CLI,就可能使用当前环境里的 AWS Access Key、Profile 或角色。凭证泄露风险来自环境配置,而不是 Skill 本身。
  • 文件写入:Agent 通常会生成模板文件写入本地目录。属于正常用途,但应确认写入路径符合预期,避免覆盖已有模板。
  • 网络访问:Agent 可能访问 AWS 官方文档获取最新资源说明。属于合理行为。若你所在环境不允许外网访问,会影响使用体验。
  • Prompt Injection:如果你把外部不可信的模板、文档、Issue 内容交给 Agent 处理,其中可能包含诱导性指令。让 Agent 处理第三方内容时保持警惕。

降低风险的建议:

  • 关闭 Agent 的自动 Shell 执行权限,由自己手动执行部署命令。
  • 不要给 Agent 使用生产账号的管理员凭证。必要时用受限 IAM 角色或沙箱账号。
  • 对所有生成的模板,尤其是 IAM、安全组、S3、网络相关部分,部署前逐项审查。
  • 在测试账号或 dev 环境里先验证,再上生产。
  • 处理外部不可信模板时,先剥离内容再交给 Agent。

不建议给出绝对安全或完全无风险的结论。实际安全水平取决于你的 Agent 配置、权限边界和部署流程。

Skill 使用要求

一、Agent / 客户端

  • 该 Skill 来自 AWS 官方 agent-toolkit-for-aws 仓库,主要面向支持 Skills 机制的 AI Agent 使用。
  • 在 Claude Code 一类原生支持 Skill 加载的客户端中通常最直接。
  • 官方并未公布覆盖所有第三方 Agent 的完整兼容清单。从 Skill 的工作方式看,在支持 Skills、自定义 Skill 或类似指令加载机制的 Codex、Cursor、Trae、OpenClaw、WorkBuddy 等环境中一般也可以尝试,但加载方式和兼容程度可能不同,具体以对应 Agent 当前版本为准。

二、运行环境 / 依赖

该 Skill 本身是知识与工作流型能力,通常不需要额外的软件依赖即可被 Agent 读取和使用。是否还需要其他工具,取决于你让它完成的任务。

| 项目 | 要求 |
|—|—|
| Agent | 支持 Skill / 自定义指令的 Agent,Claude Code 类环境最直接 |
| 网络 | 用于 Agent 拉取 Skill 与访问 AWS 文档,一般建议可用 |
| AWS CLI | 非必需;只有需要真正部署、验证或查询 AWS 资源时才需要 |
| AWS 账号 | 非必需;只有涉及真实部署时才需要 |

如果你只用它来生成和审查模板,不需要 AWS 账号、不需要凭证、不需要安装 AWS CLI。

三、权限

必需或常见:

  • 文件读取:读取你提供的模板文件。
  • 文件写入:把生成的模板写入本地文件。

视任务而定:

  • Shell:只有当你希望 Agent 直接运行 AWS CLI、校验模板或部署时才需要。非必需。
  • 网络:访问 AWS 官方文档、获取最新资源类型信息时需要。
  • AWS 凭证:仅在你允许 Agent 调用 AWS API 时才涉及。不属于 Skill 本身的必需项。

四、账号 / API Key

  • Skill 本身不需要账号、API Key 或 Token。
  • AWS 凭证只在你要真正部署、查询或验证栈时才涉及,属于你对 Agent 环境的授权,而不是这个 Skill 的要求。
  • 不要把 Skill 本身的需求和后续 AWS 操作的需求混为一谈。

最小使用条件

  1. 一个支持 Skill 的 Agent 环境。
  2. 能访问该 Skill 的安装来源。
  3. 有 CloudFormation 相关的需求描述或待处理的模板。

Skill 安装、使用与卸载教程

一、安装

LemonAIKit 的本页面已经单独提供该 Skill 的安装指令。最省事的方式是直接复制本页面的安装指令,粘贴到你的 Agent 或终端里执行。

如果你不确定自己的 Agent 如何安装 Skill,可以直接问当前 Agent:

如何安装 aws/agent-toolkit-for-aws#aws-cloudformation?

如何在 Claude Code 中安装 aws/agent-toolkit-for-aws#aws-cloudformation?

如何在 Cursor 中安装 aws/agent-toolkit-for-aws#aws-cloudformation?

让 Agent 根据自己的 Skill 加载 / 管理机制指导具体步骤,通常比自己手动拷贝目录更稳。这里不重复 LemonAIKit 已经提供的完整安装命令。

二、安装后如何使用

安装后,不需要特殊触发命令。只要你的任务涉及 CloudFormation,Agent 就应当进入该 Skill 的语境。描述需求时尽量说明:目标架构、区域、是否需要参数化、是否要输出、是否遵守某套命名或标签规范。

自然语言使用示例:

使用 aws-cloudformation,帮我写一个包含 VPC、两个公有子网、一个应用负载均衡器和两台 EC2 的模板,参数化实例类型和环境名。

使用 aws-cloudformation,检查这份模板里有没有明显问题,尤其是 IAM 权限和安全组是否开得太宽。

使用 aws-cloudformation,解释这个 CloudFormation 模板中每个资源和参数的作用,并指出可以改进的地方。

基本原则:把你要达到的目标、约束和已有的模板内容讲清楚,Agent 才会给出贴合实际的输出。生成后自行审查再部署。

三、卸载

不同 Agent 的 Skill 安装位置和管理方式可能不同,官方未必提供统一卸载命令。稳妥的做法是:

  • 使用对应 Agent 或 Skill 管理器提供的删除方式移除该 Skill。
  • 或者直接询问当前 Agent:如何卸载 aws/agent-toolkit-for-aws#aws-cloudformation?

如果你是通过本地 Skill 目录安装的,通常删除对应目录即可。具体位置以你的 Agent 说明为准,不要凭空猜测路径。

常见问题

1. 安装后 Agent 没有识别这个 Skill,怎么办?

先确认 Skill 的安装位置是否符合当前 Agent 的要求,其次确认该 Agent 是否真的支持 Skill 机制。如果本页安装指令已经执行成功但 Agent 无反应,可以让 Agent 自己检查 Skills 目录或注册状态。也可以问 Agent:当前是否已经加载 aws-cloudformation。

2. 可以同时安装到多个 Agent 吗?

可以。Skill 本质上是可复制的配置 / 指令集,同时安装到 Claude Code、Cursor 等多个 Agent 通常没有技术障碍。但不同 Agent 的加载机制不同,实际效果可能有差异,需要分别验证。

3. 这个 Skill 会修改我已经存在的项目吗?

Skill 本身不会主动改动你的项目。它生成或审查的内容是否写入文件、覆盖哪些路径,取决于你给 Agent 的权限和指令。让 Agent 生成模板时,建议指定新文件路径,不要直接覆盖已有模板。

4. 可以关闭 Shell 权限仍然使用它吗?

可以。生成、解释和审查模板通常只需要文件读写和模型推理,不依赖 Shell。关闭自动执行 Shell 反而更安全,特别是在涉及 AWS 部署任务时。

5. 在中国大陆使用是否有网络要求?

该 Skill 涉及 AWS 相关服务与文档,访问 AWS 官方文档或 API 时可能受网络环境影响。如果只是本地生成和审查模板,通常不需要访问外部网络;如果让 Agent 拉取资料或部署,可能需要可用的网络出口。

6. Skill 更新后需要重新安装吗?

多数情况下需要。Skill 的更新通常通过重新拉取仓库或更新对应目录来完成。如果你使用的 Agent 提供自动更新机制,可以依赖它;否则需要手动更新到最新版本。具体以该 Skill 当前官方说明为准。

7. 是否适合在生产环境使用?

可以用于生产相关工作,比如起草和审查模板,但任何由 Agent 生成的模板在部署到生产前都应经过人工审查,尤其是 IAM、网络、数据存储类资源。不建议让 Agent 直接对生产账号执行无审核的部署操作。

Skill 更新日志

版本列表
无版本号
fix(aws-startup-advisor): recommend AgentCore over classic Bedrock Agents (#340) Ported from awslabs/startups#263. The architect-for-startups Strands decision guide still recommended classic Bedrock Agents for managed multi-agent orchestration; that service entered maintenance mode and closed to new customers on 2026-07-30. Point the guide at Strands multi-agent primitives on AgentCore Runtime instead, and replace the outdated TypeScript container-only claim with the direct-code vs container deployment choice. Co-authored-by: Logan Kleier
无版本号
docs(payments): document WorkloadIdentity name lowercasing IAM mismatch + CloudTrail debug fallback (#338) Co-authored-by: Khusbu Mishra
无版本号
feat(aws-startup-advisor): add AWS Startup Advisor plugin (#329) * feat(aws-startup-advisor): add AWS Startup Advisor plugin Ports the AWS Startup Advisor plugin from its upstream source repository into this repo as a native, first-class plugin at plugins/aws-startup-advisor. Contents (893 new files): - 10 skills: agent-advisor, architect-for-startups, contextual-offers-for-startups, gcp-to-aws, heroku-to-aws, llm-to-bedrock, knowledge-base-for-startups, prompt-library, start-building-for-startups, startup-advisor - 7 agents, 4 scripts, 126 fixture files - Multi-host manifests: .claude-plugin/, .codex-plugin/, .cursor-plugin/ - Plugin README Re-homed to destination conventions: - Declares exactly one MCP server (the unified AWS MCP server); prose describing capabilities outside that server's 10 aws___* tools was brought in line with what it can actually do. - whitelist -> allowlist across 10 files, matching repo house style. - Stale cross-plugin path references rewritten to resolve at the new location. Schema $id URNs that use "migration-to-aws" as a stable namespace identity are deliberately unchanged. Repo-level registration: - Registered in .claude-plugin/, .agents/plugins/, and .cursor-plugin/ marketplace.json, and listed in README.md. Shared-config fix (.markdownlint-cli2.yaml): - The frontMatter regex "^---\s*$[\s\S]*?^---\s*$" never matched, because \s consumes newlines so \s*$ runs past the line end and the closing fence anchor never lands. markdownlint therefore linted YAML frontmatter as body content. Anchored it on explicit newlines instead. Without the fix the repo reports 549 errors across 442 locations, all inside frontmatter; with it, 0. The 1619 pre-existing files lint at 0 errors under both the old and new regex, so this is not a behavior change for existing content. * ci: exempt typing-extensions from the licence allowlist The dependency-review gate fails on plugins/aws-startup-advisor because typing-extensions 4.15.0 publishes the composite licence expression "Python-2.0 AND GPL-1.0-or-later AND Python-2.0 AND BSD-3-Clause AND Python-2.0 AND BSD-3-Clause AND 0BSD". The shared Amazon OSPO config is an allowlist, and every term in a composite expression must match, so the single unlisted GPL-1.0-or-later term fails the whole package. That term is an artifact of the historical Python licence text bundled in the package's LICENSE file, not an actual GPL grant -- typing-extensions is PSF-licensed. The package reaches this repo only transitively: jsonschema -> referencing, openai -> pydantic/anyio, and exceptiongroup. Scoped as narrowly as the action allows: - Licence-only. Vulnerability checks still apply to this package. - One named package, by purl. - Applied as an inline input, which the action merges per key over the config file, so the shared allow-licenses list is untouched and the config-file SHA pin is unchanged. The alternative was dropping the two uv.lock files that surface the transitive closure, which would have cost 918 pinned file hashes across the two script environments to work around a metadata false positive. * fix(aws-startup-advisor): drop unsupported "agents" key from plugin.json Claude Code 2.1.278 rejects `"agents": "./agents/"` in .claude-plugin/plugin.json, and an unknown key invalidates the whole manifest, so the plugin fails to load entirely. The key was introduced during the port and is not present anywhere else: not in the upstream manifest, and not in this plugin's .codex-plugin or .cursor-plugin manifests. No sibling plugin in this repo declares it either -- aws-agents uses `skills`/`mcpServers`, aws-core uses `hooks`. Nothing is lost by removing it: Claude Code auto-discovers the default agents/ directory, and all 7 agent files remain in place. Reported by Gen Li during migration testing. Note for follow-up: `mise run validate` passes both with and without this key -- lint:manifests and lint:spec (Agent Plugins v1.0.0) both accept a key that Claude Code rejects, so the loading failure was invisible to the repo's own gates. * feat(aws-startup-advisor): port upstream azure-to-aws skill and cache-only pricing Brings the plugin up to date with upstream changes that postdate the original port snapshot. New capability: - azure-to-aws (skill #4) — seven-phase Microsoft Azure to AWS migration over canonical Microsoft.* ARM resource types, with an opt-in generate gate and a what-if repricing workshop. Includes the azure-iac-terraform fixture corpus and its five deterministic asserters (Discover, Design, Clarify x2, Estimate). - skills/shared/ai/ and skills/shared/clarify/ canonical fragments (AI migration guardrails, design-ref harness, clarify assembly), mirrored byte-identical into each consuming skill's references/vendored/ tree. - heroku-to-aws/scripts/ — the Heroku report validator moves in beside the skill that uses it, out of the plugin-level scripts/ directory. - tf-best-practices — three ElastiCache policy fixtures plus the matching validator and security-posture rules. Cache-only pricing, applied consistently across every skill: - Documentation and regional-availability lookups go through the unified AWS MCP Server (aws___* tools). The plugin still declares exactly one MCP server. - No live pricing lookup. A service absent from the pricing cache resolves to "estimated" (a formula constant carrying a published rate, stated verbatim) or "unavailable" (excluded from totals with a warning) — never a guess. - No AWS Pricing Calculator integration; calculator_url is always null. The upstream azure-to-aws skill was authored on a branch predating the cache-only consolidation and merged after it, so it arrived still referencing the removed pricing and knowledge MCP servers. Every substitution here follows upstream's own gcp-to-aws conversion rather than a local invention; the three azure-only files with no gcp counterpart got the same mapping by hand. Two cross-references that the mismatch had left dangling are removed: the workshop calculator-link procedure and an MCP retry ladder that no longer exists. Registration and docs: - Azure added to the plugin README skill table and prose, the root README, and the Claude/Cursor marketplace descriptions and keyword lists (75 keywords, consistent across all four plugin manifests). - Skill descriptions re-trimmed under the 1024-character limit (azure-to-aws 1020, gcp-to-aws 989, heroku-to-aws 1000). Verified: mise run validate (manifests, skill parity, Agent Plugins v1.0.0) — pass; mise run lint:md over 2385 files — clean; gitleaks over both history and the working tree — no leaks; all five azure fixture asserters — pass; 44 vendored files byte-identical to their canonical sources. * feat(aws-startup-advisor): add report cost-figure crosscheck and harden prompt library Ports two upstream changes into the vendored plugin. Cost-figure crosscheck: the report validator now verifies that the dollar figures rendered in a migration or decision report match the estimate they came from, via data-cost-key HTML anchors. Adds the anchor spec to the gcp-to-aws and heroku-to-aws report templates, tags the golden fixtures, and makes the gcp decision-gate asserter pass --estimation-infra so the gate is actually exercised rather than skipped. Prompt library hardening: scopes servicequotas:RequestServiceQuotaIncrease to EC2 and SageMaker quota ARNs instead of "*", drops "curl -k" in favour of a verified TLS call, and reframes the security baseline kit as a starting point that needs review before production. Also extends the anchor requirement to azure-to-aws, which invokes the same shared validator but shipped no anchor guidance. Azure records current spend under current_costs.azure_monthly, which the validator does not map, so only the aws_monthly_balanced anchor applies there. * docs(aws-startup-advisor): tighten AWS terminology in reference content Ports the upstream terminology pass over the knowledge-base and architect reference material. Replaces collective descriptions of AWS ("the AWS ecosystem", "the AWS platform") with what is actually meant -- AWS services, the AWS community, the AWS Partner Network, or a specific named service -- and softens overclaimed outcomes ("ensures" -> "helps" / "is designed to", "guaranteed response times" -> "target response times"). Where the original wording sat inside a direct quotation, the quote is left intact and the surrounding sentence is reshaped instead, so no one is quoted saying something they did not say. Third-party product names, the startup ecosystem, and partner ecosystems are unchanged. Also switches the heroku-live-capture fixtures to RFC 2606 reserved example addresses. Heading markers differ from upstream in 14 of these files: this repo enforces markdownlint MD036, so emphasis-as-heading lines are real headings here. Prose content is identical to upstream. * docs(aws-startup-advisor): sync upstream docs refresh through 604df6f Ports five upstream source-repository PRs that landed after the previous sync at cd8fc31: - #301 advisor docs refresh: azure-to-aws corrects its phase count to 6 and states that Bicep, ARM, live `az` capture, and RDfA are planned follow-ups rather than supported today. - #333 uses an RFC 2606 reserved domain in the Provider invitation example instead of a live one. - #334 adds template-verification guidance before the CloudFormation Launch Stack shortcuts in the budgets article. - #335 replaces a named third party's personal email address with the Merge offer page and Help Center. - #336 adds a safety note to the AI-analytics article: credit and lending model output must support a qualified human reviewer and cannot be the sole basis for approval or denial. Upstream's `setup.md`, `advisor/README.md`, and `advisor/AGENTS.md` changes are out of scope for this port. Three files could not be taken byte-verbatim: this repo enforces markdownlint MD059 (descriptive link text) and MD036 (no emphasis as heading), which upstream does not, and faq.md documents installation from this repo rather than from the upstream source. Upstream's changed lines were applied into them individually; the residual divergence is unchanged at 26 lines, all of it those two lint rules plus that one re-homing. * fix(aws-startup-advisor): stop instructing a pricing-calculator link that is never produced Under cache-only pricing there is no AWS Pricing Calculator integration and `estimation_summary.calculator_url` is always `null`. Two files in each of gcp-to-aws and azure-to-aws still told the agent to render a link "per non-null calculator_url" and justified it with "AWS computes regional prices server-side there", which contradicts cache-only pricing outright: - references/phases/workshop/workshop-compare.md - references/shared/report-decision-core.md The non-null condition means a literal reading already emits nothing, so output is unaffected. The risk is the standing suggestion that a shareable calculator estimate exists and is expected here, which invites a fabricated calculator.aws URL or a claim that prices were computed server-side when they came from the bundled cache. Both now state that the field is always `null` and that no link is rendered, matching heroku-to-aws, which was already correct. This diverges from upstream deliberately. * docs: point AWS Startup Advisor install instructions at this repository Addresses both review comments on #329. The `aws-startup-advisor` entry in `claude-plugins-official` is a git-subdir source pinned to a different repository and subdirectory, so `/plugin install aws-startup-advisor@claude-plugins-official` installs that distribution rather than this one. Merging this PR updates this repository's marketplace but cannot change that external entry. The root README now gives this repository's marketplace route and notes what the official-marketplace name currently resolves to; the same correction is applied to the FAQ reference the skill serves to users. The plugin README previously deferred all installation to the root README's Quick start, whose standalone-skills command targets `aws/agent-toolkit-for-aws/skills`. None of these 11 skills live in that tree, so Kiro and fx users following it got no Startup Advisor. It now carries a plugin-specific command, verified to resolve all 11 skills and 852 files: npx skills add aws/agent-toolkit-for-aws/plugins/aws-startup-advisor/skills --skill '*' It also notes that the skills must be installed together, since `agent-advisor` delegates to `gcp-to-aws`, and that a standalone install does not configure the `aws-mcp` server from `.mcp.json`. * fix(aws-startup-advisor): stop naming the wrong skills in the generic phase workers Both generic phase workers opened by scoping themselves to "a DSL-driven migration skill (`gcp-to-aws` or `heroku-to-aws`)". That list is wrong in both directions: `gcp-to-aws` ships no `references/vendored/dsl/INTERPRETER.md` and never dispatches these workers, while `agent-advisor` and `azure-to-aws` do and went unnamed. The list was introduced by this port. Upstream reads "(migration-to-aws)" — the old plugin name — and re-homing it to this repo's skill names picked the wrong two. Dropping the list entirely rather than correcting it: the very next line says the worker is phase-agnostic and takes its phase from the dispatch context, so enumerating callers in the prompt is both inaccurate and pointless. --------- Co-authored-by: Bear Zietz
无版本号
fix(eventbridge): rename the new-bus CLI command to aws eventsv2 (#336) * fix(eventbridge): rename the new-bus CLI command to aws eventsv2 The CLI command for the new custom event buses is aws eventsv2. The skill wrote aws eventbridgev2 in every CLI example and in the prose that states the service's names, so an agent following it would run a command that does not exist. Renames all 25 CLI invocations and updates the naming prose: the CLI command and the endpoint host are eventsv2, the SDK clients remain eventbridgev2, and the IAM namespace remains events. The wrong-namespace warnings now name eventsv2: as the likelier mistake, since a reader copies it from the command they just ran. Also drops events:SystemMetadata/EventGroupId from the condition-key table in references/authorization.md. The service does not populate it, and a documented key that is never populated fails closed without a signal: a StringEquals Allow can never be satisfied and a StringNotEquals Deny always fires, neither raising an error. * bump event bus skill to version 3 * Updating skill version to 2
无版本号
docs(msk): Add ZooKeeper-to-KRaft guidance (#316) Document in-place migration availability and require agents to use the current Amazon MSK Developer Guide as the source of truth. Co-authored-by: a-lmillette Co-authored-by: anasstahr
无版本号
feat(aws-marketplace-skills): add aws-marketplace-metering skill (#333) Add a skill for AWS Marketplace usage-based (PAYG) metering: deploying a serverless metering integration (ResolveCustomer, BatchMeterUsage, EventBridge via SAM), and querying and debugging metering records, statuses, failures, and billing discrepancies. Covers Concurrent Agreements, multi-product routing, CloudTrail Event History, Seller Reports, per-Region metering, and IAM setup. Co-authored-by: geojomon Co-authored-by: anasstahr
无版本号
feat(eventbridge): add amazon-eventbridge-event-bus skill (#334) * feat(eventbridge): add amazon-eventbridge-event-bus skill * style(eventbridge): fix markdown lint violations Align the two dash list markers in SKILL.md with the file's asterisk style (MD004/ul-style), and promote three bold pseudo-headings in references/target-contract.md to level-3 headings (MD036). Content unchanged.
无版本号
docs(cloudwatch): update aws-observability to v6 and setting-up-cloudwatch-observability (#332) * docs(cloudwatch): update aws-observability to v6 and setting-up-cloudwatch-observability to v2 Mirrors CR-307493010 from AWSMCPSOPs (commit 69f5bd3) to public toolkit: - aws-observability: v5 → v6, updated description for router disambiguation, expanded routing guidance (scope guard, service-health step 0.5, must-state callouts), cloudwatchomni CLI/SDK rename throughout - setting-up-cloudwatch-observability: v1 → v2, sharpened description, expanded routing rules including GitHub-not-supported clarification - Removes references/azure-ingestion/ (top-level) and github-integration.md from setting-up-cloudwatch-observability (no longer in source) - Updates 21 reference files with cloudwatchomni CLI/SDK rename and content sync * fix(lint): fix markdown lint errors in cloudwatch skill files * fix(plugin): sync aws-core plugin aws-observability with core-skills * fix(spec): use metadata.version format for plugin-synced skill * fix(security): replace base64 pagination token example with placeholder
无版本号
feat(resilience-skills): add aws-fault-injection-service skill (#323) Adds a specialized skill for AWS Fault Injection Service (AWS FIS) covering experiment design, the actions catalog, the scenario library, experiment lifecycle and monitoring, multi-account experiments, the experiment IAM role, and blast-radius safety. Contents: - SKILL.md with request routing and a safety-first workflow - references/fis-concepts.md: templates, actions, targets, stop conditions - references/fis-workflow.md: end-to-end authoring and run procedure - references/fis-actions-reference.md: action catalog and selection guidance - references/fis-api-reference.md: CLI and API surface - references/fis-security.md: experiment IAM role and least-privilege patterns Placed under resilience-skills alongside aws-resilience-lifecycle and recovery-controller-setup, which the skill description cross-references. Co-authored-by: Giuseppe Randazzo Co-authored-by: anasstahr
无版本号
feat(cloudwatch): update aws-observability to v5 and add setting-up-cloudwatch-observability skill (#326) * feat(cloudwatch): update aws-observability skill to v5 Updates the aws-observability skill to v5. Extends coverage to include CloudWatch Omni (Application Observability): SQL over logs/traces, PromQL over metrics, views, dashboards, alerts, context graph, programmatic access (API/SDK/CLI/CFN), and agent-quality evaluation on OTel traces. Restructures references and scripts into cloudwatch/ and cloudwatch-omni/ subdirectories. Tested with: Claude Code, Kiro, Q CLI. * feat(cloudwatch): add setting-up-cloudwatch-observability skill Adds the setting-up-cloudwatch-observability skill (v1). Covers first-time setup of a CloudWatch Application Observability (Omni) Space or Domain: access grants and profiles, ingestion endpoint provisioning, ADOT SDK instrumentation for Python, Node.js, Java, .NET on EC2/ECS/EKS/Lambda and AI agents (Strands, LangChain, LangGraph, CrewAI, OpenAI Agents, Vercel AI), Azure telemetry ingestion via the CloudWatch agent, and DevOps Agent / Slack integration. Text-only skill (no executable code); security-reviewed: Guardian PASS. Tested with: Claude Code, Kiro, Q CLI. * fix(lint): fix markdown lint errors in cloudwatch skill files * fix(lint): fix remaining markdown lint errors * fix(plugin): sync aws-core plugin aws-observability with core-skills * fix(security): replace base64 pagination token example with placeholder
无版本号
docs(aws-serverless): document SnapStart container image support (#324) SnapStart now supports the container image deployment format (in addition to ZIP) for Java 11+, Python 3.12+, and .NET 8+, including AWS Lambda base images and custom base images. Adds a Container images note linking the runtime-hooks and SnapStart uniqueness docs. Bumps skill version 2 -> 3.
无版本号
chore: update CODEOWNERS (#322)
无版本号
docs(payments): Coinbase Marketplace subscription, connector statuses, and authorizationUrl open guidance (#320) - Marketplace subscription (Coinbase-wide): why it's required, the consolidated-billing + SubscriptionRequiredException (403) statement, and the subscribe steps (logged-in AWS Console -> View purchase options -> review terms -> Subscribe). - Step 4 recovery for a SubscriptionRequiredException at deploy: the CLI provisions manager+connector in one CloudFormation stack, so the failure rolls back and deletes the PaymentManager; recheck via GetPaymentManager and, if ResourceNotFoundException, restart from Step 3a -> 3b -> deploy. - Connector status handling: add PROVISIONING (transient) and AWS_MARKETPLACE_SUBSCRIPTION_REQUIRED (terminal -> subscribe then recreate) to the poll loop and the debugging entry, alongside READY / AUTHENTICATION_EXPIRED / AUTHENTICATION_FAILED. - authorizationUrl handling: correct that the AgentCore CLI does NOT auto-open the URL today. The agent drives it: on the developer's machine open via the OS opener (open/xdg-open/start = navigate, not a fetch); headless/remote/CI -> print the URL for the developer. Never curl/HEAD/WebFetch/preview it (open != fetch). Co-authored-by: Khusbu Mishra
无版本号
feat(aws-core): add aws-well-architected-review skill (#319) Adds a Well-Architected Framework review skill under skills/core-skills/ and bundles it with the aws-core plugin. The skill reviews a workload across all six pillars. It discovers the framework question and best-practice inventory from the live AWS documentation rather than embedding a snapshot, then analyzes code, IaC, and configuration to produce evidence-backed findings with best-practice ID citations and Eisenhower-prioritized remediation. It supports full, quick, pillar-scoped, score, and lens-specific review modes. - Add the skill under skills/core-skills/aws-well-architected-review/ (9 files, text-only) and a byte-identical bundled copy under plugins/aws-core/skills/. - Add a row to the aws-core plugin README skills table. - Expand the aws-core description and keywords in the four plugin manifests and the two marketplace indexes so Well-Architected queries surface the plugin.
无版本号
feat(aws-cloudformation): Add dedicated CloudFormation validation tool guides (#318) * feat(aws-cloudformation): Add dedicated CloudFormation validation tool guides * Remove deprecated scripts * Remove unneded metadata * Set version as string * fix lint issues
无版本号
docs(agents-build): document Tempo/MPP networks, funding, and debugging (#317) The payments.md MPP section covered the wire protocol but the Supported Networks table and funding steps were x402-only (Base Sepolia + Circle). Agents wiring "add MPP payments" were pointed at the wrong network/asset to fund a Tempo endpoint. Adds, grounded in the AgentCore Payments ProcessPayment 4XX/5XX runbooks: - MPP networks/providers/funding subsection: Tempo mainnet (eip155:4217) and Moderato testnet (eip155:42431), StripePrivy-only (Coinbase cannot pay Tempo), auto-detected from the MPP 402, canonical stablecoin pathUSD - Step 7 funding branch for Tempo Moderato via the Tempo faucet - MPP debugging rows: MPP_ACCESS_NOT_ALLOWLISTED, MPP_EVM_NON_CANONICAL_USDC, TEMPO_INSUFFICIENT_BALANCE/memo, Coinbase-Tempo-unsupported - Clarifying note that the x402 Chains table excludes Tempo (MPP-only) Co-authored-by: Raju Ansari
无版本号
feat(aws-ai-ml): add inference optimization to model-deployment (#315) * feat(aws-ai-ml): add inference optimization to model-deployment Adds a new capability to the aws-ai-ml skill and brings the rest of its reference content up to date, applied identically to both copies. ## Inference optimization model-deployment could generate deployment code but had nothing to say about what to deploy onto. The agent either asked the user for an instance type or picked one from its own priors, with no way to check the choice against measured behaviour. A new optimization reference covers three workflows: benchmark measure latency and throughput on an existing endpoint, including replaying captured production traffic rather than synthetic load recommend run a recommendation job and read back the published hosting configurations, instead of naming an instance type from memory compare put candidate configurations side by side on the same workload references/model-deployment/references/optimization/benchmark-workflow.md references/model-deployment/references/optimization/benchmarking-guidance.md references/model-deployment/references/optimization/recommendation-workflow.md references/model-deployment/references/optimization/recommendation-options.md references/model-deployment/references/optimization/recommendation-deploy.md references/model-deployment/references/optimization/interpreting-results.md references/model-deployment/references/optimization/huggingface-to-s3.md with three matching notebook templates: references/model-deployment/code_templates/optimize-benchmark.py references/model-deployment/code_templates/optimize-recommendation.py references/model-deployment/code_templates/optimize-huggingface-to-s3.py The templates comment out their `%pip install` setup line and carry it as `# NOTEBOOK_ONLY`, matching the five existing deploy-*.py templates. A bare cell magic is not valid Python, so an uncommented one cannot be parsed by any tool that reads the template as source; the marker is what carries the notebook-only meaning, per code_output_guide.md. ## Region availability references/planning/references/region-availability.md is new. Serverless model customization and inference optimization are not available in every region, and planning previously discovered that only by failing partway through. The reference lets planning fast-fail on an unsupported region before any resource is created. ## Reference content sync The remaining files are accumulated updates to existing references — model-selection determinism (deterministic ordering of model lists, and a soft-term to exact-value mapping so "small" resolves predictably), a finetuning region gate, and updated deployment guidance. No workflow was removed. metadata.version is bumped to "4" to cover the content changes. Text-only content plus notebook templates; no new executable scripts are added. Co-authored-by: Jicheng Wang * fix(aws-ai-ml): resolve markdownlint errors and sync canonical copy for plugin parity --------- Co-authored-by: aws-sssjwang Co-authored-by: Roman Shevchuk
无版本号
feat(skills): add amazon-neptune skill (#219) * feat(skills): add amazon-neptune skill Adds guidance for Amazon Neptune Database and Neptune Analytics covering graph and knowledge-graph workloads: engine selection (Database vs Analytics), fraud rings, identity resolution, recommendations, agentic memory, GraphRAG, Gremlin / openCypher / SPARQL, Neo4j migration, connectivity, performance, and troubleshooting. Mutating operations require explicit user confirmation; destructive operations (delete, reset-graph, failover, major upgrade) are refused and redirected to change control. * chore(amazon-neptune): bump skill version to 3 for production release * chore(amazon-neptune): set skill version to 1 for production release --------- Co-authored-by: Victor Servin Co-authored-by: Victor Servin Co-authored-by: Arne Wouters
无版本号
fix(aws-agents): correct payment manager name rule in payments reference (#312) The payments reference stated that payment manager names allow underscores. They do not: manager names must be alphanumeric only. Co-authored-by: Tushar Kapoor
无版本号
fix(aws-starter-rules): refine wording for cross-region resource creation (#308) Co-authored-by: Mingda Ma
无版本号
fix(aws-agents-for-devsecops): missing S3 bucket ownership verification (#305) * Merge commit from fork The Security Agent skills derive a deterministic scan bucket name (security-agent-scans--) from the non-secret caller account ID. Because S3's namespace is global, a third party can pre-register the predictable name; the skills validated the bucket by existence only, so source archives (containing .env, *.pem, terraform.tfstate) could be uploaded into an attacker-owned bucket. - setup-security-agent: head-bucket now asserts --expected-bucket-owner and a 403 on a foreign-owned bucket is fatal; create-bucket treats BucketAlreadyExists as fatal (distinct from BucketAlreadyOwnedByYou) and re-asserts ownership after creation before any use. - scanning / diff-scanning / threat-modeling: every 'aws s3 cp' upload now passes --expected-bucket-owner so writes fail closed if the bucket is not owned by the caller. - Added ownership Rules and troubleshooting notes. Mirrors awslabs/mcp#4490 (MCP server path) for the Claude plugin skills. * Bump plugin version --------- Co-authored-by: Arne Wouters Co-authored-by: Arne Wouters
无版本号
docs: add fx setup to the quick start and skills guides (#306)
无版本号
feat(aws-containers): add ECS Action Logs guidance (#304) Co-authored-by: Matthew Goodman
无版本号
feat: updated cdk skill with new info about faster deployment methods (#303) Co-authored-by: Shadowcat567
无版本号
feat(managing-amazon-msk): add custom domain name to Amazon MSK skill (#302) * feat(managing-amazon-msk): add custom domain name skill * fix linting issue * Fixing all reported linting errors
无版本号
docs(setup-instructions): split troubleshooting from onboarding runbook and streamline (#301) * docs(setup-instructions): split troubleshooting from onboarding runbook and streamline Behavior-preserving refactor of the agent onboarding runbook. No install or configuration command changes; same steps, order, and end state. - Move per-step error tables into a new setup-troubleshooting.md, linked from each step in setup.md. - Consolidate Parameters and Dependencies into a single 'Before you start' block and add a 'How to run this file' note stating one autonomy mode (gather inputs up front, then run; pause only for the browser aws login and the interactive aws configure agent-toolkit wizard). - Add a note that the piped AWS CLI installer can be downloaded and inspected first, linking the official install page. - De-duplicate the generated aws-mcp MCP entry: describe the env/profile edit the agent must add (AWS_MCP_PROXY_PROFILES) instead of restating the full JSON the wizard writes, reducing drift. setup.md 305 -> 222 lines; error content preserved in setup-troubleshooting.md. * docs(setup-instructions): add back-links from troubleshooting to each step Add a 'Back to Step N' link at the top of each troubleshooting section (and General error handling) pointing to the corresponding step in setup.md, so navigating between a failed step and its resolution is a near-zero-cost round trip. Addresses the one dimension where the single -file layout was easier (0-hop inline lookup). No error content changed. * fix(setup-instructions): stop Step 7 from overwriting project rules files Fixes #282. Step 7 previously told the agent to save the AWS rules to CLAUDE.md / AGENTS.md (and .cursor/rules, .kiro/steering), which overwrites the project's own agent instructions — a quiet, sometimes unrecoverable data loss. Step 7 now creates the file only if absent, otherwise appends the rules under idempotent markers (replacing only the marked block on re-run), and asks the user when it cannot tell whether appending is safe. Also adds a precedence note to rules/aws-agent-rules.md and rules/aws-starter-rules.md: project instructions take precedence where they conflict with the AWS rules. --------- Co-authored-by: Devanshu Bhimwal
无版本号
fix(aws-core): make secret-safety hook interpreter cross-platform (#207) (#284) The PreToolUse hook hardcoded `python3`, which on Windows resolves to the Microsoft Store app-execution-alias stub (python.org installs only `python.exe`). The stub exits non-zero on every Bash call, producing a noisy hook-error banner and — worse — causing the secret-safety guard to silently fail open so plaintext secret fetches are no longer blocked. Replace the hardcoded interpreter in both hook entries with a POSIX fallback chain that tries `python3`, then `python`, then `py -3`, keeping the single-command-string form required for Codex compatibility (#98). stderr on the first two attempts is suppressed so the Store-stub message is not surfaced when a working interpreter is found. Verified locally: guard deny/allow matrix unchanged (9/9), and a stubbed `python3` exiting non-zero now falls through to `python` and still denies. Known limitation: the `sh -c` chain does not cover Windows without Git Bash (PowerShell); the silent fail-open warning is left as a follow-up.
无版本号
fix(asm-exec): resolve secrets via run_script (fixes #293) (#296) * fix(asm-exec): resolve secrets via run_script aws___call_aws was removed on 2026-08-31, so asm-exec resolved no secrets: _resolve_via_mcp called a tool that no longer exists. Port the MCP path to aws___run_script, which runs a short server-side script calling call_boto3('secretsmanager', 'GetSecretValue', ...) and returns the response as the script's return_value. Also fix two defects that made the failure impossible to diagnose: - The transport timeout was hardcoded to 10s, but the run_script boto3 round trip measures ~13s, so every attempt timed out. Default it to 30s and make it configurable via ASM_EXEC_MCP_TIMEOUT. - _resolve_via_mcp collapsed every exception into one "Failed to resolve" string. Report the specific cause (removed/renamed tool, timeout, unreachable endpoint, denied permission, missing secret) on stderr, without ever including the secret value. _extract_secret_string now also traverses the run_script envelope's return_value key (legacy result/output keys kept for back-compat). Embed call_boto3 arguments with repr so secret ids and version stages cannot break out of the generated script. Update SKILL.md to match. Fixes #293 * refactor(asm-exec): drop unused _mcp_post timeout parameter Address review feedback on #296: no caller passes a timeout, so the parameter was dead. _mcp_post reads the module-level MCP_TIMEOUT directly, keeping the timeout configurable via ASM_EXEC_MCP_TIMEOUT. --------- Co-authored-by: Bidesh Thapaliya
无版本号
feat: 90-minute async/ESM timeout guidance for aws-lambda-managed-instances (#300) Documents the 90-minute (5400s) Lambda function timeout for asynchronous and event-source-mapping (SQS, Kinesis, DynamoDB Streams) invocations on Managed Instances: Quick Decision duration signal, Configuration/Limits/Operations updates, long-duration invocation caveats, and a long-running-networking section. Updates the sqs-processor example to illustrate the Timeout and SQS visibility-timeout coupling.
无版本号
feat(sms-voice): add aws-sms-voice skill (#298) Co-authored-by: Daniela Espino

暂无评论

none
暂无评论...