app-intents-widgetslisted
Install: claude install-skill fal3/claude-skills-collection
# App Intents and Widgets
Expose a thin, testable capability to the system, then add only the surfaces that improve the user journey. Intents execute outside ordinary screen assumptions; widgets render system-scheduled snapshots rather than miniature apps.
## Inspect targets and versions first
Do not write an intent or widget before identifying the executable targets, deployment floors, and shared capabilities.
```bash
xcodebuild -version
xcrun swiftc --version
xcodebuild -list -project App.xcodeproj
xcodebuild -showBuildSettings -project App.xcodeproj -target App \
| rg 'PRODUCT_BUNDLE_IDENTIFIER|APPLICATION_EXTENSION_API_ONLY|IPHONEOS_DEPLOYMENT_TARGET|MACOSX_DEPLOYMENT_TARGET|SWIFT_VERSION'
rg --files | rg '\.(entitlements|plist)$|Widget|Intent|Activity'
rg -n 'AppIntent|AppEntity|AppEnum|Entity(Query|StringQuery)|AppShortcutsProvider|TimelineProvider|ControlWidget|ActivityAttributes|onOpenURL|NSUserActivity'
```
Record the app, widget extension, shared framework/package, and test targets separately. Verify App Group and other entitlements in every executable that needs them. Read [architecture, execution, and privacy](references/architecture-and-privacy.md) before introducing shared state.
## Select the stable surface
| User need | Stable surface | Minimum commonly relevant OS |
|---|---|---|
| Run an app action from Siri/Shortcuts/system UI | `AppIntent` | iOS 16 |
| Resolve app-owned content | `AppEntity` + `EntityQuery`/`EntityStringQuery` | iOS 16 |
| Offer a