Add Capgo Capacitor skills and plugin bundles#1180
Add Capgo Capacitor skills and plugin bundles#1180riderx wants to merge 1 commit intogithub:stagedfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a sizable Capacitor/Capgo-focused skill set to the skills/ registry and groups those skills into four installable plugin bundles, updating the generated plugin docs and marketplace index accordingly.
Changes:
- Added multiple new Capacitor/Capgo skills (migration, debugging, security, CI/CD, app store, etc.) plus a Capacitor plugin reference directory.
- Introduced a new
skill-creatorskill with a deterministic grader and eval fixture for skill authoring validation. - Added four plugin bundles and updated
docs/README.plugins.mdand.github/plugin/marketplace.jsonto surface them.
Reviewed changes
Copilot reviewed 94 out of 94 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| skills/sqlite-to-fast-sql/SKILL.md | New skill for migrating SQLite/SQL plugins to @capgo/capacitor-fast-sql. |
| skills/skill-creator/graders/check-skill.js | Deterministic grader to validate skill frontmatter/sections. |
| skills/skill-creator/fixtures/broken-skill/SKILL.md | Fixture input used by skill-creator eval. |
| skills/skill-creator/eval.yaml | Eval harness wiring fixture + grader for skill authoring. |
| skills/skill-creator/SKILL.md | Skill authoring workflow guidance (progressive disclosure + validation). |
| skills/ios-android-logs/SKILL.md | Device log access workflows for iOS/Android. |
| skills/ionic-enterprise-sdk-migration/SKILL.md | Migration guide away from Ionic Enterprise SDK plugins. |
| skills/ionic-appflow-migration/SKILL.md | Migration guide away from Ionic Appflow, routing to other skills. |
| skills/debugging-capacitor/SKILL.md | Broad Capacitor debugging playbook (WebView/native/logs/etc.). |
| skills/cocoapods-to-spm/SKILL.md | iOS dependency modernization guidance (CocoaPods → SPM/hybrid). |
| skills/capgo-release-workflows/SKILL.md | Orchestrates Capgo OTA + builds + store publishing workflow routing. |
| skills/capgo-release-management/SKILL.md | Capgo OTA release operations (bundles/channels/keys/encryption). |
| skills/capgo-organization-management/SKILL.md | Capgo org/account administration commands and safety notes. |
| skills/capgo-native-builds/SKILL.md | Capgo hosted native build workflows and credential handling. |
| skills/capgo-live-updates/SKILL.md | End-to-end Capgo live updates guide (setup/config/CI/CD). |
| skills/capgo-cloud/SKILL.md | Umbrella router skill for multi-area Capgo cloud workflows. |
| skills/capgo-cli-usage/SKILL.md | CLI command surface overview and routing to narrower Capgo skills. |
| skills/capacitor-splash-screen/SKILL.md | Splash screen configuration and troubleshooting guidance. |
| skills/capacitor-security/SKILL.md | Capacitor security scanning and remediation guidance (Capsec). |
| skills/capacitor-push-notifications/SKILL.md | Push notification setup/handling guide (APNs/FCM). |
| skills/capacitor-plugins/SKILL.md | Plugin decision/routing skill plus Capgo/community plugin directory. |
| skills/capacitor-plugins/references/capacitor-action-sheet.md | Reference: Action Sheet plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-app-launcher.md | Reference: App Launcher plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-app.md | Reference: App plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-background-runner.md | Reference: Background Runner plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-barcode-scanner.md | Reference: Barcode Scanner plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-browser.md | Reference: Browser plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-camera.md | Reference: Camera plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-clipboard.md | Reference: Clipboard plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-cookies.md | Reference: Cookies plugin config/usage/notes. |
| skills/capacitor-plugins/references/capacitor-device.md | Reference: Device plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-dialog.md | Reference: Dialog plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-file-transfer.md | Reference: File Transfer plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-file-viewer.md | Reference: File Viewer plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-filesystem.md | Reference: Filesystem plugin config/usage/notes. |
| skills/capacitor-plugins/references/capacitor-geolocation.md | Reference: Geolocation plugin config/usage/notes. |
| skills/capacitor-plugins/references/capacitor-google-maps.md | Reference: Google Maps plugin config/usage/notes. |
| skills/capacitor-plugins/references/capacitor-haptics.md | Reference: Haptics plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-http.md | Reference: CapacitorHttp plugin enablement/usage/notes. |
| skills/capacitor-plugins/references/capacitor-inappbrowser.md | Reference: InAppBrowser plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-keyboard.md | Reference: Keyboard plugin config/usage/notes. |
| skills/capacitor-plugins/references/capacitor-local-notifications.md | Reference: Local Notifications plugin config/usage/notes. |
| skills/capacitor-plugins/references/capacitor-motion.md | Reference: Motion plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-network.md | Reference: Network plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-preferences.md | Reference: Preferences plugin config/usage/notes. |
| skills/capacitor-plugins/references/capacitor-privacy-screen.md | Reference: Privacy Screen plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-push-notifications.md | Reference: Push Notifications plugin config/usage/notes. |
| skills/capacitor-plugins/references/capacitor-screen-orientation.md | Reference: Screen Orientation plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-screen-reader.md | Reference: Screen Reader plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-share.md | Reference: Share plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-splash-screen.md | Reference: Splash Screen plugin config/usage/notes. |
| skills/capacitor-plugins/references/capacitor-status-bar.md | Reference: Status Bar plugin config/usage/notes. |
| skills/capacitor-plugins/references/capacitor-system-bars.md | Reference: System Bars API usage/notes. |
| skills/capacitor-plugins/references/capacitor-text-zoom.md | Reference: Text Zoom plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-toast.md | Reference: Toast plugin install/usage/notes. |
| skills/capacitor-plugins/references/capacitor-watch.md | Reference: Watch plugin install/usage/notes. |
| skills/capacitor-plugin-upgrades/SKILL.md | General Capacitor plugin major upgrade procedure. |
| skills/capacitor-plugin-upgrade-v7-to-v8/SKILL.md | Focused v7→v8 plugin upgrade procedure. |
| skills/capacitor-plugin-upgrade-v6-to-v7/SKILL.md | Focused v6→v7 plugin upgrade procedure. |
| skills/capacitor-plugin-upgrade-v5-to-v6/SKILL.md | Focused v5→v6 plugin upgrade procedure. |
| skills/capacitor-plugin-upgrade-v4-to-v5/SKILL.md | Focused v4→v5 plugin upgrade procedure. |
| skills/capacitor-plugin-spm-support/SKILL.md | Procedure for adding SPM support to Capacitor plugins. |
| skills/capacitor-performance/SKILL.md | Capacitor performance guidance and profiling tips. |
| skills/capacitor-mcp/SKILL.md | MCP tooling overview for Ionic/Capacitor automation. |
| skills/capacitor-keyboard/SKILL.md | Expanded keyboard handling guide (beyond reference). |
| skills/capacitor-deep-linking/SKILL.md | Deep link/universal link/app link implementation guide. |
| skills/capacitor-best-practices/SKILL.md | General Capacitor app best practices and pitfalls. |
| skills/capacitor-app-upgrades/SKILL.md | General Capacitor app major upgrade procedure. |
| skills/capacitor-app-upgrade-v7-to-v8/SKILL.md | Focused v7→v8 app upgrade procedure. |
| skills/capacitor-app-upgrade-v6-to-v7/SKILL.md | Focused v6→v7 app upgrade procedure. |
| skills/capacitor-app-upgrade-v5-to-v6/SKILL.md | Focused v5→v6 app upgrade procedure. |
| skills/capacitor-app-upgrade-v4-to-v5/SKILL.md | Focused v4→v5 app upgrade procedure. |
| skills/capacitor-app-store/SKILL.md | App Store / Play Store publishing checklist and guidance. |
| skills/capacitor-accessibility/SKILL.md | Accessibility guidance for Capacitor apps. |
| plugins/capgo-cloud-operations/README.md | Plugin bundle README for Capgo cloud workflows. |
| plugins/capgo-cloud-operations/.github/plugin/plugin.json | Plugin manifest for Capgo cloud operations bundle. |
| plugins/capacitor-modernization/README.md | Plugin bundle README for modernization/migration flows. |
| plugins/capacitor-modernization/.github/plugin/plugin.json | Plugin manifest for modernization bundle. |
| plugins/capacitor-mobile-development/README.md | Plugin bundle README for general Capacitor development toolkit. |
| plugins/capacitor-mobile-development/.github/plugin/plugin.json | Plugin manifest for Capacitor mobile development bundle. |
| plugins/agent-skill-authoring/README.md | Plugin bundle README for skill authoring. |
| plugins/agent-skill-authoring/.github/plugin/plugin.json | Plugin manifest for skill authoring bundle. |
| docs/README.plugins.md | Generated plugin index updated with new bundles. |
| .github/plugin/marketplace.json | Generated marketplace index updated with new bundles. |
| | Plugin | Package | Description | | ||
| |--------|---------|-------------| | ||
| | InAppBrowser | `@nicholasalx/capacitor-inappbrowser` | In-app browser with custom tabs | | ||
|
|
There was a problem hiding this comment.
Within this skill, the InAppBrowser package name is inconsistent: this table lists @nicholasalx/capacitor-inappbrowser, but the corresponding reference file references/capacitor-inappbrowser.md documents installing @capacitor/inappbrowser. Please reconcile these so the skill doesn’t direct users to two different packages for the same capability.
| | Intent Launcher | `@nicholasalx/capacitor-intent-launcher` | Launch Android intents | | ||
| | Watch | `@nicholasalx/capacitor-watch` | Apple Watch / WearOS | | ||
|
|
There was a problem hiding this comment.
Within this skill, the Watch package name is inconsistent: this table lists @nicholasalx/capacitor-watch, but the corresponding reference file references/capacitor-watch.md documents installing @capacitor/watch. Please align these references so users don’t install the wrong package.
| ```typescript | ||
| import { StatusBar, Style } from '@capacitor/status-bar'; | ||
|
|
||
| await StatusBar.setStyle({ style: Style.Dark }); | ||
| await StatusBar.setBackgroundColor({ color: '#ffffff' }); | ||
| await StatusBar.hide({ animation: Animation.Fade }); | ||
| await StatusBar.show(); | ||
| await StatusBar.setOverlaysWebView({ overlay: true }); |
There was a problem hiding this comment.
The StatusBar usage snippet references Animation.Fade but Animation is not imported. As written, the snippet won’t compile for readers copy/pasting it; update the import list (or adjust the example) so all referenced symbols are declared.
| function handleDeepLink(url: URL) { | ||
| // Custom scheme: myapp://product/123 | ||
| // Universal link: https://myapp.com/product/123 | ||
|
|
||
| const path = url.pathname || url.host + url.pathname; | ||
|
|
||
| // Route based on path | ||
| if (path.startsWith('/product/')) { | ||
| const productId = path.split('/')[2]; | ||
| navigateTo(`/product/${productId}`); | ||
| } else if (path.startsWith('/user/')) { | ||
| const userId = path.split('/')[2]; | ||
| navigateTo(`/profile/${userId}`); | ||
| } else if (path === '/login') { | ||
| navigateTo('/login'); | ||
| } else { | ||
| navigateTo('/'); | ||
| } |
There was a problem hiding this comment.
handleDeepLink computes path using url.pathname || url.host + url.pathname, but for custom-scheme URLs like myapp://product/123 url.pathname is "/123" (truthy) so the host ("product") is dropped and routing won’t match /product/*. Adjust the path parsing so custom-scheme URLs include the host segment when building the route.
aaronpowell
left a comment
There was a problem hiding this comment.
Looks like we've got some merge conflicts on the PR to be resolved before we can merge
There was a problem hiding this comment.
I worry a bit about the simplicity of this skill, it seems very much like "let the agent just figure out the upgrade" without providing much in the way of structured guideance.
Also, looking at the other upgrade skills, would it not make sense to have a single upgrade skill and instead the skill provides guidance on how to do 4->5, 5->6, etc. rather than having a lot of really single use skills. If there are subtle differences in what needs to be done when going between versions, reference files can be included to help the agent.
There was a problem hiding this comment.
Wait, if there is a skill that does upgrades, why have skills that do one incremental version upgrade? It reads as a lot of duplication.
| #### Claude Desktop | ||
|
|
||
| Add to `claude_desktop_config.json` (accessible via Claude > Settings > Developer): | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "awesome-ionic-mcp": { | ||
| "command": "npx", | ||
| "args": ["-y", "awesome-ionic-mcp@latest"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| #### Cline | ||
|
|
||
| Add to `cline_mcp_settings.json`: | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "awesome-ionic-mcp": { | ||
| "command": "npx", | ||
| "args": ["-y", "awesome-ionic-mcp@latest"], | ||
| "disabled": false | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| #### Cursor | ||
|
|
||
| Add to `.cursor/mcp.json` (project-specific) or `~/.cursor/mcp.json` (global): | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "awesome-ionic-mcp": { | ||
| "command": "npx", | ||
| "args": ["-y", "awesome-ionic-mcp@latest"] | ||
| } | ||
| } | ||
| } | ||
| ``` |
There was a problem hiding this comment.
This should be simplified to just the .mcp.json file rather than a myriad of locations. See this guide for locations supported by Copilot.
What
Cap-go/capgo-skillsinto the Awesome Copilotskills/registrycapacitor-mobile-development,capgo-cloud-operations,capacitor-modernization, andagent-skill-authoringdocs/README.skills.md,docs/README.plugins.md, and.github/plugin/marketplace.jsonWhy
How
skills/, excluding only the localmetadata.jsonsidecar files that are not part of the upstream skill formatTesting
bun run skill:validatebun run buildNot Tested
bun run plugin:validatebecause the current upstream validator fails on a clean checkout before these changes as it rejects many existing pluginagents/skillspathsbash scripts/fix-line-endings.shexits zero on this macOS checkout but emits BSDsederrors, so it is not a reliable validation signal here