Claude Code Skill
The aws-deploy skill is a Claude Code skill that ships with Thunder. When you add @thunder-so/thunder to your project, the skill is automatically registered — no manual setup required. From that point on, you can ask Claude to deploy your app to AWS and it will handle the rest.
How It Works
When you invoke /aws-deploy (or simply ask Claude to deploy), the skill runs a structured 5-step workflow:
- Scans your project — reads
package.json, framework config files (next.config.ts,nuxt.config.ts,astro.config.mjs,svelte.config.js,app.config.ts,vite.config.ts,Dockerfile, etc.) without asking you first - Detects your framework — identifies the framework, adapter, and output mode from the scanned files
- Asks clarifying questions — at most 2, only when something is genuinely ambiguous (e.g. monorepo root, SSR vs static, WebSocket requirement)
- Presents a recommendation — the right Thunder construct with a cost estimate and explanation
- Generates everything — a complete
stack/dev.tsfile, a Dockerfile if needed, and deploy scripts inpackage.json
Installation
Thunder uses a postinstall script to register the skill. Bun blocks postinstall scripts by default — run this once to allow it:
bun pm untrustedThen install Thunder:
bun add @thunder-so/thunder --developmentThe skill is now available in any Claude Code session inside your project. Invoke it with:
/aws-deployOr just tell Claude: “Deploy this to AWS”.
What Gets Detected
The skill uses a decision matrix to map your project to the right Thunder construct:
| Framework | Possible constructs |
|---|---|
Next.js (output: 'export') | Static |
Next.js (output: 'standalone') | Fargate |
| Nuxt, Astro, SvelteKit, TanStack Start, Solid Start, AnalogJS | Static, Serverless, or Fargate |
| Hono, Express, Fastify | Lambda or Fargate |
| Any app with a Dockerfile | Fargate |
| Pure Vite SPA | Static |
When multiple patterns are valid, Claude presents the tradeoffs and asks which you prefer.
AWS MCP Servers
The skill integrates with AWS MCP servers when they are connected to your Claude Code session. These are optional but unlock real-time data that makes the skill significantly more useful.
AWS Pricing MCP Server
Used during the recommendation step to fetch live pricing data for Lambda, Fargate, CloudFront, S3, and API Gateway — instead of relying on static estimates.
- Docs: awslabs.github.io/mcp/servers/aws-pricing-mcp-server
- Source: github.com/awslabs/mcp — aws-pricing-mcp-server
AWS Billing and Cost Management MCP Server
Gives Claude visibility into your actual AWS spend and budget alerts. Useful for reviewing costs after deployment or setting up budget guardrails.
CloudWatch MCP Server
Used after deployment to help Claude debug issues — querying CloudWatch Logs, reading Lambda error traces, and checking ECS task health without leaving your editor.