MCPInstall

capacitor-plugins

Pick, install, and wire up Capacitor plugins for native features (camera, filesystem, geolocation, biometrics, in-app purchases, social login, SQLite, calendar, contacts, health, BLE, NFC, etc.). Covers official @capacitor/ packages (Capacitor 8.5 stable, 9 alpha on next) plus the 145-package @capgo/ index, native permission keys (Info.plist, AndroidManifest, variables.gradle minSdk), npx cap sync / cap ls verification, and errors like '"Camera" plugin is not implemented on ios', 'unable to find plugin', UNIMPLEMENTED, and OS-PLUG- codes. Use for "which plugin should I use for X", adding a plugin, or a plugin call failing after install. Do not use for push setup (capacitor-push-notifications), splash assets (capacitor-splash-screen), keyboard layout (capacitor-keyboard), deep links (capacitor-deep-linking), OTA updates (capgo-live-updates), upgrading plugin source code (capacitor-plugin-upgrades), or adding SPM to a plugin (capacitor-plugin-spm-support).

Installs
1.6K
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/cap-go/capgo-skills --skill capacitor-plugins
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads capacitor-plugins automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Capacitor Plugins

Choose the right plugin, install it correctly, and prove it is linked natively.

When to Use

TRIGGER when:

  • User asks "which plugin should I use for X?" or compares plugin options.
  • User needs a native capability (camera, files, location, biometrics, payments, auth, sensors, storage, media, calendar, contacts, health, on-device LLM).
  • A plugin call fails after install: "X" plugin is not implemented on ios|android|web, UNIMPLEMENTED, unable to find plugin, or an OS-PLUG-* code.
  • User needs the right Info.plist / AndroidManifest.xml / variables.gradle entries for a plugin.

Do not use (load the sibling skill instead):

  • Push notification setup, FCM/APNs keys: capacitor-push-notifications
  • Splash screen assets and timing: capacitor-splash-screen
  • Keyboard overlap, accessory bar, resize: capacitor-keyboard
  • Universal Links / App Links: capacitor-deep-linking
  • OTA live updates: capgo-live-updates
  • Migrating plugin source code across Capacitor majors: capacitor-plugin-upgrades (and capacitor-plugin-upgrade-v8-to-v9)
  • Adding Swift Package Manager support to a plugin: capacitor-plugin-spm-support; moving an app to SPM: cocoapods-to-spm
  • AppDelegate/SceneDelegate lifecycle changes: capacitor-uiscene-migration
  • Upgrading the app's Capacitor major: capacitor-app-upgrades
  • SQL storage migrations: sqlite-to-fast-sql

