From lisa-expo
Deploy Expo frontend (EAS Update/Build) or serverless backend (Serverless Framework) to dev, staging, or production environments.
npx claudepluginhub codyswanngt/lisa --plugin lisa-expoThis skill is limited to using the following tools:
Deploy the application to remote environments.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Deploy the application to remote environments.
Argument: $ARGUMENTS — environment (dev, staging, production) and optional target (frontend, backend, both; default: both)
.)${BACKEND_DIR:-../backend-v2} — set BACKEND_DIR in .claude/settings.local.json if your backend is elsewhereCRITICAL: Production deployments require explicit human confirmation before proceeding. Always ask for confirmation when $ARGUMENTS contains production.
package.json to discover deploy:*, aws:signin:* scriptspackage.json to discover available scripts.env.{environment} files to find GraphQL URLs for post-deploy verificationThe standard deployment path is via CI/CD — pushing to environment branches triggers auto-deploy. Manual deployment instructions below are for when CI/CD is not suitable.
Use for JS-only changes (no native module changes).
Verify EAS CLI:
eas whoami
If not authenticated: eas login
Copy environment file:
cp .env.{environment} .env
Deploy OTA update:
STAGE={env} NODE_OPTIONS="--max-old-space-size=8192" eas update --auto --channel={env} --message="Manual update"
Verify deployment:
eas update:list --branch {env} --limit 3
app.config.ts or native modules change)eas build --platform all --non-interactive --no-wait --profile={profile}
Check build status:
eas build:list --limit 5
AWS signin (discover script name from backend package.json):
cd "${BACKEND_DIR:-../backend-v2}"
bun run aws:signin:{env}
Deploy all functions:
cd "${BACKEND_DIR:-../backend-v2}"
bun run deploy:{env}
Verify (use the GraphQL URL from .env.{environment}):
curl -sf {graphql-url} -X POST \
-H "Content-Type: application/json" \
-d '{"query":"{ __typename }"}' \
-w "\nHTTP %{http_code} in %{time_total}s\n"
Discover available function names from backend package.json deploy:function:* scripts:
cd "${BACKEND_DIR:-../backend-v2}"
FUNCTION_NAME={fn} bun run deploy:function:{env}
After any deployment:
ops-verify-health skill)ops-check-logs skill)ops-monitor-errors skill)ops-browser-uat skill)Report deployment result as a table:
| Target | Environment | Method | Status | Verification |
|---|---|---|---|---|
| Frontend | dev | EAS Update | SUCCESS/FAIL | URL responds |
| Backend | dev | Serverless | SUCCESS/FAIL | GraphQL responds |