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:

  1. 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
  2. Detects your framework — identifies the framework, adapter, and output mode from the scanned files
  3. Asks clarifying questions — at most 2, only when something is genuinely ambiguous (e.g. monorepo root, SSR vs static, WebSocket requirement)
  4. Presents a recommendation — the right Thunder construct with a cost estimate and explanation
  5. Generates everything — a complete stack/dev.ts file, a Dockerfile if needed, and deploy scripts in package.json

Installation

Thunder uses a postinstall script to register the skill. Bun blocks postinstall scripts by default — run this once to allow it:

Terminal window
bun pm untrusted

Then install Thunder:

Terminal window
bun add @thunder-so/thunder --development

The skill is now available in any Claude Code session inside your project. Invoke it with:

/aws-deploy

Or 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:

FrameworkPossible constructs
Next.js (output: 'export')Static
Next.js (output: 'standalone')Fargate
Nuxt, Astro, SvelteKit, TanStack Start, Solid Start, AnalogJSStatic, Serverless, or Fargate
Hono, Express, FastifyLambda or Fargate
Any app with a DockerfileFargate
Pure Vite SPAStatic

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.

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.