/launch-with-aws
Migrates vibe-coded web applications to AWS. Handles the full workflow from analysis through migration to deployment, producing deployable AWS Blocks infrastructure code. Supports full-stack apps built with vibe-coding platforms (Lovable, Bolt.new, Replit) and frontend web
$ npx -y skills add aws/agent-toolkit-for-aws --skill launch-with-aws --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/launch-with-aws
Context preview
The summary Claude sees to decide when to auto-load this skill.
Migrates vibe-coded web applications to AWS. Handles the full workflow from analysis through migration to deployment, producing deployable AWS Blocks infrastructure code. Supports full-stack apps built with vibe-coding platforms (Lovable, Bolt.new, Replit) and frontend web
SKILL.md
launch-with-aws.SKILL.mdname: launch-with-aws
description: "Migrates vibe-coded web applications to AWS. Handles the full workflow from analysis through migration to deployment, producing deployable AWS Blocks infrastructure code. Supports full-stack apps built with vibe-coding platforms (Lovable, Bolt.new, Replit) and frontend web applications and websites: React, Vue, Angular, Next.js, Nuxt, Astro, SvelteKit, Gatsby, Vite, Svelte, Solid, Docusaurus, and others (static sites, SPAs, and SSR frameworks with static export). Triggers on: launch with AWS, launch on AWS, deploy to AWS, migrate to AWS, host my app on AWS, move my app to AWS, transfer my app to AWS. Activates when the user wants to migrate a vibe-coded app or frontend web app to AWS, even if they don't say 'migrate' explicitly."
metadata:
version: "2"
Launch with AWS
Drives an AWS migration end-to-end using CLI scripts. Takes a user's web application, analyzes it, generates a migration plan with cost estimate, and delivers deployable [AWS Blocks](https://docs.aws.amazon.com/blocks/latest/devguide/what-is-blocks.html) infrastructure code.
The AWS MCP server is recommended but is not required. This skill works standalone via its CLI scripts in any agent environment.
Script Invocation
All commands are run via:
python3 scripts/launch_with_aws.py <command> [args...]
where `scripts/` is relative to this skill directory. The agent MUST set the working directory to the skill root before invoking commands.
Required files: [launch_with_aws.py](scripts/launch_with_aws.py), [launch_config.py](scripts/launch_config.py), [auth.py](scripts/auth.py), [auth_callback_server.py](scripts/auth_callback_server.py), [launch_api_client.py](scripts/launch_api_client.py), [archive.py](scripts/archive.py), [service model](references/launchwithaws-2026-06-15.json). When loaded via MCP, fetch all and write to a temp directory preserving structure before invoking.
Each command outputs JSON to stdout on success, or exits non-zero with a JSON error on stderr.
Dependencies: Python 3.10+ and `boto3`. The script checks both on startup and exits with a clear error if either is missing.
Supported Application Types
Full-stack apps built with vibe-coding platforms, and frontend web applications and websites (static sites, SPAs, and SSR frameworks with static export).
| Origin Platform | What it covers | |----------------|---------------| | Lovable | Lovable-generated full-stack apps (React + Supabase) | | Bolt.new | Bolt.new-generated full-stack apps (React + Supabase) | | Replit | Replit-hosted full-stack apps (React + Express.js + PostgreSQL) |
| Framework | Examples | |-----------|---------| | React ecosystem | React, CRA, Vite + React, Gatsby, Docusaurus | | Vue ecosystem | Vue, Nuxt (static export), VitePress | | Angular | Angular | | Svelte ecosystem | Svelte, SvelteKit (static export) | | SSR with static export | Next.js, Nuxt, Astro, SvelteKit | | Other modern frameworks | Astro, Solid, Preact, Lit, Eleventy | | Vite (generic) | Any Vite-based app |
Other frameworks may also work. If the user's app doesn't match these, see **Unsupported Application Handling** below.
What Gets Migrated vs. What Stays
**Lovable / Bolt.new apps (Supabase-backed):**
| Component | What happens | |-----------|-------------| | Frontend & hosting | Migrated to AWS (S3 + CloudFront + Lambda) | | Edge functions / server functions | Migrated to AWS Lambda | | AI calls (e.g. Lovable AI Gateway) | Migrated to Amazon Bedrock | | Database (Supabase DB) | Stays on Supabase — not migrated | | Auth (Supabase Auth) | Stays on Supabase — not migrated | | Storage & Realtime | Stays on Supabase — not migrated |
The app continues to call Supabase for database, auth, storage, and realtime from the AWS-hosted application.
**Replit apps (Express.js + PostgreSQL):**
| Component | What happens | |-----------|-------------| | Frontend & hosting | Migrated to AWS (S3 + CloudFront + Lambda) | | Server logic (Express.js) | Migrated to AWS Lambda (API Gateway) | | Database (PostgreSQL) | Schema and code migrated to AWS (Aurora Serverless / DynamoDB). Existing data is NOT migrated — customers must export and import their data separately. | | Auth (Replit Auth) | Code migrated to AWS (Cognito). Existing user accounts are NOT migrated — customers must re-create or invite users in Cognito. | | Realtime (WebSockets) | Migrated to AWS (AppSync Events) | | File storage | Migrated to AWS (S3). Existing files are NOT migrated. |
Replit app infrastructure and code are migrated to AWS-native services, but existing data, user accounts, and files must be migrated separately by the customer.
Input Resolution
Resolve the user's input to a local directory path or GitHub URL:
- If the user provides a **local path**: pass that path directly.
- If the user provides a **GitHub URL**: pass it directly (the service clones it server-side).
- If neither is provided: use the current working directory. If it doesn't look like an app directory, ask the user for the path.
Flow
Run the script commands in order, surfacing results to the user at each step:
1. Authentication
python3 scripts/launch_with_aws.py auth-start
Always run first. Returns immediately with JSON:
- If already authenticated: `{"authenticated": true, "reusedCachedSession": true, "baseUrl": "..."}`
- If silent refresh succeeded: `{"authenticated": true, "reusedCachedSession": false, "baseUrl": "..."}`
- If interactive sign-in is needed: `{"authenticated": false, "signInUrl": "https://...", "pid": 12345, "port": 54321, "baseUrl": "..."}`
When `authenticated` is `false`, **immediately display the `signInUrl` to the user** (so they can open it in their browser) and call `auth-wait` in the same response:
python3 scripts/launch_with_aws.py auth-wait <pid>
where `<pid>` is the `pid` value from the `auth-start` response. This blocks until the user completes browser sign-in (or times out after 600s).
Read more
name: launch-with-aws description: "Migrates vibe-coded web applications to AWS. Handles the full workflow from analysis through migration to deployment, producing deployable AWS Blocks infrastructure code. Supports full-stack apps built with vibe-coding platforms (Lovable, Bolt.new, Replit) and frontend web applications and websites: React, Vue, Angular, Next.js, Nuxt, Astro, SvelteKit, Gatsby, Vite, Svelte, Solid, Docusaurus, and others (static sites, SPAs, and SSR frameworks with static export). Triggers on: launch with AWS, launch on AWS, deploy to AWS, migrate to AWS, host my app on AWS, move my app to AWS, transfer my app to AWS. Activates when the user wants to migrate a vibe-coded app or frontend web app to AWS, even if they don't say 'migrate' explicitly." metadata: version: "2"
Launch with AWS
Drives an AWS migration end-to-end using CLI scripts. Takes a user's web application, analyzes it, generates a migration plan with cost estimate, and delivers deployable [AWS Blocks](https://docs.aws.amazon.com/blocks/latest/devguide/what-is-blocks.html) infrastructure code.
The AWS MCP server is recommended but is not required. This skill works standalone via its CLI scripts in any agent environment.
Script Invocation
All commands are run via:
python3 scripts/launch_with_aws.py <command> [args...]
where `scripts/` is relative to this skill directory. The agent MUST set the working directory to the skill root before invoking commands.
Required files: [launch_with_aws.py](scripts/launch_with_aws.py), [launch_config.py](scripts/launch_config.py), [auth.py](scripts/auth.py), [auth_callback_server.py](scripts/auth_callback_server.py), [launch_api_client.py](scripts/launch_api_client.py), [archive.py](scripts/archive.py), [service model](references/launchwithaws-2026-06-15.json). When loaded via MCP, fetch all and write to a temp directory preserving structure before invoking.
Each command outputs JSON to stdout on success, or exits non-zero with a JSON error on stderr.
Dependencies: Python 3.10+ and `boto3`. The script checks both on startup and exits with a clear error if either is missing.
Supported Application Types
Full-stack apps built with vibe-coding platforms, and frontend web applications and websites (static sites, SPAs, and SSR frameworks with static export).
| Origin Platform | What it covers | |----------------|---------------| | Lovable | Lovable-generated full-stack apps (React + Supabase) | | Bolt.new | Bolt.new-generated full-stack apps (React + Supabase) | | Replit | Replit-hosted full-stack apps (React + Express.js + PostgreSQL) |
| Framework | Examples | |-----------|---------| | React ecosystem | React, CRA, Vite + React, Gatsby, Docusaurus | | Vue ecosystem | Vue, Nuxt (static export), VitePress | | Angular | Angular | | Svelte ecosystem | Svelte, SvelteKit (static export) | | SSR with static export | Next.js, Nuxt, Astro, SvelteKit | | Other modern frameworks | Astro, Solid, Preact, Lit, Eleventy | | Vite (generic) | Any Vite-based app |
Other frameworks may also work. If the user's app doesn't match these, see **Unsupported Application Handling** below.
What Gets Migrated vs. What Stays
**Lovable / Bolt.new apps (Supabase-backed):**
| Component | What happens | |-----------|-------------| | Frontend & hosting | Migrated to AWS (S3 + CloudFront + Lambda) | | Edge functions / server functions | Migrated to AWS Lambda | | AI calls (e.g. Lovable AI Gateway) | Migrated to Amazon Bedrock | | Database (Supabase DB) | Stays on Supabase — not migrated | | Auth (Supabase Auth) | Stays on Supabase — not migrated | | Storage & Realtime | Stays on Supabase — not migrated |
The app continues to call Supabase for database, auth, storage, and realtime from the AWS-hosted application.
**Replit apps (Express.js + PostgreSQL):**
| Component | What happens | |-----------|-------------| | Frontend & hosting | Migrated to AWS (S3 + CloudFront + Lambda) | | Server logic (Express.js) | Migrated to AWS Lambda (API Gateway) | | Database (PostgreSQL) | Schema and code migrated to AWS (Aurora Serverless / DynamoDB). Existing data is NOT migrated — customers must export and import their data separately. | | Auth (Replit Auth) | Code migrated to AWS (Cognito). Existing user accounts are NOT migrated — customers must re-create or invite users in Cognito. | | Realtime (WebSockets) | Migrated to AWS (AppSync Events) | | File storage | Migrated to AWS (S3). Existing files are NOT migrated. |
Replit app infrastructure and code are migrated to AWS-native services, but existing data, user accounts, and files must be migrated separately by the customer.
Input Resolution
Resolve the user's input to a local directory path or GitHub URL:
- If the user provides a **local path**: pass that path directly.
- If the user provides a **GitHub URL**: pass it directly (the service clones it server-side).
- If neither is provided: use the current working directory. If it doesn't look like an app directory, ask the user for the path.
Flow
Run the script commands in order, surfacing results to the user at each step:
1. Authentication
python3 scripts/launch_with_aws.py auth-start
Always run first. Returns immediately with JSON:
- If already authenticated: `{"authenticated": true, "reusedCachedSession": true, "baseUrl": "..."}`
- If silent refresh succeeded: `{"authenticated": true, "reusedCachedSession": false, "baseUrl": "..."}`
- If interactive sign-in is needed: `{"authenticated": false, "signInUrl": "https://...", "pid": 12345, "port": 54321, "baseUrl": "..."}`
When `authenticated` is `false`, **immediately display the `signInUrl` to the user** (so they can open it in their browser) and call `auth-wait` in the same response:
python3 scripts/launch_with_aws.py auth-wait <pid>
where `<pid>` is the `pid` value from the `auth-start` response. This blocks until the user completes browser sign-in (or times out after 600s).
Help AI coding agents build, deploy, and manage applications on AWS. The Agent Toolkit for AWS gives AI coding agents the tools, knowledge, and guardrails they need to work with AWS services.
Repo: aws/agent-toolkit-for-aws
Other skills on agent-toolkit-for-aws.
- /analyzing-release-readiness
Trigger a pre-merge release readiness review on a GitHub PR, GitLab MR, or local branch. Use when the user wants to analyze code changes for risk, correctness, and potential rollback issues before merging. Trigger words include release readiness, analyze PR, analyze MR, review
Open skill - /chatting-with-aws-devops-agent
Have a fast, conversational analysis with the AWS DevOps Agent. Use for cost optimization, architecture review, topology mapping, knowledge / runbook discovery, security audits, dependency questions, and quick diagnostics — anything that needs a 5-30 second answer rather than a
Open skill - /coordinating-multi-space-devops-agent
Coordinate the AWS DevOps Agent across multiple AgentSpaces from one Claude Code session — route questions to the right space (prod vs staging vs knowledge), query several spaces in parallel and synthesize, or compare findings across accounts. Use whenever the user has more than
Open skill - /diff-scanning-with-aws-security-agent
Run a fast AWS Security Agent diff scan on only the changed code since a git ref. Use when the user asks to scan changes, run a diff scan, check what changed for security issues, scan before committing, scan before PR, or any pre-commit/pre-push security check.
Open skill - /investigating-incidents-with-aws-devops-agent
Run a deep root-cause investigation on the AWS DevOps Agent. Use when the user describes an incident, alarm, outage, or unexplained behavior — keywords like "5xx", "503", "OOM", "latency spike", "deployment failure", "rollback", "sev1", "investigate", "root cause", "debug",
Open skill - /pentesting-with-aws-security-agent
Run an AWS Security Agent penetration test against a live web application — registers and verifies the target domain, exercises the supplied endpoints with the managed Security Agent service, and returns verified runtime findings. Use when the user asks to pentest, run a
Open skill

