ios-app-intents — Codex skill: what it does, how to install
Designs App Intents, entities, and App Shortcuts for iOS system surfaces. Use it to expose app actions to Siri, Spotlight, widgets, or Shortcuts.
npx skills add openai/plugins --skill ios-app-intents -a codexWhat ios-app-intents does
The skill guides an agent through designing a minimal App Intents layer for iOS. It enforces starting with actions rather than screens. Focus stays on verbs such as open, find, filter, or start. Instead of mapping persistence graphs, it keeps AppEntity structures lean and adds EntityQuery only when disambiguation is necessary.
Heavy domain logic stays in app services. The intent serves as a thin routing layer. It decides whether to complete inline or transition into the app via openAppWhenRun.
Install this when preparing actions for widgets or voice shortcuts. You can skip it if your iOS app needs no entry points outside its own UI.
What it helps with
- define lean
AppEntitymodels without mirroring the persistence database - register direct voice phrases and titles via
AppShortcutsProvider - choose between background completion and in-app navigation using
openAppWhenRun - drive widget configurations and controls from shared intent models
Example prompts for the agent
- Design an App Intent to log an item inline without opening the app
- Set up AppShortcutsProvider with search phrases for Siri and Spotlight
- Create an AppEntity and EntityQuery for selecting project items in a widget
How to install ios-app-intents
1Skills CLI (Vercel)
npx skills add openai/plugins --skill ios-app-intents -a codex2Manually: put the files in place
.agents/skills/ios-app-intents/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openai/plugins --skill ios-app-intents -a claude-code2Manually: put the files in place
~/.claude/skills/ios-app-intents/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/ios-app-intents/
Manually: put the files in place
.cursor/skills/ios-app-intents/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openai/plugins ios-app-intents2Manually: put the files in place
.github/skills/ios-app-intents/SKILL.mdPlatform CLI
gemini skills install https://github.com/openai/plugins --path plugins/build-ios-apps/skills/ios-app-intentsManually: put the files in place
.devin/skills/ios-app-intents/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set201
The whole set →Similar
Questions about ios-app-intents
How to install ios-app-intents in Codex?
Run npx skills add openai/plugins --skill ios-app-intents. Codex downloads the skill file into .agents/skills/ios-app-intents/SKILL.md.
What does ios-app-intents do?
It structures iOS App Intents, Shortcuts, and widgets while keeping entity models lean instead of exposing entire app screen hierarchies.
Does every action require launching the app?
No. Lightweight actions complete directly on the system surface, while workflows that need the main scene rely on openAppWhenRun.
Source text
SKILL.md · MIT
--- name: ios-app-intents description: Design App Intents, app entities, and App Shortcuts for iOS system surfaces. Use when exposing app actions or content to Shortcuts, Siri, Spotlight, widgets, or controls. --- # iOS App Intents ## Overview Expose the smallest useful action and entity surface to the system. Start with the verbs and objects people would actually want outside the app, then implement a narrow App Intents layer that can deep-link or hand off cleanly into the main app when needed. Read these references as needed: - `references/first-pass-checklist.md` for choosing the first intent and entity surface - `references/example-patterns.md` for concrete example shapes to copy and adapt - `references/code-templates.md` for generalized App Intents code templates - `references/system-surfaces.md` for how to think about Shortcuts, Siri, Spotlight, widgets, and other system entry points ## Core workflow ### 1) Start with actions, not screens - Identify the 1-3 highest-value actions that should work outside the app UI. - Prefer verbs like compose, open, find, filter, continue, inspect, or start. - Do not mirror the entire app navigation tree as intents. ### 2) Define a small entity surface - Add `AppEntity` types only for the objects the system needs to understand or route. - Keep the entity shape narrower than the app's persistence model. - Add `EntityQuery` or other query types only where disambiguation or suggestions are genuinely useful. ### 3) Decide whether the action completes in place or opens the app - Use non-opening intents for actions that can complete directly from the system surface. - Use `openAppWhenRun` or open-style intents when the user should land in a specific in-app workflow. - When the app must react inside the main scene, add one clear runtime handoff path instead of scattering ad hoc routing logic. - If the action can work in both modes, consider shipping both an inline version and an open-app version rather than forcing one compromise. ### 4) Make the actions discoverable - Add `AppShortcutsProvider` entries for the first set of high-value intents. - Choose titles, phrases, and symbols that make sense in Shortcuts, Siri, and Spotlight. - Keep shortcut phrases direct and task-oriented. - Reuse the same action model for widgets and controls when a widget configuration or intent-driven control already needs the same parameters. ### 5) Validate the runtime handoff - Build the app and confirm the intents target compiles cleanly. - Verify the app opens or routes to the expected place when an intent runs. - Summarize which actions are now exposed, which entities back them, and how the app handles invocation. ## Strong defaults - Prefer a dedicated intents target or module for the system-facing layer. - Keep intent types thin; business logic should stay in app services or domain models. - Keep app entities small and display-friendly. - Use `AppEnum` for fixed app choices such as tabs, modes, or visibility levels before reaching for a full entity type. - Prefer one predictable app-intent routing surface in the main app scene or root router. - Treat App Intents as system integration infrastructure, not only as a Shortcuts feature. ## Anti-patterns - Exposing every screen or tab as its own intent without a real user value. - Mirroring the entire model graph as `AppEntity` types. - Hiding runtime handoff in global side effects with no clear app entry path. - Adding App Shortcuts with vague phrases or generic titles. - Treating the first App Intents pass as a broad taxonomy project instead of a small useful release. ## Notes - Apple documentation to use as primary references: - `https://developer.apple.com/documentation/appintents/making-actions-and-content-discoverable-and-widely-available` - `https://developer.apple.com/documentation/appintents/creating-your-first-app-intent` - `https://developer.apple.com/documentation/appintents/adopting-app-intents-to-support-system-experiences` - In addition to the links above, use web search to consult current Apple Developer documentation when App Intents APIs or platform behavior may have changed. - A good first pass often includes one open-app intent, one action intent, one or two entity types, and a small `AppShortcutsProvider`. - Good example families to cover are: - open a destination or editor in the app - perform a lightweight action inline without opening the app - choose from a fixed enum such as a tab or mode - resolve one or more entities through `EntityQuery` - power widget configuration or controls from the same entity surface
© OpenAI · MIT · openai/plugins