plugins/lisa-expo-agy/skills/ops-deploy/SKILL.md
Deploy Expo frontend (EAS Update/Build) or serverless backend (Serverless Framework) to dev, staging, or production environments.
npx skillsauth add codyswanngt/lisa ops-deployInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 |
documentation
Onboard a user to the project via its LLM Wiki. Interviews the user about themselves in relation to the project, captures that to project-scoped memory only, then gives a guided tour of what the project is and sample questions they can ask. Use when someone is new to the project or asks to be onboarded. Read-mostly — it does not open PRs or write PII into the wiki.
documentation
Migrate an existing, hand-rolled wiki implementation onto the lisa-wiki kernel — phased and compatibility-first, with a strict no-loss guarantee. Use when adopting lisa-wiki in a repo that already has its own wiki/, ingest skills, docs, or roles. Renaming things into the canonical shape is fine; losing functionality or data is not. Ends by running /doctor.
development
Health-check the LLM Wiki. Reports orphan pages, contradictions, stale claims, broken internal links, missing index/log coverage, structure-manifest violations, and secret/tenant leaks. Use periodically or before hardening a wiki. Read-only — it reports findings, it does not fix them.
testing
Ingest source material into the LLM Wiki. With an argument (URL, file path, or prompt) it ingests that one source; with no argument it runs a full ingest across every enabled non-external-write source. Routes to the right connector, then runs the ordered pipeline (source note → synthesis → index → log → verify → state → commit/PR). Use whenever new knowledge should enter the wiki.