AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Ionic Deep Links

skill-erkamyaman-ionic-capacitor-skills-ionic-deep-links · by erkamyaman

Handle deep links in an Ionic Capacitor app — custom URL schemes (myapp://), iOS Universal Links, and Android App Links. Trigger when adding password-reset links, share-to-app URLs, OAuth callbacks, magic-link sign-in, or branded https:// links that open the app instead of the browser.

No reviews yet
0 installs
11 views
0.0% view→install

Install

$ agentstack add skill-erkamyaman-ionic-capacitor-skills-ionic-deep-links

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-erkamyaman-ionic-capacitor-skills-ionic-deep-links)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ionic Deep Links? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Deep Links (URL schemes + Universal Links + App Links)

Three flavors of deep linking that you'll likely need together:

| Type | Looks like | Verified by | Use when | |------|-----------|-------------|----------| | Custom scheme | myapp://reset-password?token=… | Nothing | Internal flows, OAuth callbacks. Easy. Anyone can register the scheme. | | iOS Universal Link | https://yourapp.com/reset-password?token=… | apple-app-site-association file on your domain | Branded links that should open the app or fall back to the web. | | Android App Link | https://yourapp.com/reset-password?token=… | assetlinks.json on your domain | Same goal as Universal Links, on Android. |

You usually want all three for a polished app: one URL works on iOS and Android (Universal/App), with custom schemes as a fallback for cases where verified linking isn't possible.

When to consult

  • Custom URL scheme + @capacitor/app listener: [custom-scheme.md](references/custom-scheme.md)
  • iOS Universal Links (entitlement + AASA file): [ios-universal-links.md](references/ios-universal-links.md)
  • Android App Links (intent filters + assetlinks.json): [android-app-links.md](references/android-app-links.md)
  • Routing the link to a page: [routing.md](references/routing.md)

Canonical URL shape

Pick one path prefix per concern and use it consistently across custom schemes, Universal Links, and App Links so the same router code handles all three:

| Concern | Custom scheme | Universal/App Link | |----------------------|----------------------------------------------|------------------------------------------| | Auth (reset / OAuth callback / magic link) | myapp://auth/?... | https://yourapp.com/auth/?... | | Invites | myapp://invite/ | https://yourapp.com/invite/ | | Share | myapp://share/ | https://yourapp.com/share/ |

The auth path is shared across ionic-firebase, ionic-supabase, and password-reset / OAuth-callback flows in this scaffold:

  • Magic link: https://yourapp.com/auth/finish-signin?...
  • Password reset: myapp://auth/reset-password?token=...
  • OAuth callback (Supabase): myapp://auth/callback#access_token=...

Routing logic in the deep-link handler matches on pathname.startsWith('/auth/') and delegates to the right flow.

Hard rules

  • ✅ Use @capacitor/app's appUrlOpen listener — it fires for all three flavors uniformly.
  • ✅ Host the AASA / assetlinks.json files at your domain root with the right Content-Type (application/json, no extension).
  • ✅ Test with xcrun simctl openurl (iOS sim) and adb shell am start -a android.intent.action.VIEW -d "" (Android emulator).
  • ❌ Don't rely on custom schemes alone for password reset / OAuth — modern OS versions and email clients increasingly suppress them.
  • ❌ Don't forget to call App.getLaunchUrl() on cold-start — appUrlOpen may not fire reliably for cold opens (it does in many Capacitor versions, but the behavior is platform- and version-dependent). Belt-and-suspenders: always check getLaunchUrl() once at boot.

Library

npm install @capacitor/app
npx cap sync

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.