From lovable-to-app-store
Push an OTA update to a published app after making changes in Lovable. Pulls the latest code, builds, and deploys via Capgo so installed apps update silently without a new App Store submission. Triggered by: "update [app name]", "push update for [app]", "deploy latest Lovable changes", "push OTA", "sync latest changes to the app", "publish new version", "the app needs an update".
How this skill is triggered — by the user, by Claude, or both
Slash command
/lovable-to-app-store:updateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Pull the latest Lovable changes and push them to installed apps via Capgo — no App Store submission needed for JS/CSS/asset changes.
Pull the latest Lovable changes and push them to installed apps via Capgo — no App Store submission needed for JS/CSS/asset changes.
OTA updates work for:
OTA updates DO NOT work for:
If the user asks to add a new native feature, redirect to the add-native skill instead.
# Find the app in memory by name or bundle ID
ls ~/Documents/Claude/lovable-to-app-store/memory/apps/
If the user says "update Acme Tracker", search memory files for app_name matching "Acme Tracker". Load the memory file.
Required from memory:
github_repocapgo.api_keycapgo.app_idcapgo.channelIf memory file not found, ask: "Which app do you want to update? (Provide the GitHub URL or app name)"
# Check if repo is already cloned
if [ -d "/tmp/lovable-to-app-store/{repo-name}" ]; then
cd /tmp/lovable-to-app-store/{repo-name}
git pull origin main
else
git clone {github_repo} /tmp/lovable-to-app-store/{repo-name} --depth=1
cd /tmp/lovable-to-app-store/{repo-name}
fi
cd /tmp/lovable-to-app-store/{repo-name}
git diff HEAD~1..HEAD --name-only | grep '^supabase/functions/' || echo "no edge function changes"
If there are changes under supabase/functions/: Lovable does not auto-deploy edge functions when you push to GitHub or pull changes into Lovable. You must explicitly tell Lovable: "Please deploy the edge functions". Until that happens, the live app will continue running the old function code (or 404 if the function is brand new).
For each changed function, verify deployment after Lovable confirms:
curl -s -o /dev/null -w '%{http_code}' -X POST \
'https://{supabase_ref}.supabase.co/functions/v1/{function_name}'
# Expect 400 (bad request — no body) NOT 404 (function not deployed)
A 404 means the function wasn't deployed — ask Lovable again. Common cases this matters for: google-native-signin, apple-native-signin (Step 6/Step 9 of refs 07/08 in the ship skill).
OTA updates pushed via Capgo only update the WebView bundle — they cannot deploy edge functions.
cd /tmp/lovable-to-app-store/{repo-name}
npm install
npm run build
npx cap sync
# Install Capgo CLI if not present
npm install -g @capgo/cli
# Deploy update to the production channel
npx @capgo/cli bundle upload \
--apikey {capgo.api_key} \
--bundle-id {bundle_id} \
--channel {capgo.channel}
After successful push:
✅ OTA update pushed for {AppName}
Installed apps will receive the update within a few minutes.
Users don't need to do anything — it happens automatically.
Channel: {capgo.channel}
Bundle: {version from package.json}
Update build.last_build_date in the memory file.
Read the error and attempt to fix it. Common issues:
npm install and retrypackage.json scriptsIf still failing after 2 attempts, report the error to the user and suggest they check the Lovable build logs first.
If the user says "I added a new feature that needs a camera" or similar native capability, tell them:
add-native skill to add the capability and rebuildProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub mark-taikai/lovable-to-app-store --plugin lovable-to-app-store