# app-clips

Guides the setup and architecture of iOS App Clips in Xcode. Helps configure invocation URLs, Safari banners, and data migration into the full app.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 3600 installs · ★ 1237
- Author: dpearson2699
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/dpearson2699/swift-ios-skills/tree/HEAD/skills/app-clips/SKILL.md
- Updated: 2026-07-31
- HTML: https://affpapa.org/en/nevibecode/skills/app-clips

## What it does

This skill guides developers through configuring a secondary target in Xcode for Apple App Clips. It enforces bundle identifier prefixing and configures entitlement keys like `com.apple.developer.on-demand-install-capable`. Code sharing relies on Swift packages or the `APPCLIP` compilation flag.

It details invocation routing with `NSUserActivityTypeBrowsingWeb` across SwiftUI and UIKit. The instructions also cover associated domains, AASA files, and data handoff via App Groups.

Mismatched entitlement keys immediately break archive validation. Verifying raw bundle identifiers and capabilities is therefore necessary before attempting distribution builds.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-clips -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/app-clips/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/app-clips/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-clips -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/app-clips/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-clips -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/app-clips/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dpearson2699/swift-ios-skills app-clips
```

2. **Manually: put the files in place**
- File: `.github/skills/app-clips/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-clips -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/app-clips
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/app-clips/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-clips -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/dpearson2699/swift-ios-skills/tree/HEAD/skills/app-clips/SKILL.md

## When to use it
- configure an App Clip target and required entitlements in Xcode
- route incoming URLs with `NSUserActivity` in SwiftUI or UIKit
- pass authentication tokens and state to the parent app via App Group storage
- set up associated domains and Safari Smart App Banner tags

## Example prompts
- Add an App Clip target to my project and set up the required entitlements.
- Write the SwiftUI handler for incoming web browsing activities in our App Clip.
- Explain how to migrate session state from the clip to the full app via Keychain.

## Similar
- [capacitor-app-spm-migration](https://affpapa.org/en/nevibecode/skills/capacitor-app-spm-migration.md) — skill · 593 installs
- [xcode-project-setup](https://affpapa.org/en/nevibecode/skills/xcode-project-setup.md) — skill · 130700 installs
- [app-store-preflight-skills](https://affpapa.org/en/nevibecode/skills/app-store-preflight-skills.md) — skill · 2100 installs
- [capacitor-app-upgrade-v7-to-v8](https://affpapa.org/en/nevibecode/skills/capacitor-app-upgrade-v7-to-v8.md) — skill · 704 installs
- [mobile-app-debugging](https://affpapa.org/en/nevibecode/skills/mobile-app-debugging.md) — skill · 561 installs
- [xcode-build-orchestrator](https://affpapa.org/en/nevibecode/skills/xcode-build-orchestrator.md) — skill · 3600 installs

## Other versions with the same name
- [app-clips · appeeky](https://affpapa.org/en/nevibecode/skills/appeeky-app-clips.md) — 2400 installs

From the same set: [dpearson2699/swift-ios-skills](https://affpapa.org/en/nevibecode/by/dpearson2699/swift-ios-skills.md) — 86 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
