Capacitor Live Update Architect
Use this skill when planning implementation that may ship as live updates.
Objectives
- Deliver features without crossing OTA/native boundaries accidentally.
- Keep rollout reversible and observable.
- Catch compatibility breakage before channel promotion.
Step-by-Step Workflow
- Split scope into
web-layerandnative-layerchanges. - Mark each item as
OTA-eligibleorstore-release-required. - Validate plugin availability and platform constraints.
- Define
capacitor.config.tschanges with production-safe values. - Define channel strategy and rollout cadence.
- Define compatibility gates and required command checks.
- Define rollback strategy with specific previous bundle.
- Define test plan (unit, integration, E2E, cold-start).
- Define post-deploy monitoring and stop conditions.
Required Output Template
Scope split: web vs nativeRelease type: OTA or nativeChannel plan: staging, beta, productionCompatibility gates: commands + pass criteriaRollback: target bundle + trigger thresholdsMonitoring: metrics/events to watch in first 24hRisks: top 3 risks and mitigations
Command Patterns To Reference
npx @capgo/cli@latest doctor
npx @capgo/cli@latest bundle compatibility <appId> --channel <channel>
npx @capgo/cli@latest bundle releaseType <appId> --channel <channel>
npx @capgo/cli@latest channel currentBundle <channel> <appId>
npx @capgo/cli@latest bundle upload <appId> --channel <channel>
npx @capgo/cli@latest channel set <channel> <appId> --bundle <bundleVersion>
Common Failure Modes
- OTA attempted for native-impacting change.
- Startup regression due to missing
notifyAppReady()call. - Promotion done without reading current channel bundle first.
- No rollback target identified before production rollout.
