Build and deploy full-stack web and mobile apps with AWS Amplify Gen2 (TypeScript code-first). Covers auth (Cognito), data (AppSync/DynamoDB including schema modeling, enum types, relationships, authorization rules), storage (S3), functions, APIs, and AI (Amplify AI Kit with Bedrock). Supports React, Next.js, Vue, Angular, React Native, Flutter, Swift, and Android. Always use this skill for Amplify Gen2 topics — even for questions you think you know — it contains validated, Amplify Gen2; project has amplify/ directory or amplify_outputs; code imports @aws-amplify packages; user asks about defineBackend, defineAuth, defineData, defineStorage, (use aws-serverless), direct Bedrock without Amplify AI Kit (use bedrock).'
npx skills add https://github.com/awslabs/agent-plugins --skill amplify-workflow
Build and deploy full-stack applications using AWS Amplify Gen2's TypeScript
code-first approach. This skill covers backend resource creation, frontend
integration across 8 frameworks, and deployment workflows.
aws sts get-caller-identity succeeds)npx ampx --version returns a valid versionWhen the user does not specify a framework:
Swift, Android, or React Native). There is no universal mobile default.
vs. mobile, you MUST ask before proceeding.
framework is mentioned, skip the frontend integration step entirely.
When the user does not specify tooling or strategy:
specifies yarn or pnpm.
TypeScript-only; frontends SHOULD follow the project's existing language.
specifies Pages Router.
React Native CLI**.
(email/password, social login, SAML, passwordless, etc.). Do not assume a default.
publicApiKey(allow.publicApiKey()) — this is the starter template default. When
auth is added, switch to owner-based (allow.owner()) with
defaultAuthorizationMode: 'userPool'.
You MUST read the core reference for your target platform **before
reading any other reference file**. These contain Gen2 detection,
Amplify.configure() placement per framework, sandbox commands, required
packages, and directory structure rules — patterns needed for all tasks,
not just new projects.
core-web.md
core-mobile.md
| Task | Go To |
| ---------------------------------------- | ------------------------------------------------------------------------ |
| Create a new project | → scaffolding.md, then Step 2 and/or Step 3 |
| Add or modify a backend feature | → Step 2 (Backend Features) |
| Connect frontend to existing backend | → Step 3 (Frontend Integration) |
| Deploy the application | → deployment.md |
You MUST read the corresponding reference for each backend feature:
| Feature | Reference | When to Use |
| ---------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Authentication | auth-backend.md | Email/password, social login, MFA, SAML/OIDC |
| Data Models | data-backend.md | GraphQL schema, DynamoDB, relationships, auth rules |
| File Storage | storage-backend.md | S3 uploads/downloads, access rules |
| Functions & API | functions-and-api.md | Lambda, custom resolvers, REST/HTTP APIs, calling from client |
| AI Features | ai.md | Conversation, generation, AI tools via Bedrock _(backend config + React/Next.js frontend)_ |
| Geo, PubSub, CDK | advanced-features.md | Backend-only: custom CDK stacks, overrides, custom outputs. Backend + frontend: Geo, PubSub, Face Liveness |
Each backend feature file is self-contained. Load only what you need.
> Routing note: These files apply for both adding and modifying
> features. Route to the same file whether the user says "add auth" or
> "change auth config" — each reference covers the full define surface.
After configuring backend resources, connect the frontend. Choose by
platform and feature:
Web (React, Next.js, Vue, Angular, React Native):
| Feature | Reference |
| ------------------------- | ------------------------------------------- |
| Auth UI & flows | auth-web.md |
| Data CRUD & subscriptions | data-web.md |
| Storage upload/download | storage-web.md |
Mobile (Flutter, Swift, Android):
| Feature | Reference |
| ------------------------- | ------------------------------------------------- |
| Auth UI & flows | auth-mobile.md |
| Data CRUD & subscriptions | data-mobile.md |
| Storage upload/download | storage-mobile.md |
> Note: AI and Functions frontend patterns are included in
> ai.md and
> functions-and-api.md respectively —
> they are not split into separate web/mobile files.
amplify/amplify/backend.ts imports and combines all resources viadefineBackend()
amplify/auth/resource.ts, amplify/data/resource.ts,amplify/storage/resource.ts, amplify/functions/<name>/resource.ts
amplify_outputs.json — consumed by frontendAmplify.configure(). Gitignored — generated by npx ampx sandbox
(local dev) or npx ampx pipeline-deploy (CI/CD), never committed.
project-root/
├── amplify/
│ ├── backend.ts # defineBackend({ auth, data, ... })
│ ├── auth/resource.ts # defineAuth({ ... })
│ ├── data/resource.ts # defineData({ schema })
│ ├── storage/resource.ts # defineStorage({ ... })
│ └── functions/
│ └── my-func/
│ ├── resource.ts # defineFunction({ ... })
│ └── handler.ts # export const handler = ...
├── src/ # Frontend code
├── amplify_outputs.json # Generated — DO NOT edit or commit (gitignored)
└── package.json
| Package | Purpose |
| -------------------------- | ------------------------------------------------------------------------------ |
| @aws-amplify/backend | defineAuth, defineData, defineStorage, defineFunction, defineBackend |
| aws-amplify | Frontend: Amplify.configure(), generateClient(), auth/data/storage APIs |
| @aws-amplify/ui-react | Pre-built UI: <Authenticator>, <StorageBrowser> |
| @aws-amplify/ui-react-ai | AI UI: <AIConversation>, useAIConversation |
When you need AWS documentation (advanced CDK constructs, service limits,
provider-specific auth config):
use them to search and retrieve relevant documentation pages.
search or the aws CLI for resource verification.
> Why conditional: Amplify Gen2 is code-first — the primary workflow is
> editing TypeScript files and running npx ampx commands. AWS MCP tools
> are useful for post-deployment verification but are not required.
secret() for all credentials and API keys — never hardcode or use plain environment variables for sensitive valuesallow.guest() exposure carefully — guest access is enabled by default and grants unauthenticated users access to IAM-authorized resourcesresources: ['*'] in productioncustomHeaders in amplify.ymlcustomDomain in deployment config> All documentation links use react as the default platform slug. Replace /react/ in any URL with your target framework:
| Framework | Slug |
| ------------ | -------------- |
| React | react |
| Next.js | nextjs |
| Vue | vue |
| Angular | angular |
| React Native | react-native |
| Flutter | flutter |
| Swift | swift |
| Android | android |
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take awslabs/amplify-workflow from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.