vp-k/flutter-craft/flutter-debugging
- community
Checking that the SKILL.md file is still in the repository.
Use when encountering any bug, test failure, or unexpected behavior in Flutter - requires systematic investigation before proposing fixes
Install
npx vskill@latest install vp-k/flutter-craft/flutter-debuggingSKILL.md
Systematic Flutter Debugging
Overview
Random fixes waste time and create new bugs. Quick patches mask underlying issues.
Core principle: ALWAYS find root cause before attempting fixes. Symptom fixes are failure.
Announce at start: "I'm using the flutter-debugging skill to investigate this issue."
The Iron Law
If you haven't completed Phase 1, you cannot propose fixes.
When to Use
Use for ANY Flutter technical issue:
- Widget build errors
- State management bugs
- Test failures
- UI rendering issues
- Navigation problems
- API/network errors
- Build failures
- Platform-specific issues
Use this ESPECIALLY when:
- "Just one quick fix" seems obvious
- You've already tried multiple fixes
- Previous fix didn't work
- Under time pressure
Flutter Debugging Tools
1. Console Logging
2. Flutter DevTools
DevTools Panels:
- Widget Inspector: Widget tree, properties, layout
- Performance: Timeline, frame rendering
- Memory: Heap usage, leaks
- Network: HTTP requests/responses
- Logging: All logs in one place
3. Debug Widgets
4. Breakpoints
The Four Phases
Phase 1: Root Cause Investigation
BEFORE attempting ANY fix:
1. Read Error Messages Carefully
Don't skip past errors! They often contain the exact solution.
2. Reproduce Consistently
- Can you trigger it reliably?
- What are the exact steps?
- Does Hot Reload vs Hot Restart matter?
3. Check Recent Changes
4. Add Diagnostic Logging
Phase 2: Pattern Analysis
1. Find Working Examples
- What works that's similar to what's broken?
- Compare widget structure, state management
2. Compare Against References
3. Identify Differences
List every difference, however small:
- Widget type
- State provider location
- BuildContext usage
- Lifecycle methods
Phase 3: Hypothesis and Testing
1. Form Single Hypothesis
State clearly:
"I think the issue is [X] because [Y]"
Example:
"I think the build error is because the BLoC is not provided above this widget in the widget tree"
2. Test Minimally
Make the SMALLEST possible change:
3. Verify Before Continuing
- Did it work? → Phase 4
- Didn't work? → Form NEW hypothesis
- DON'T add more fixes on top
Phase 4: Implementation
1. Create Test Case (Optional based on priority)
For Repository/DataSource issues (Priority 1):
2. Implement Single Fix
ONE change at a time:
3. Verify Fix
4. If Fix Doesn't Work
- Count: How many fixes have you tried?
- If < 3: Return to Phase 1, re-analyze
- If ≥ 3: STOP and question the architecture
Common Flutter Issues & Root Causes
| Symptom | Common Root Cause | |
|---|---|---|
| "No ancestor found" | Provider/BLoC not in widget tree above | |
| "setState after dispose" | Async operation completing after widget disposed | |
| "RenderBox not laid out" | Unbounded constraints (Column in Column, etc.) | |
| "Null check operator" | Variable not initialized or API returned null | |
| "Build during build" | setState called during build phase | |
| "Ticker not disposed" | Missing with TickerProviderStateMixin or dispose |
Red Flags - STOP and Follow Process
If you catch yourself thinking:
- "Quick fix for now"
- "Just wrap it in a try-catch"
- "Add a null check here"
- "Just add a Container around it"
- "Maybe just hot restart"
- "It's probably a state issue, let me reset"
ALL of these mean: STOP. Return to Phase 1.
REQUIRED SUB-SKILL
After fixing the bug, you MUST invoke: → flutter-craft:flutter-verification
Verify the fix with flutter analyze, flutter test, and manual testing.
Quick Reference
| Phase | Flutter Activities | Success Criteria | |
|---|---|---|---|
| 1. Root Cause | Read error, reproduce, add debugPrint | Understand WHAT and WHY | |
| 2. Pattern | Find working widgets, compare | Identify differences | |
| 3. Hypothesis | Form theory, minimal test | Confirmed or new hypothesis | |
| 4. Implementation | Create test (priority-based), fix, verify | Bug resolved, analysis clean |
Why Systematic
Random fixes tend to thrash: each guess that fails contaminates the code and hides the original symptom. Root-cause-first debugging keeps the change set minimal, makes the fix verifiable, and avoids introducing new bugs while "trying things".
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/flutter-debugging/SKILL.md
Popularity
- Repository stars
- 6
- Repository forks
- 2
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 25 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/vp-k/flutter-craft/flutter-debugging)