add-app-clip

Adds an iOS App Clip target to an Expo app with AASA hosting and TestFlight setup.

1|Updated Jul 4, 2026
One-click install
npx skills add https://github.com/trungenglish/SHOPWISE --skill add-app-clip-trungenglish
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: add-app-clip
Source: https://github.com/trungenglish/SHOPWISE/tree/main/.agents/skills/add-app-clip
Command: npx skills add https://github.com/trungenglish/SHOPWISE --skill add-app-clip-trungenglish

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @bacons/apple-targets, and includes references (resource) components.

What problem does it solve? Setting up an iOS App Clip for an Expo app involves many error-prone steps across Apple tooling: creating the native target, configuring associated domains, hosting an apple-app-site-association file, registering bundle IDs, and submitting to TestFlight. This Skill walks through the entire workflow so nothing is missed. ## Core Features & Use Cases - App Clip Target Creation: Uses bun create target clip with @bacons/apple-targets to scaffold the Clip in targets/clip/ with its own config plugin and Info.plist. - Associated Domains & AASA: Configures applinks: and appclips: entitlements, generates and hosts the apple-app-site-association file via EAS Hosting, and adds the Smart App Banner meta tag. - Store Submission: Registers bundle IDs with setup-safari, builds both targets with bunx testflight, and configures App Clip metadata (invocation URLs, header image) via eas metadata:push. - Use Case: You have an Expo Router app and want users to launch a lightweight Clip from a URL on your domain, with an SKOverlay prompt to install the full app. ## Quick Start Use the add-app-clip skill to add an iOS App Clip target to my Expo app and configure the AASA file for my domain.

Frequently Asked Questions about add-app-clip

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add an App Clip to an Expo app?▼

Run `bun create target clip` after setting `bundleIdentifier` and `appleTeamId` in app.json. This installs @bacons/apple-targets and scaffolds the Clip in `targets/clip/` with its config plugin and Info.plist.

How do I host an apple-app-site-association file for App Clips?▼

Place the AASA file with no extension in `public/.well-known/` and deploy with `bunx expo export -p web` and `eas deploy --prod`. It must include an `appclips` block listing the Clip's full app ID as `<TeamID>.<ClipBundleID>`.

Why does expo prebuild warn about missing associated domains for App Clips?▼

The warning appears when the Clip target lacks the associated domains entitlement. Add `appclips:yourdomain` to the entitlements in `targets/clip/expo-target.config.js` and matching `applinks:` and `appclips:` entries in app.json.

Can JavaScript detect when the app runs inside an App Clip?▼

Yes, by creating a local Expo module that checks for the NSAppClip key in the bundle's Info.plist. The module can expose an `isAppClip` constant and present an SKOverlay prompt to install the full app.

What are the App Clip metadata requirements for App Store Connect?▼

Configure `apple.appClip` in store.config.json with up to 3 invocation URLs, a subtitle, and a header image. The header image must be a 1800x1200 PNG with no opacity, then push with `eas metadata:push`.