AWS SST v4 Infrastructure Development
An SST v4 (Ion) expert skill for authoring, testing, deploying and troubleshooting sst.config.ts and infra/ modules on AWS.
Dev & CodingAdvanced★ 360⑂ 40AI score 8/10Last updated: Jun 15, 2026
What it does
- Authoring: guides declaration of
sst.aws.Function/Bucket/Dynamo/Cron/Service/Router,sst.Secret,sst.Linkable, and raw Pulumiaws.*resources in the repo's existing style. - Linking & IAM:
link:for in-graph, same-app sharing; SSM Parameter Store under/{app}/{stage}/{domain}for out-of-graph consumers; IAM scoped precisely with$interpolate. - Pitfall guards: never interpolate a Pulumi
Output<T>into a plain template literal (broken ARNs that only fail at deploy), and pin the Node runtime once via a global$transform. - Testing: add/maintain source-level Vitest assertions in
infra/tests/, plusnpx sst diffandtsc --noEmitbefore deploying. - Deploy & troubleshoot: confirm the target account with
aws sts get-caller-identity, diagnoseConflictException,'__filename' has already been declared, andMalformedPolicyDocument; plan resource-type migrations as two sequential PRs.
Who it's for
- Developers managing AWS infrastructure as code with SST v4 (Ion)
- Teams with several
infra/modules who want consistent conventions and a regression net - Anyone repeatedly decoding failed SST deploy logs
Note: not for SST v2/v3 (CDK-based Classic), AWS CDK, Terraform, or SAM projects.
Examples
- "Add an S3 upload bucket and a processing Lambda to this repo" → declares them in the right
infra/module, wireslink:, scopes IAM with$interpolate, and adds a source test. - "sst deploy failed with ConflictException" → identifies the resource-type or physical-name change and proposes a two-deploy teardown/recreate plan.
- "My IAM policy is rejected as MalformedPolicyDocument" → finds the
Output<T>inside a template literal and rewrites it with$interpolate.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/zxkane/aws-skills/HEAD/plugins/aws-iac/skills/aws-sst-development/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the plugins/aws-iac/skills/aws-sst-development folder from the GitHub repo zxkane/aws-skills into my ~/.claude/skills/aws-sst-development/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/zxkane/aws-skills.git /tmp/aws-skills && mkdir -p ~/.claude/skills && cp -r /tmp/aws-skills/plugins/aws-iac/skills/aws-sst-development ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and clone the repo:
git clone https://github.com/zxkane/aws-skills.git - Create the skills folder:
mkdir -p ~/.claude/skills - Copy the skill:
cp -r aws-skills/plugins/aws-iac/skills/aws-sst-development ~/.claude/skills/ - Verify that
references/authoring.md,references/testing.md, andreferences/deploy-and-troubleshoot.mdcame along. - Prerequisites: Node.js with npm/pnpm, working AWS CLI credentials (
aws sts get-caller-identity), and an SST v4 project (npx sst version). - (Recommended) Connect the AWS docs MCP and Context7 MCP so SST/Pulumi syntax and AWS facts can be verified instead of guessed.
- Restart Claude Code and ask something like "add a Lambda to sst.config.ts" — the skill triggers automatically.
View source on GitHub ↗License: MIT