Version Facts (October 2026)

  • Capacitor stable: 8.5.x (latest). Capacitor 9 is 9.0.0-alpha on the next dist-tag. Official plugins follow: most v8 plugins are 8.x on latest and 9.0.0-alpha on next.
  • Plugin major must match the app's Capacitor major. Plugins for older majors use latest-<major> tags, e.g. npm install @capacitor/camera@latest-7.
  • Some official plugins have independent versions (file-transfer 2.x, file-viewer 2.x, inappbrowser 4.x, privacy-screen 2.x, barcode-scanner 3.x, background-runner 3.x, calendar/contacts/health-fitness 1.x). Check npm view <pkg> peerDependencies instead of matching the number.
  • @capgo/* plugins use the Capacitor major as their own major (8.x for Capacitor 8). LTS tags such as lts-v7 exist on some packages.
  • Capacitor 9: iOS 16 min, Android minSdk 26. Plugins that previously needed minSdkVersion = 26 (inappbrowser, barcode-scanner) stop needing a bump.

Procedure

  1. Inspect first. Read package.json (@capacitor/core version), capacitor.config.*, and check whether iOS uses SPM (ios/App/CapApp-SPM/Package.swift) or CocoaPods (ios/App/Podfile). Run npx cap ls to see what is already linked.

  2. Pick the package.

    • An official @capacitor/* package exists and covers the need: default to it. Load its reference from the index below.
    • No official package, or it lacks a required feature: load references/capgo-plugin-index.md and pick the exact @capgo/* name. State why it fits better.
    • Never recommend a package name that is not in a reference file without checking npm view <pkg> version first.
  3. Install with the matching major:

    npm install @capacitor/<name>        # or @capgo/<name>
    npx cap sync
    
  4. Add native config from the reference: usage-description keys, manifest permissions, variables.gradle minSdk/library versions, capabilities/entitlements, AppDelegate hooks. Missing iOS usage strings crash the app on first access.

  5. Ask the user before raising minSdkVersion, adding entitlements (HealthKit, Push), or enabling exact alarms: these affect store review and device reach.

  6. Verify (next section), then run on a real device for anything involving camera, health, LLM, BLE, or push.

Capgo Plugin Index

references/capgo-plugin-index.md is the complete Capgo plugin source, generated from Cap-go GitHub package.json and src/definitions.ts: npm name, purpose, install command, platforms, key API methods, docs and repo links for every public non-archived package. references/capgo-plugin-catalog.md is the compact table of the same set. Load the index before recommending any @capgo/* package and use the exact name from it.

Regenerate both after Cap-go org changes (repository maintainers only):

GITHUB_TOKEN=$(gh auth token) node scripts/generate-capgo-plugin-index.mjs

Verification

npx cap sync              # must finish without "[error]" lines
npx cap ls                # lists "Found N Capacitor plugins for ios/android"; plugin must appear for each platform
  • Android: android/app/capacitor.build.gradle contains implementation project(':capacitor-<name>') and android/capacitor.settings.gradle has the matching include. Then cd android && ./gradlew assembleDebug.
  • iOS SPM: ios/App/CapApp-SPM/Package.swift lists the plugin package. iOS CocoaPods: ios/App/Podfile has the pod and pod install succeeded. Build in Xcode or npx cap run ios.
  • Grep for leftovers when replacing a plugin: grep -rn "<old-package>" src android ios package.json.
  • Feature-detect at runtime: Capacitor.isPluginAvailable('Camera') and Capacitor.getPlatform().

Error Handling

ErrorCauseFix
"Camera" plugin is not implemented on ios (or android/web)Native side not linked, or no web implementationnpx cap sync, rebuild the native app (live reload does not pick up new native code), check npx cap ls. On web, guard with Capacitor.isNativePlatform().
"Camera.takePhoto()" is not implemented on iosPlugin linked but JS and native versions differ, or method is platform-specificAlign JS and native versions, npx cap sync, clean build. Check the reference for platform-only methods.
UNIMPLEMENTED error codeMethod not available on this platform/OS versionBranch on platform; see reference "Notes".
Android log unable to find plugin : XPlugin class not registered/includedConfirm capacitor.build.gradle entry, re-sync, Gradle sync in Android Studio.
iOS log Error loading plugin X for call. Check that the pluginId is correctPlugin not in the iOS buildRe-sync; check Package.swift (SPM) or Podfile; clean build folder.
App crashes on first camera/contacts/calendar/location access (iOS)Missing NS*UsageDescription keyAdd the key listed in the reference to Info.plist.
Manifest merger failed : uses-sdk:minSdkVersion 24 cannot be smaller than version 26 declared in library [...]Plugin needs higher minSdkRaise minSdkVersion in android/variables.gradle (ask the user first).
OS-PLUG-* codes (e.g. OS-PLUG-CAMR-0003)Structured native errors in OutSystems-based official pluginsLook up the code in the plugin reference (camera, file-transfer, calendar, contacts list the common ones).
npm ERESOLVE peer @capacitor/core conflictPlugin major does not match app majorInstall the matching tag (@latest-7, @next for v9 alpha) or upgrade the app with capacitor-app-upgrades.

Reference Index

Only load a reference when its plugin is in play.

Official @capacitor/* packages (install, native config, usage, gotchas):

NeedReference
Action sheetreferences/capacitor-action-sheet.md
Open other apps / check installedreferences/capacitor-app-launcher.md
App state, back button, URL open eventsreferences/capacitor-app.md
JS tasks in backgroundreferences/capacitor-background-runner.md
Barcode / QR scanreferences/capacitor-barcode-scanner.md
OAuth-safe in-app browser (SFSafariViewController / Custom Tabs)references/capacitor-browser.md
Calendar eventsreferences/capacitor-calendar.md
Camera, gallery, video (8.1+ API, getPhoto migration)references/capacitor-camera.md
Clipboardreferences/capacitor-clipboard.md
Contactsreferences/capacitor-contacts.md
Native cookies (core)references/capacitor-cookies.md
Device info / id / batteryreferences/capacitor-device.md
Native alert/confirm/promptreferences/capacitor-dialog.md
Upload/download with progressreferences/capacitor-file-transfer.md
Open/preview documentsreferences/capacitor-file-viewer.md
File read/writereferences/capacitor-filesystem.md
Location (foreground)references/capacitor-geolocation.md
Google Mapsreferences/capacitor-google-maps.md
HealthKit / Health Connectreferences/capacitor-health-fitness.md
Hapticsreferences/capacitor-haptics.md
Native HTTP (core, CORS bypass)references/capacitor-http.md
WebView / system / external browserreferences/capacitor-inappbrowser.md
Keyboard API basicsreferences/capacitor-keyboard.md
On-device LLM (experimental)references/capacitor-local-llm.md
Local notificationsreferences/capacitor-local-notifications.md
Accelerometer / orientationreferences/capacitor-motion.md
Connectivityreferences/capacitor-network.md
Key/value storagereferences/capacitor-preferences.md
Hide app switcher snapshot / block screenshotsreferences/capacitor-privacy-screen.md
Push API summaryreferences/capacitor-push-notifications.md
Orientation lockreferences/capacitor-screen-orientation.md
TalkBack / VoiceOver state, TTSreferences/capacitor-screen-reader.md
Share sheetreferences/capacitor-share.md
Splash API summaryreferences/capacitor-splash-screen.md
Status bar (legacy)references/capacitor-status-bar.md
Edge-to-edge system bars (core, preferred on Android 16+)references/capacitor-system-bars.md
WebView text zoomreferences/capacitor-text-zoom.md
Toastreferences/capacitor-toast.md
Apple Watch UI (experimental)references/capacitor-watch.md

Capgo plugins: references/capgo-plugin-index.md (145 packages: install, platforms, key APIs, docs) and references/capgo-plugin-catalog.md (compact table).

Capgo Quick Picks

NeedPackage
Background geolocation, geofencing@capgo/background-geolocation
Custom camera preview / overlays@capgo/camera-preview
Biometric login + secure credentials@capgo/capacitor-native-biometric
Apple/Google/Facebook sign-in@capgo/capacitor-social-login
Subscriptions / IAP@capgo/native-purchases (revenue strategy: subscription-app-revenue)
Apple Pay / Google Pay@capgo/capacitor-pay
Fast native SQLite@capgo/capacitor-fast-sql
Native file ops / picking@capgo/capacitor-file, @capgo/capacitor-file-picker
In-app browser with JS injection, postMessage, screenshots@capgo/capacitor-inappbrowser
WebView killed in background, relaunch@capgo/capacitor-webview-guardian
App Attest / Play Integrity@capgo/capacitor-app-attest
OTA live updates@capgo/capacitor-updater (setup: capgo-live-updates)
Dev live reload@capgo/capacitor-live-reload

Traps:

  • Do not install two plugins that own the same native surface (e.g. two in-app browsers or two biometric plugins) without a reason; they can conflict on delegates and manifest entries.
  • Firebase: install the individual @capgo/capacitor-firebase-* packages; there is no umbrella @capgo/capacitor-firebase package on npm.
  • Cordova plugins still work but on Capacitor 9 they pull in the Cordova runtime; prefer a Capacitor-native equivalent (cordova-to-capacitor).

Resources

FAQ

What does the capacitor-plugins skill do?

Pick, install, and wire up Capacitor plugins for native features (camera, filesystem, geolocation, biometrics, in-app purchases, social login, SQLite, calendar, contacts, health, BLE, NFC, etc.). Covers official @capacitor/ packages (Capacitor 8.5 stable, 9 alpha on next) plus the 145-package @capgo/ index, native permission keys (Info.plist, AndroidManifest, variables.gradle minSdk), npx cap sync / cap ls verification, and errors like '"Camera" plugin is not implemented on ios', 'unable to find plugin', UNIMPLEMENTED, and OS-PLUG- codes. Use for "which plugin should I use for X", adding a plugin, or a plugin call failing after install. Do not use for push setup (capacitor-push-notifications), splash assets (capacitor-splash-screen), keyboard layout (capacitor-keyboard), deep links (capacitor-deep-linking), OTA updates (capgo-live-updates), upgrading plugin source code (capacitor-plugin-upgrades), or adding SPM to a plugin (capacitor-plugin-spm-support).

How do I install capacitor-plugins?

Run npx skills add https://github.com/cap-go/capgo-skills --skill capacitor-plugins in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/capacitor-plugins/ (personal) or .claude/skills/capacitor-plugins/ (project).

Which AI agents can use capacitor-plugins?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is capacitor-plugins safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains capacitor-plugins?

It is published by cap-go in cap-go/capgo-skills. It has 1,588 recorded installs.

More from cap-go/capgo-skills

View all →

capacitor-best-practices

cap-go/capgo-skills

Review and set up Capacitor apps against current best practices (Capacitor 8.5 stable, 9 alpha via @next). Use for a Capacitor codebase review, capacitor.config.ts audit, new project setup, aligning @capacitor/core/cli/ios/android and plugin majors, plugin patterns (availability checks, checkPermissions/requestPermissions, error code handling, web fallbacks), or release prep; or on " " plugin is not implemented on ios, Could not find the web assets directory, platform has not been added yet, a dev server.url shipped to production, lost edits in android/app/src/main/assets/public, SPM vs CocoaPods, or AppDelegate/UIScene drift. Do not use for security audits (capacitor-security), performance (capacitor-performance), tests (capacitor-testing), crashes (debugging-capacitor), major upgrades (capacitor-app-upgrades), SPM migration (cocoapods-to-spm), UIScene adoption (capacitor-uiscene-migration), or live updates (capgo-live-updates).

ionic-design

cap-go/capgo-skills

Builds and reviews Ionic Framework UI in Capacitor apps (Ionic 9 current, Ionic 8 still common) - page structure (ion-header/ion-content/ion-footer), lists, modern form syntax (label/labelPlacement on ion-input/ion-select), sheet modals, tabs + ion-router-outlet, CSS variable theming, dark palettes (palettes/dark.system.css, .ion-palette-dark), iOS vs MD mode, and Ionic 8 - 9 breaking changes (React Router 6, Vue Router 5, Angular 18-22 zoneless, removed ion-picker-legacy, boolean autocorrect, npx @ionic/migrate). Use when writing Ionic components, theming an Ionic app, fixing platform-mode styling, or upgrading @ionic/react, @ionic/vue, @ionic/angular. Do not use for Konsta UI (konsta-ui), Tailwind setup (tailwind-capacitor), raw safe-area CSS (safe-area-handling), keyboard resize (capacitor-keyboard), or Ionic Appflow/Enterprise migrations (ionic-appflow-migration, ionic-enterprise-sdk-migration).

Frontend & Design1.6K installs

debugging-capacitor

cap-go/capgo-skills

Diagnoses and fixes runtime bugs in Capacitor iOS/Android apps - white/blank screen on launch, startup crashes, "X" plugin is not implemented on ios/android, net::ERRCLEARTEXTNOTPERMITTED, App Transport Security blocks, CORS on capacitor://localhost, permission denials, live reload not connecting, and Capacitor 8.5+ UIScene regressions (appUrlOpen, universal links, pause/resume silent because AppDelegate callbacks stopped). Covers Safari Web Inspector, chrome://inspect, Xcode/LLDB, Android Studio, npx cap run --url (Capacitor 9) vs -l --host (8), xcrun simctl openurlprivacypush, xcrun devicectl device process launchopenURL, xctrace. Do not use for only reading device logs (ios-android-logs), the UIScene migration itself (capacitor-uiscene-migration), deep-link setup (capacitor-deep-linking), speed (capacitor-performance), crash SDKs (capacitor-native-observability), tests (capacitor-testing), or upgrades/build errors (capacitor-app-upgrades, cocoapods-to-spm).

capacitor-testing

cap-go/capgo-skills

Testing guide for Capacitor apps and plugins. Covers web-layer unit and component tests with Vitest and mocked Capacitor plugins (vi.mock('@capacitor/core'), registerPlugin), Playwright for the web build, Appium E2E with NATIVEAPP / WEBVIEW context switching, native plugin unit tests with Swift Testing vs XCTest (what can migrate, CAPPluginCall patterns, xcodebuild test on a simulator) and Android JUnit, plus an agent-driven verification loop on simulators and devices (build, install, launch, screenshot, UI hierarchy, tap, logs) with xcrun simctl, xcrun devicectl, adb, Xcode MCP device tools, and live reload via npx cap run --url (Capacitor 9) or -l --host --port (Capacitor 8). Use when adding tests, mocking plugins, "does it work on device", verifying a UI change on a simulator, migrating XCTest to Swift Testing, or setting up test CI. Do not use for crash log capture (ios-android-logs), WebView debugging sessions (debugging-capacitor), or build pipelines (capacitor

Testing & QA1.3K installs

safe-area-handling

cap-go/capgo-skills

Fixes notch, Dynamic Island, home indicator, display cutout, and system bar overlap in Capacitor apps. Covers viewport-fit=cover + env(safe-area-inset-), the Capacitor 8 SystemBars core plugin (insetsHandling, injected --safe-area-inset- CSS variables for Android WebView < 140, removal of android.adjustMarginsForEdgeToEdge), Android 15/16 enforced edge-to-edge (overlaysWebView and backgroundColor of @capacitor/status-bar no longer work at targetSdk 36), iOS contentInset, and insets that change at runtime on rotation, iPad/foldable resizable windows. Use when headers sit under the status bar, tab bars hide behind the gesture bar, env() returns 0 on Android, or layout broke after upgrading to Capacitor 8 / targetSdk 35+. Do not use for keyboard overlap (capacitor-keyboard), Ionic/Konsta component theming (ionic-design, konsta-ui), Tailwind utility setup (tailwind-capacitor), or iOS multi-window/resizability adoption (capacitor-ios-resizability).

Mobile1.3K installs

capacitor-deep-linking

cap-go/capgo-skills

Implements and debugs deep links in Capacitor apps - custom URL schemes, iOS Universal Links (apple-app-site-association, Associated Domains entitlement), Android App Links (assetlinks.json, autoVerify), and routing via @capacitor/app appUrlOpen + App.getLaunchUrl(). Covers the Capacitor 8.5+ UIScene change where AppDelegate application(:open:options:) and continue userActivity stop being called and custom handling must move to SceneDelegate, plus cold vs warm launch testing. Use when links open Safari/Chrome instead of the app, appUrlOpen never fires, the launch URL is lost on cold start, or OAuth redirects do not return to the app. Do not use for the full UIScene migration (capacitor-uiscene-migration), push notification taps (capacitor-push-notifications), or social login plugin setup (capacitor-plugins).

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs