Releases: ai-dashboad/flutter-skill
Releases · ai-dashboad/flutter-skill
v0.9.0
🚀 v0.9.0 — iOS Native Automation + React Native Support
✨ New Features
- 6 native P0 tools:
native_long_press,native_gesture,native_press_key,native_key_combo,native_button,native_list_simulators - Video recording:
native_video_start/native_video_stop— H.264 MP4 via simctl - Frame capture:
native_capture_frames— burst JPEG at configurable FPS - Hardware buttons: Apple Pay and Side button via HID injection
- fs-ios-bridge: Native ObjC HID injector (74KB) using SimulatorKit private APIs — ~1ms latency vs ~1s for osascript fallback
- React Native iOS: Full bridge + native tool support verified (41/42 pass)
- Bridge fallback:
get_widget_treeandnative_snapshotnow auto-fallback to bridgeinspectfor non-Flutter apps
🐛 Bug Fixes
- Bridge mode null safety (drag coordinates, edge_swipe defaults, assert_text nullable key)
execute_batchaccepts bothactionsandcommandsparam namesnative_gesture/native_key_comboflexible param types- Improved error messages for missing parameters
📊 Test Results
| Platform | Pass | Total | Rate |
|---|---|---|---|
| Web CDP | 128 | 128 | 100% |
| iOS Native | 28 | 29 | 97% |
| iOS Multi-App (7 apps) | 62 | 62 | 100% |
| iOS Cross-Stack | 28 | 28 | 100% |
| iOS Bridge (Flutter) | 62 | 62 | 100% |
| React Native iOS | 41 | 42 | 98% |
📈 Stats
- 253 MCP tool definitions / 176 in registry
- 10 platforms supported
- 8 CLI commands
📦 Install
# npm (recommended)
npx flutter-skill@latest server
# Dart
dart pub global activate flutter_skill
# Homebrew
brew install anthropic/tap/flutter-skillv0.8.9
Full Changelog: v0.8.8...v0.8.9
v0.8.8
Full Changelog: v0.8.7...v0.8.8
v0.8.7
🧠 AI-Native Page Understanding
New MCP tools that use Chrome Accessibility Tree instead of screenshots — 95% fewer tokens:
page_summary— Semantic page summary: nav, forms, buttons, headings, landmarks (~200 tokens)explore_actions— Batch 5+ UI actions per call (tap, fill, scroll, back, navigate)boundary_test— 13 security payloads (XSS, SQL injection, long strings) with DOM reflection detectionexplore_report— Generate styled HTML report from exploration data
🤖 Smart Explore CLI
flutter-skill explore <url> now uses the Accessibility Tree for page understanding:
flutter-skill explore https://my-app.com --max-steps=20- AI agent mode (set
OPENAI_API_KEYorANTHROPIC_API_KEY) - Rule-based fallback (zero LLM calls)
- Hybrid nav detection: AX tree landmarks + top-of-page JS fallback
🐛 Bug Fixes
- Nav filtering: Product links with prices ($, €) no longer appear as navigation items
- White screen detection: Retry after 1.5s to avoid false positives during page transitions
- SPA navigation: Detect page changes via title comparison (hash routing support)
📊 Stats
- 237 MCP tools (up from 207)
- 10 platforms
- 8 CLI commands
Full Changelog: v0.8.6...v0.8.7
v0.8.6
🚀 Massive Feature Drop
207 MCP tools (up from 161) · 4 CLI commands · 10 platforms
New CLI Commands
flutter-skill explore <url>— AI autonomous testing agent. Auto-discovers pages, tests boundary cases, detects crashes, generates HTML bug reportflutter-skill monkey <url>— Random fuzz testing with seed reproducibility, crash/white-screen detectionflutter-skill test --platforms web,electron,android— Parallel multi-platform testing with unified reportflutter-skill serve <url>— Zero-config WebMCP server (from v0.8.5)
New MCP Tools (+46)
| Category | Tools | Competitors have? |
|---|---|---|
| Self-healing tests | smart_tap, smart_enter_text, smart_assert |
❌ |
| Network mock/replay | mock_api, mock_clear, record_network, replay_network |
❌ |
| Visual regression | visual_baseline_save/compare/update, visual_regression_report |
❌ |
| Test coverage | coverage_start/stop/report/gaps |
❌ |
| Data-driven testing | test_with_data, generate_test_data |
❌ |
| Multi-device sync | multi_connect/action/compare/disconnect |
❌ |
| Deep accessibility | a11y_full_audit, a11y_tab_order, a11y_color_contrast, a11y_screen_reader |
❌ |
| Session persistence | save_session, restore_session, session_diff |
❌ |
| Smart waits | wait_for_stable/url/text/element_count |
partial |
| API + UI testing | api_request, api_assert |
❌ |
| i18n testing | set_locale, verify_translations, i18n_snapshot |
❌ |
| Performance | perf_start/stop/report |
❌ |
| Flaky detection | retry_on_fail, stability_check |
❌ |
Enhancements
accessibility_auditnow works on all bridge platforms (not just CDP)record_exportadds Detox + Maestro formats (11 total)
vs Competitors
| flutter-skill | Playwright MCP | browser-use | |
|---|---|---|---|
| MCP tools | 207 | ~33 | ~15 |
| Platforms | 10 | 1 | 1 |
| CLI commands | 4 | 0 | 0 |
| Self-healing | ✅ | ❌ | ❌ |
| Monkey testing | ✅ | ❌ | ❌ |
| Network mock | ✅ | ❌ | ❌ |
| Visual regression | ✅ | ❌ | ❌ |
v0.8.5
What's New
🌐 Zero-Config serve Command
flutter-skill serve https://your-app.comAuto-discovers all interactive UI elements as callable tools. REST API at localhost:3000. Hot reload detection for Vite, Webpack, React, Flutter Web.
🔧 Bug Fixes
- Bridge MCP handlers: Added missing
press_key,find_element,scroll,get_textfor bridge platforms - Screenshot fallback: Native screenshot when bridge returns null (React Native, Tauri)
reset_appbridge fix: Usesgo_back + reinitializefallback instead ofhot_restart- Tauri SDK:
get_registered_tools/call_toolfixed witheval_js_with_result
🧪 10-Platform Test Results (156 tools each)
| Platform | Pass | Fail | Skip |
|---|---|---|---|
| Android | 84 | 0 | 72 |
| Flutter iOS | 84 | 1* | 71 |
| .NET MAUI | 77 | 2* | 77 |
| Web CDP | 138 | 0 | 18 |
| Electron | 84 | 0 | 72 |
| KMP | ✅ | - | - |
| Tauri | ✅ | - | - |
| React Native | ✅ | - | - |
| Flutter Web | ✅ | - | - |
| Web CDP Serve | ✅ | - | - |
*Flutter iOS: test app missing element; .NET MAUI: screenshot_region/element not yet implemented
📋 Also New
reset_apptool (#161) — cross-platform app state reset- CI/CD templates for GitHub Actions + GitLab CI
- Doctor command: Chrome, CDP port, bridge port checks
- 6-mechanism hot reload detection in serve mode
v0.8.4
What's New in v0.8.4
🤖 AppMCP — Zero-Config Tool Discovery
- Auto-discover UI elements as callable MCP tools on all 10 platforms
- registerTool() + get_registered_tools across all SDKs
- discover_page_tools + call_page_tool for CDP and Bridge
🏗️ Architecture
- server.dart refactored: 7530 → 1048 lines (-86%)
- cdp_driver.dart refactored: 2283 → 1329 lines (-42%)
- SkillEngine decoupling: tool_registry.dart + skill_engine.dart + mcp_adapter.dart
⚡ Performance
- Benchmarks added to README (tap 1ms, snapshot 2ms, connect 93ms)
- Token savings: 87-99% with snapshot() vs screenshots
🐛 Fixes
- Fixed $ escape bug in autoDiscoverUiTools
- CI dart analyze warnings resolved
- 160 total MCP tools across 10 platforms
✅ Test Results
| Platform | Pass | Fail | Skip |
|---|---|---|---|
| Web CDP | 141 | 0 | 15 |
| Electron | 78 | 0 | 78 |
| Android | 83 | 0 | 73 |
v0.8.3
Full Changelog: v0.8.2...v0.8.3
v0.8.2
Full Changelog: v0.8.1...v0.8.2
v0.8.1
Full Changelog: v0.8.0...v0.8.1