.agents/skills/flutter-controller-pattern/SKILL.md
Use when moving business logic out of Flutter widgets/providers into Riverpod controllers and needing clear boundaries for controller state, use-case orchestration, presentation intents, and controller-focused tests.
npx skillsauth add auravibes-apps/auravibes flutter-controller-patternInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use controllers as application orchestrators: widgets dispatch intent, controllers coordinate use cases, and domain logic stays in use cases.
In this repo, ToolExecutionController is the reference pattern:
apps/auravibes_app/lib/providers/tool_execution_controller.dartapps/auravibes_app/lib/providers/messages_manager_provider.dartrun, grant, skip, stop) across multiple widgets.isToolRunning, hasRunningToolsForMessage).runTask, grantToolCall, skipToolCall, stopAllToolCalls).try/finally, guard clauses).@Riverpod(keepAlive: true) controller.runTask, grant, skip, stop).finally cleanup always runs).tools
Convert tasks from tasks.md into GitHub issues. Use after task breakdown to track work items in GitHub project management.
tools
Break down implementation plans into actionable task lists. Use after planning to create a structured task breakdown. Generates tasks.md with ordered, dependency-aware tasks.
development
Create or update feature specifications from natural language descriptions. Use when starting new features or refining requirements. Generates spec.md with user stories, functional requirements, and acceptance criteria following spec-driven development methodology.
testing
Generate technical implementation plans from feature specifications. Use after creating a spec to define architecture, tech stack, and implementation phases. Creates plan.md with detailed technical design.