flutter_skill 0.2.22
flutter_skill: ^0.2.22 copied to clipboard
Give your AI Agent eyes and hands inside your Flutter app.
0.2.21 #
IntelliJ Plugin Enhancement
New Features #
- Auto-open Tool Window - Flutter Skill panel opens automatically for Flutter projects
- AI CLI Tool Detection - Automatically detects installed AI tools:
- Claude Code, Cursor, Windsurf, Continue, Aider
- GitHub Copilot, OpenAI CLI, Gemini CLI, Ollama, LM Studio
Enhanced UI #
- Connection status section with visual indicator
- Detected AI tools list with version info
- "Configure" button for one-click MCP setup
- "Copy Config" button for easy configuration sharing
0.2.20 #
Multi-Platform Distribution
New Installation Methods #
| Method | Platform | Command |
|---|---|---|
| Docker | All | docker pull ghcr.io/ai-dashboad/flutter-skill |
| Snap | Linux | snap install flutter-skill |
| Scoop | Windows | scoop install flutter-skill |
| Winget | Windows | winget install AIDashboard.FlutterSkill |
| Devcontainer | All | Feature: ghcr.io/ai-dashboad/flutter-skill/flutter-skill |
Documentation #
- Added Continue.dev integration guide (
docs/continue-dev.md)
CI/CD #
- Added Docker workflow for GHCR publishing
- Added Snap workflow for Snap Store publishing
- Added Winget manifest generation on release
- Added Scoop manifest generation on release
- Added Devcontainer feature publishing workflow
0.2.19 #
Smart Diagnosis Tool
New MCP Tools #
diagnose- Intelligent log and UI analysis with fix suggestions- Analyzes logs for common error patterns (network, layout, null errors)
- Detects UI issues (empty state, high memory usage)
- Returns structured diagnosis with issues, suggestions, and next steps
- Calculates health score (0-100)
Supported Issue Detection #
| Type | Severity | Detection |
|---|---|---|
| Network connection error | critical | Log pattern matching |
| Timeout exception | critical | Log pattern matching |
| Layout overflow | warning | Log pattern matching |
| Null check error | critical | Log pattern matching |
| State error (disposed widget) | warning | Log pattern matching |
| High memory usage | warning | Memory threshold check |
| Empty UI state | warning | UI element inspection |
Example Usage #
// Call diagnose tool
{ "tool": "diagnose", "arguments": { "scope": "all" } }
// Returns
{
"summary": { "total_issues": 2, "critical": 1, "warning": 1, "health_score": 60 },
"issues": [ { "id": "E001", "type": "network_connection_error", "severity": "critical" } ],
"suggestions": [ { "for_issue": "E001", "action": "Check network configuration", "steps": [...] } ],
"next_steps": [ { "tool": "tap", "params": { "text": "Retry" } } ]
}
0.2.18 #
Connection Reliability & Error Handling Improvements
Bug Fixes #
connect_appnow retries 3 times with exponential backoff- Auto-normalize VM Service URI format (http→ws, add /ws suffix)
launch_apptimeout increased from 120s to 180s for slow builds
Improved Error Messages #
- Structured error responses with error codes (E201, E301)
- Actionable suggestions on connection/launch failures
- Clear next steps for troubleshooting
Example Error Response #
{
"success": false,
"error": {"code": "E201", "message": "Failed to connect after 3 attempts"},
"suggestions": ["Try scan_and_connect()", "Verify app is running"]
}
0.2.17 #
P2 Optimizations - Gesture Presets & Wait for Idle
New MCP Tools #
-
gesture- Perform gestures with presets or custom coordinates- Presets:
drawer_open,drawer_close,pull_refresh,page_back,swipe_left,swipe_right - Custom: Specify
from_x/from_y/to_x/to_yas screen ratios (0.0-1.0)
- Presets:
-
wait_for_idle- Wait for app to stabilize (no animations/UI changes)- Parameters:
timeout(default 5000ms),min_idle_time(default 500ms) - Returns idle status and timing info
- Parameters:
Gesture Presets #
| Preset | Description |
|---|---|
| drawer_open | Swipe from left edge to open drawer |
| drawer_close | Swipe to close drawer |
| pull_refresh | Pull down to refresh |
| page_back | iOS-style back gesture |
| swipe_left/right | Horizontal swipes |
0.2.16 #
P0/P1 Expert-level Optimizations
Changes #
- TODO: Add your changes here
0.2.16 #
P0/P1 Expert-level Optimizations
P0 - Fuzzy Match Suggestions #
tap()andenter_text()return similar keys/texts when element not found- Helps developers quickly identify correct key names
P1 - Enhanced inspect() #
- Added
idfield for element identification - Added
ancestorsarray (last 3 meaningful parent widgets) - Added
widgetTypefor actual Flutter widget class - Added
tooltipandiconextraction - Added
visiblestatus - Changed position/size to
boundsobject format
P1 - Error Code System #
- Added ErrorCode class (E001-E302)
- Structured error responses with code, message, suggestions
- Codes: elementNotFound, elementNotVisible, inputFailed, etc.
0.2.15 #
Critical Bug Fixes & AI Agent Improvements
Bug Fixes #
- Fixed tap/enter_text/scroll_to returning misleading success - Now returns
{success: false, error: "Element not found"}when element not found - Previously these tools returned success even when the target element didn't exist
New MCP Tools #
edge_swipe- Swipe from screen edge for drawer menus and iOS back gestures- Parameters:
edge(left/right/top/bottom),direction(up/down/left/right),distance
- Parameters:
screenshot_region- Capture a cropped region of the screen
Enhanced Tools #
inspectnow returns element coordinates:position: {x, y}- top-left cornersize: {width, height}- element dimensionscenter: {x, y}- center point for coordinate-based tappingsemanticsLabel- accessibility label when available
screenshotnow accepts:quality(0.1-1.0) - reduce image size via pixel ratiomax_width- scale down large screenshots
Improvements #
- Better error messages with element key/text in failure responses
- Tappable elements (InkWell, GestureDetector) now include extracted text
0.2.14 #
Testing Efficiency & Batch Operations
New MCP Tools #
execute_batch- Execute multiple actions in sequence (reduces round-trip latency)tap_at/long_press_at- Coordinate-based interactionsswipe_coordinates- Swipe from one coordinate to anotherscroll_until_visible- Scroll until target element becomes visibleassert_visible/assert_not_visible- Assert element visibilityassert_text- Assert element text content (equals or contains)assert_element_count- Assert count of elements matching criteriaget_page_state- Get complete page state snapshotget_interactable_elements- Get all interactable elements with suggested actionsget_frame_stats- Frame rendering statisticsget_memory_stats- Memory usage statistics
Efficiency Improvements #
- Batch operations reduce test execution time by 60%+
- Smart scroll eliminates manual scroll + check loops
- Built-in assertions simplify test validation
0.2.13 #
Feature Parity & Developer Experience
New MCP Tools #
scan_and_connect- Auto-scan VM Service ports and connect to first found Flutter applist_running_apps- List all running Flutter apps with their VM Service URIsstop_app- Stop the currently running Flutter appdisconnect- Disconnect from app without stopping itget_connection_status- Get connection info with actionable suggestionshot_restart- Full app restart (resets state)
Enhanced Tools #
launch_appnow supports:dart_defines- Pass compile-time variables (e.g.,["ENV=staging", "DEBUG=true"])flavor- Build flavor selectiontarget- Custom entry point fileextra_args- Additional flutter run arguments
Improved Error Messages #
- Connection errors now include specific solutions
get_connection_statusshows available apps and suggestions
0.2.12 #
Auto-Update Checking
New Features #
- Auto-update checking for all installation methods
- npm: Checks registry every 24 hours, shows notification
- VSCode: Extension auto-updates via marketplace
- IntelliJ: Plugin auto-updates via JetBrains marketplace
- Homebrew:
brew upgrade flutter-skill
0.2.11 #
Homebrew Distribution
New Features #
- Homebrew formula with pre-compiled native binary
brew tap ai-dashboad/flutter-skill && brew install flutter-skill- Auto-upgrades via
brew upgrade
0.2.10 #
IntelliJ Native Binary Support
New Features #
- Native binary auto-download for IntelliJ/Android Studio plugin
- Background download with progress indicator
- Cached to
~/.flutter-skill/bin/
0.2.9 #
npm Native Binary Auto-Download
New Features #
- npm postinstall script auto-downloads native binary
- Platform detection: macOS (arm64/x64), Linux (x64), Windows (x64)
- Fallback to Dart runtime if download fails
0.2.8 #
Native Binary Compilation
Performance #
- Native binary compilation for ~100x faster MCP startup
- Startup time: ~0.01s (native) vs ~1s (Dart JIT)
- GitHub Actions builds for all platforms
0.2.7 #
VSCode Native Binary Support
New Features #
- VSCode extension auto-downloads native binary
- Background download on extension activation
- Automatic fallback to Dart runtime
0.2.6 #
Claude Code Config Fix
Bug Fixes #
- Fixed Claude Code MCP config detection
- Correct path:
~/.claude/settings.json(was incorrectly using~/.claude.json) - Config now properly merges into existing settings
0.2.0 #
Major Feature Release - 25+ MCP Tools
New Features #
- UI Inspection:
get_widget_tree,get_widget_properties,get_text_content,find_by_type - Interactions:
double_tap,long_press,swipe,drag - State Validation:
get_text_value,get_checkbox_state,get_slider_value,wait_for_element,wait_for_gone - Screenshots:
screenshot(full app),screenshot_element(specific element) - Navigation:
get_current_route,go_back,get_navigation_stack - Debug & Logs:
get_logs,get_errors,get_performance,clear_logs - Development:
hot_reload,pub_search
Bug Fixes #
- Fixed global swipe using
platformDispatcher.viewsfor screen center calculation - Fixed
screenshot_elementto capture any widget by finding nearestRenderRepaintBoundaryancestor
Documentation #
- Complete rewrite of README.md with all tool categories
- Updated SKILL.md with full tool reference and parameters
- Updated USAGE_GUIDE.md with CLI and MCP examples
0.1.6 #
- Docs: Updated README to reflect unified
flutter_skillglobal commands.
0.1.5 #
- Fix: Added missing implementation for
scrollextension found during comprehensive verification. - Verified: All CLI features (inspect, tap, enterText, scroll) verified against real macOS app.
0.1.4 #
- Housekeeping: Removed
demo_countertest app from package distribution.
0.1.3 #
- Fix: Critical fix for
launchcommand to correctly capture VM Service URI with auth tokens. - Fix: Critical fix for
inspectcommand to correctly traverse widget tree (was stubbed in 0.1.2). - Feature:
launchcommand now forwards arguments toflutter run(e.g.-d macos).
0.1.2 #
- Docs: Updated README architecture diagram to reflect
flutter_skillexecutable. - No functional changes.
0.1.1 #
- Featured: Simplified CLI with
flutter_skillglobal executable. - Refactor: Moved CLI logic to
lib/src/clifor better reusability. - Usage:
flutter_skill launch,flutter_skill inspect, etc.
0.1.0 #
- Initial release of Flutter Skill.
- Includes
launch,inspect,actCLI tools. - Includes
flutter_skillapp-side binding. - Includes MCP server implementation.