Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add existential-birds/beagle --skill "app-intents-code-review"
Install specific skill from multi-skill repository
# Description
Reviews App Intents code for intent structure, entities, shortcuts, and parameters. Use when reviewing code with import AppIntents, @AppIntent, AppEntity, AppShortcutsProvider, or @Parameter.
# SKILL.md
name: app-intents-code-review
description: Reviews App Intents code for intent structure, entities, shortcuts, and parameters. Use when reviewing code with import AppIntents, @AppIntent, AppEntity, AppShortcutsProvider, or @Parameter.
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?
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.