From beagle-ios
Reviews App Intents code for intent structure, entities, shortcuts, parameters, perform() timeouts, entity queries, phrases, and best practices like @MainActor and localization. Use with import AppIntents or @AppIntent.
npx claudepluginhub existential-birds/beagle --plugin beagle-iosThis skill uses the workspace's default tool permissions.
| Issue Type | Reference |
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
| 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 |
perform() marked with @MainActor if accessing UI/main thread resourcesperform() completes within 30-second timeout (no heavy downloads/processing)CustomLocalizedStringResourceConvertibleEntityQuery.entities(for:) handles missing identifiers gracefullyEntityStringQuery used if Siri voice input needed (not plain EntityQuery)suggestedEntities() returns reasonable defaults for disambiguationAppShortcut phrases include .applicationName parameter@Parameter has sensible defaults or uses requestValue()@IntentParameterDependency not used on iOS 16 targets (crashes)AppShortcuts.strings, not Localizable.stringsisDiscoverable = false for internal/widget-only intentsperform() handle timeout limits for long-running operations?@Dependency injection in Siri context)?persistentModelID, not directly?