Skill 安装
多 Agent 安装npx skills add https://github.com/aws/agent-toolkit-for-aws --skill creating-ec2-image-builder-pipeline
使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。
Skill 调研报告
aws/agent-toolkit-for-aws#creating-ec2-image-builder-pipeline
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
暂无评论...