Source profileQuality 95/100

awslabs/agent-plugins/plugins/aws-amplify/skills/amplify-workflow/SKILL.md

amplify-workflow

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, version-specific patt

Source repository stars
868
Declared platforms
0
Static risk flags
1
Last source update
2026-08-25
Source checked
2026-08-25

Decision brief

What it does: where it fits

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.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/awslabs/agent-plugins --skill "plugins/aws-amplify/skills/amplify-workflow"
    Safe inspection promptEditorial

    Inspect the Agent Skill "amplify-workflow" from https://github.com/awslabs/agent-plugins/blob/a35c295c62452468446d3a3fa7e2590cd27474ab/plugins/aws-amplify/skills/amplify-workflow/SKILL.md at commit a35c295c62452468446d3a3fa7e2590cd27474ab. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Quick Start — Route to the Right Reference

      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 j…

      Web (React, Next.js, Vue, Angular, React Native): You MUST readMobile (Flutter, Swift, Android): You MUST readBackend only (no frontend work): Skip to Step 1.
    2. 02

      Step 0: Read Core Reference (ALWAYS)

      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 j…

      Web (React, Next.js, Vue, Angular, React Native): You MUST readMobile (Flutter, Swift, Android): You MUST readBackend only (no frontend work): Skip to Step 1.
    3. 03

      Step 1: Identify the Task Type

      Review the “Step 1: Identify the Task Type” section in the pinned source before continuing.

      Review and apply the “Step 1: Identify the Task Type” source section.
    4. 04

      Step 2: Backend Features

      You MUST read the corresponding reference for each backend feature:

      You MUST read the corresponding reference for each backend feature: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.
    5. 05

      Step 3: Frontend Integration

      After configuring backend resources, connect the frontend. Choose by platform and feature:

      After configuring backend resources, connect the frontend. Choose by platform and feature:Web (React, Next.js, Vue, Angular, React Native):Mobile (Flutter, Swift, Android):

    Permission review

    Static risk signals and limitations

    Network access

    medium · line 99

    The documentation includes network, browsing, or remote request actions.

    | Storage upload/download | [storage-web.md](references/storage-web.md) |

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score95/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars868SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    awslabs/agent-plugins
    Skill path
    plugins/aws-amplify/skills/amplify-workflow/SKILL.md
    Commit
    a35c295c62452468446d3a3fa7e2590cd27474ab
    License
    Apache-2.0
    Collected
    2026-08-25
    Default branch
    main
    View the original SKILL.md

    AWS Amplify Gen2

    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.

    Prerequisites

    • Node.js ^18.19.0 || ^20.6.0 || >=22 and npm
    • AWS credentials configured (aws sts get-caller-identity succeeds)
    • For sandbox: npx ampx --version returns a valid version
    • For mobile: Platform-specific tooling (Xcode, Android Studio, Flutter SDK)

    Defaults & Assumptions

    When the user does not specify a framework:

    • Web: You SHOULD default to React (Vite) and explain the choice.
    • Mobile: You MUST ask which platform the user wants (Flutter, Swift, Android, or React Native). There is no universal mobile default.
    • Neither specified: If the user says "build an app" without clarifying web vs. mobile, you MUST ask before proceeding.
    • Backend only: If only backend changes are requested and no frontend framework is mentioned, skip the frontend integration step entirely.

    When the user does not specify tooling or strategy:

    • Package manager: You SHOULD default to npm unless the user specifies yarn or pnpm.
    • Language: You SHOULD default to TypeScript. Gen2 backends are TypeScript-only; frontends SHOULD follow the project's existing language.
    • Next.js: You SHOULD default to App Router unless the user specifies Pages Router.
    • React Native: Ask the user whether they use Expo or bare React Native CLI.
    • Auth: You MUST ask which login method the user wants (email/password, social login, SAML, passwordless, etc.). Do not assume a default.
    • Data authorization: default to publicApiKey (allow.publicApiKey()) — this is the starter template default. When auth is added, switch to owner-based (allow.owner()) with defaultAuthorizationMode: 'userPool'.

    Quick Start — Route to the Right Reference

    Step 0: Read Core Reference (ALWAYS)

    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.

    • Web (React, Next.js, Vue, Angular, React Native): You MUST read core-web.md
    • Mobile (Flutter, Swift, Android): You MUST read core-mobile.md
    • Backend only (no frontend work): Skip to Step 1.

    Step 1: Identify the Task Type

    TaskGo To
    Create a new projectscaffolding.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 applicationdeployment.md

    Step 2: Backend Features

    You MUST read the corresponding reference for each backend feature:

    FeatureReferenceWhen to Use
    Authenticationauth-backend.mdEmail/password, social login, MFA, SAML/OIDC
    Data Modelsdata-backend.mdGraphQL schema, DynamoDB, relationships, auth rules
    File Storagestorage-backend.mdS3 uploads/downloads, access rules
    Functions & APIfunctions-and-api.mdLambda, custom resolvers, REST/HTTP APIs, calling from client
    AI Featuresai.mdConversation, generation, AI tools via Bedrock (backend config + React/Next.js frontend)
    Geo, PubSub, CDKadvanced-features.mdBackend-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.

    Step 3: Frontend Integration

    After configuring backend resources, connect the frontend. Choose by platform and feature:

    Web (React, Next.js, Vue, Angular, React Native):

    FeatureReference
    Auth UI & flowsauth-web.md
    Data CRUD & subscriptionsdata-web.md
    Storage upload/downloadstorage-web.md

    Mobile (Flutter, Swift, Android):

    FeatureReference
    Auth UI & flowsauth-mobile.md
    Data CRUD & subscriptionsdata-mobile.md
    Storage upload/downloadstorage-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.

    Core Concepts

    Amplify Gen2 Architecture

    • Code-first: All backend resources defined in TypeScript under amplify/
    • Main config: amplify/backend.ts imports and combines all resources via defineBackend()
    • Resource files: amplify/auth/resource.ts, amplify/data/resource.ts, amplify/storage/resource.ts, amplify/functions/<name>/resource.ts
    • Generated output: amplify_outputs.json — consumed by frontend Amplify.configure(). Gitignored — generated by npx ampx sandbox (local dev) or npx ampx pipeline-deploy (CI/CD), never committed.

    Directory Structure

    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
    

    Key APIs

    PackagePurpose
    @aws-amplify/backenddefineAuth, defineData, defineStorage, defineFunction, defineBackend
    aws-amplifyFrontend: Amplify.configure(), generateClient(), auth/data/storage APIs
    @aws-amplify/ui-reactPre-built UI: <Authenticator>, <StorageBrowser>
    @aws-amplify/ui-react-aiAI UI: <AIConversation>, useAIConversation

    Documentation & Resource Verification

    When you need AWS documentation (advanced CDK constructs, service limits, provider-specific auth config):

    1. If AWS documentation tools are available (e.g., via AWS MCP), you SHOULD use them to search and retrieve relevant documentation pages.
    2. If AWS documentation tools are unavailable, you MUST fall back to web 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.

    Security Considerations

    • Use secret() for all credentials and API keys — never hardcode or use plain environment variables for sensitive values
    • Review allow.guest() exposure carefully — guest access is enabled by default and grants unauthenticated users access to IAM-authorized resources
    • Scope IAM policies to specific resource ARNs — avoid resources: ['*'] in production
    • Never log secrets or include them in error messages
    • Enable CloudTrail and CloudWatch alarms for monitoring Amplify-deployed resources; enable access logging on S3, AppSync, and API Gateway
    • Configure security headers for web apps — set CSP, HSTS, X-Frame-Options, and X-Content-Type-Options via customHeaders in amplify.yml
    • Attach AWS WAF to public-facing AppSync APIs and API Gateway endpoints for defense in depth
    • Enable throttling and rate limiting on API Gateway and AppSync APIs to prevent abuse
    • Use IAM roles with ephemeral credentials for CI/CD pipelines and Lambda execution roles — never long-lived access keys
    • Encrypt CloudWatch Logs groups with KMS (aws:kms) when they may contain PII, tokens, or secrets; enable log retention policies
    • Enable AppSync schema validation and API Gateway request validators to reject malformed input at the edge
    • Use ACM-managed TLS certificates for custom domains on Amplify Hosting — configure via customDomain in deployment config

    Links

    All documentation links use react as the default platform slug. Replace /react/ in any URL with your target framework:

    FrameworkSlug
    Reactreact
    Next.jsnextjs
    Vuevue
    Angularangular
    React Nativereact-native
    Flutterflutter
    Swiftswift
    Androidandroid

    Frequently asked questions

    What to verify before installation and use

    What does the amplify-workflow source document cover?

    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.

    How do I install amplify-workflow?

    The source record exposes this install command: npx skills add https://github.com/awslabs/agent-plugins --skill "plugins/aws-amplify/skills/amplify-workflow". Inspect the command and pinned source before running it.

    Which permission-related actions were detected?

    Static rules flagged network in the source; the page lists the matching lines and excerpts.

    Alternatives

    Compare before choosing

    Computed 9264

    lovstudio/skills

    lov-app-generator

    Use it for deployment and engineering tasks; the detail page covers purpose, installation, and practical steps.

    Computed 97149

    UiPath/skills

    uipath-coded-apps

    UiPath Coded Apps — scaffold, build, run, and deploy Coded Web Apps and Coded Action Apps: React/TypeScript apps that call UiPath Cloud APIs via the `@uipath/uipath-typescript` SDK and ship to Automation Cloud (push/pull to Studio Web, pack, publish, deploy, OAuth-PKCE). Also generates live analytics & governance dashboards from a plain-language request, wired to tenant data via the Insights real-time API, with edit and deploy flows. For RPA→uipath-rpa, Python agents→uipath-agents, Maestro flows

    Computed 9279

    Cloudgeni-ai/opengeni

    opengeni

    Use when editing, operating, extending, documenting, or debugging the OpenGeni source repository or deployment: architecture, sessions/events, worker orchestration, sandbox backends, files/storage, tools/MCP, scheduling, configuration, and deployment. For a customer product that consumes a standalone OpenGeni deployment through the SDK or React packages, use the separate opengeni-client skill instead.

    Computed 961,101

    fcakyon/claude-codex-settings

    vercel-react-view-transitions

    Guide for implementing smooth, native-feeling animations using React's View Transition API (`<ViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter/exit of components, animate list reorder, implement directional (forward/back) navigation animations, or integrate view transitions in Next.js. Also use when the user mentions view