Implement App Intents for Siri, Shortcuts, Spotlight, widgets, Control Center, and Apple Intelligence on iOS. Covers AppIntent actions, AppEntity and EntityQuery models, AppShortcutsProvider phrases, IndexedEntity Spotlight indexing, WidgetConfigurationIntent, SnippetIntent, and assistant schemas. Use when exposing app actions or entities to system surfaces.
84%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Expose app actions and entities to Siri, Shortcuts, Spotlight search, interactive widgets, Control Center, and Apple Intelligence using the AppIntents framework. Targets Swift 6.4 / iOS 26+.
AppEntity) for domain data referenced by the intent.@Parameter, implement perform() async throws -> some IntentResult.AppShortcutsProvider.| System Surface | Protocol / Attribute | Purpose |
|---|---|---|
| Siri & Shortcuts | AppIntent | Direct voice and shortcut automation |
| Configurable Widgets | WidgetConfigurationIntent | Supplies parameters to widget timelines |
| Control Center | ControlConfigurationIntent | Powers Control Center buttons and toggles |
| Spotlight Search | IndexedEntity | Indexes domain items into on-device Spotlight |
| Apple Intelligence | @AppIntent(schema:) | Assistant semantic reasoning and tooling |
| Interactive Snippets | SnippetIntent | In-line system confirmation views (iOS 26+) |
Expose domain data to intents using AppEntity:
struct OrderEntity: AppEntity {
static var defaultQuery = OrderQuery()
static var typeDisplayRepresentation = TypeDisplayRepresentation(name: "Order")
var id: UUID
var displayRepresentation: DisplayRepresentation {
DisplayRepresentation(title: "\(orderNumber)")
}
}Implement EntityQuery to resolve identifiers (entities(for:)) and provide suggested choices (suggestedEntities()).
Expose voice triggers without requiring user setup via AppShortcutsProvider:
\(.applicationName) token.For @Parameter types, AppEntity declarations, and EntityQuery variants, read Parameters and Entity Queries.
For widget controls, interactive snippets, and Lock Screen integrations, read System Surfaces.
For Siri voice matching, confirmation dialogs, and authentication policies, read Assistant Focus and Intent Behavior.
For Spotlight search indexing, deep link routing, and IndexedEntity, read URL and Spotlight Integration.
For iOS 27 on-screen annotations, new intent and entity protocols (SyncableEntity, LongRunningIntent, OwnershipProvidingEntity), and AppIntentsTesting, read iOS 27 Annotations and Testing.
perform() without returning an OpenURLIntent or navigation result.EntityQuery for custom @Parameter entity types, breaking Shortcuts parameter selection.AppShortcut phrases instead of using \(.applicationName).perform() without checking Task.isCancelled or providing progress dialogs.typeDisplayRepresentation on AppEntity conformances.AppIntent or specialized surface protocolEntityQuery with entities(for:) and suggestedEntities()perform() returns an appropriate IntentResult (e.g. .result(), .result(dialog:))\(.applicationName) macrorequestConfirmation() before executingthienqo/ios-skills
6bf8b62
Canonical home
since May 23, 2026
Also appears in
on Oct 29, 2026
since May 28, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.