skills/flutter-debug/SKILL.md
Unified Flutter/Dart debugging skill — diagnose and fix any Flutter bug, from Dart analysis errors to complex intermittent issues. Automatically triages into the right mode: Fix (Dart compile/analysis errors, auto-fix loop), Quick (runtime crashes, widget errors, interactive 2-3 solution proposals), Deep (intermittent/multi-system, read-only investigation report), or Log (generate structured logging snippets). Use when the user says "fix this bug," "fix this error," "why is this broken," "debug this," "root cause analysis," "auto fix," "resolve these analysis errors," "add debug logs," "trace this value," "something is wrong," "this isn't working," or describes unexpected behavior, pastes a stack trace, or reports "works on emulator but not on device." Also use when a bug has resisted 2+ fix attempts and needs documented analysis.
npx skillsauth add cuozg/oh-my-skills flutter-debugInstall 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.
Detect bug type, select mode, execute the right workflow. Always propose 2-3 solutions before touching code.
| Signal | Mode | Action |
|--------|------|--------|
| Dart analysis errors, dart analyze failures, "fix this error" | Fix | references/fix-mode.md |
| Runtime crash, null assertion, widget error, "fix this bug", first encounter | Quick | references/quick-mode.md |
| Intermittent, 2+ failed fixes, multi-system, "root cause analysis" | Deep | references/deep-mode.md |
| "Add debug logs", "trace this value", "logging for this method" | Log | references/log-mode.md |
When uncertain, start in Quick — cheaper to escalate than over-invest. State the triage:
"This looks like a [type]. I'll [approach]. Sound right?"
Follow references/fix-mode.md: Run dart analyze → parse errors → locate root cause → propose 2-3 fix approaches → apply chosen fix → re-run dart analyze → loop until zero errors. Stop and report after 5 iterations without progress.
1. [Safest] Add null check + fallback in UserProfile.build():42 — Low risk, 5 min
2. [Proper] Initialize provider in correct scope — Med risk, 15 min
3. [Architectural] Restructure state with AsyncValue — High risk, 1 hr
dart analyze on changed filesFollow references/deep-mode.md: Read-only, multi-angle (>=3) investigation. Cite file:line for all findings. Rank causes HIGH/MED/LOW. Write report to Documents/Debug/ANALYSIS_{TOPIC}_{YYYYMMDD}.md. Propose 2-3 solutions per cause (WHAT/WHERE only, no code patches).
Follow references/log-mode.md:
package:logger (log.d/i/w/e), structured [ClassName.method] prefixassert() or kDebugMode check for production safetydart analyze after every code changefile:line for every cause identified// ignore: directives| From | To | Trigger | |------|----|---------| | Fix | Quick | Analysis errors cleared but runtime bug remains | | Quick | Deep | 3 loops without resolution, or multi-system involvement | | Deep | Quick | Report identifies clear single-system fix |
On escalation, carry forward all evidence gathered. Tell the user why you're switching.
Load flutter-standards references on demand via read_skill_file("flutter-standards", "references/<path>"):
error-handling.md — exception hierarchies, Result pattern, error boundariesdebug-logging.md — structured logging, log levels, production safetyasync-streams.md — Future/Stream patterns, cancellation, error propagationperformance-optimization.md — rebuild profiling, DevTools, const widgetsstate-management-guide.md — Riverpod patterns, provider scoping, lifecycletools
Generate Unity raster image assets through Unity MCP: game sprites, item art, backgrounds, UI icons, portraits, concept images, transparent cutouts, image edits, upscales, background removal, and Unity scene or Game View screenshots. Use when a Unity project needs image files imported under Assets or screenshots captured from the editor. Do not use for meshes, audio, animation, materials, gameplay code, UI Toolkit layout, or generic non-Unity image generation.
tools
Create Unity technical solution documents from user requirements, feature ideas, bug goals, specs, or codebase problems. Use when the user asks for a technical approach, architecture, implementation strategy, solution options, feasibility analysis, system design, or "how should we build/fix this" for Unity runtime, Editor, tools, assets, data, UI, WebGL, SDKs, or production pipelines.
tools
Orchestrate Unity Editor via MCP (Model Context Protocol) tools and resources. Use when working with Unity projects through MCP for Unity - creating/modifying GameObjects, editing scripts, managing scenes, running tests, or any Unity Editor automation. Provides best practices, tool schemas, and workflow patterns for effective Unity-MCP integration.
development
Convert a spec document into an implementation TODO list in the same spec folder. U se when the user says goal-todo, todo from spec, generate tasks from spec, turn this spec into todos, create implementation checklist, extract tasks, or asks to read a Docs/Specs design doc and produce what must be implemented. Includes UI/UX review and codebase investigation before writing the checklist. Do not use for implementing the tasks, creating new goal files, writing test cases, or verifying completed work.