app-intents-code-review
Claude Code plugin for code review skills and verification workflows. Python, Go, React, FastAPI, BubbleTea, and AI frameworks (Pydantic AI, LangGraph, Vercel AI SDK).
15 stars3 forksUpdated Jan 24, 2026
npx skills add https://github.com/existential-birds/beagle --skill app-intents-code-reviewSKILL.md
App Intents Code Review
Quick Reference
| Issue Type | Reference |
|---|---|
| AppIntent protocol, perform(), return types | references/intent-structure.md |
| AppEntity, EntityQuery, identifiers | references/entities.md |
| AppShortcutsProvider, phrases, discovery | references/shortcuts.md |
| @Parameter, validation, dynamic options | references/parameters.md |
Review Checklist
-
perform()marked with@MainActorif accessing UI/main thread resources -
perform()completes within 30-second timeout (no heavy downloads/processing) - Custom errors conform to
CustomLocalizedStringResourceConvertible -
EntityQuery.entities(for:)handles missing identifiers gracefully -
EntityStringQueryused if Siri voice input needed (not plainEntityQuery) -
suggestedEntities()returns reasonable defaults for disambiguation -
AppShortcutphrases include.applicationNameparameter - Non-optional
@Parameterhas sensible defaults or usesrequestValue() -
@IntentParameterDependencynot used on iOS 16 targets (crashes) - Phrases localized in
AppShortcuts.strings, notLocalizable.strings - App Intents defined in app bundle, not Swift Package (pre-iOS 17)
-
isDiscoverable = falsefor internal/widget-only intents
When to Load References
- AppIntent protocol implementation -> intent-structure.md
- Entity queries, identifiers, Spotlight -> entities.md
- App Shortcuts, phrases, discovery -> shortcuts.md
- Parameter validation, dynamic options -> parameters.md
Review Questions
- Does
perform()handle timeout limits for long-running operations? - Are entity queries self-contained (no
@Dependencyinjection in Siri context)? - Do phrases read naturally and include the app name?
- Are SwiftData models passed by
persistentModelID, not directly? - Would migrating from SiriKit break existing user shortcuts?
Repository Stats
Stars15
Forks3
LicenseMIT License