flutter-skill

by ai-dashboad

Not rated
GitHub

About

AI-powered E2E testing for 10 platforms. 253 MCP tools. Zero config. Test Flutter, React Native, iOS, Android, Web, Electron, Tauri, KMP, .NET MAUI from natural language.

Details

Author
ai-dashboad
Categories
Developer Tools, Automation, Other

Setup

Install flutter-skill in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/ai-dashboad/flutter-skill

Follow the installation instructions in the repository README, then restart your MCP client.

Give any AI agent eyes and hands inside any running app.
10 platforms. Zero test code. One MCP server.

Demo•Quick Start•AI Platforms•Platforms•vs Others•Docs

🚀 Zero config. Zero test code. Just talk to your AI.

If this saves you time, please considerstarring the repo ⭐— it helps others find it!

https://github.com/user-attachments/assets/d4617c73-043f-424c-9a9a-1a61d4c2d3c6

One prompt. 28 AI-driven actions. Zero test code.The AI explores a TikTok clone, navigates tabs, scrolls feeds, tests search, fills forms — all autonomously.

Writing E2E tests is painful. Maintaining them is worse.flutter-skilltakes a different approach:

- 🔌Connects any AI agent(Claude, Cursor, Windsurf, Copilot, OpenClaw) directly to your running app viaMCP
- 👀The agent sees your screen— taps buttons, types text, scrolls, navigates — like a human tester who never sleeps
- ✅Zero test code— no Page Objects, no XPath, no brittle selectors. Just plain English
- ⚡Zero config— 2 lines of code, works on all 10 platforms

You: "Test the checkout flow with an empty cart, then add 3 items and complete purchase" Your AI agent handles the rest — screenshots, taps, text entry, assertions, navigation. No Page Objects. No XPath. No brittle selectors. Just plain English.

2. Add to your AI(copy-paste into MCP config)

{ "mcpServers": { "flutter-skill": { "command": "flutter-skill", "args": ["server"] } } }

Works withClaude Desktop, Cursor, Windsurf, Copilot, Cline, OpenClaw— any MCP-compatible agent.

3. Add to your app(2 lines for Flutter)

import 'package:flutter_skill/flutter_skill.dart'; void main() { if (kDebugMode) FlutterSkillBinding.ensureInitialized(); runApp(MyApp()); }

"Launch my app, explore every screen, and report any bugs"

That's it.Zero configuration. Zero test code. Works in under 60 seconds.

Works with any MCP-compatible AI tool. One config line:

{ "mcpServers": { "flutter-skill": { "command": "flutter-skill", "args": ["server"] } } }

For standalone browser automation, CI/CD pipelines, or remote access:

# Start server flutter-skill serve https://your-app.com # Use CLI client commands flutter-skill nav https://google.com flutter-skill snap # Accessibility tree (99% fewer tokens) flutter-skill screenshot /tmp/ss.jpg flutter-skill tap "Login" flutter-skill type "hello@example.com" flutter-skill eval "document.title" flutter-skill tools # List all available tools

Supports--port=N,--host=Hflags andFS_PORT/FS_HOSTenv vars.

Full CLI client reference:docs/CLI_CLIENT.md

Most testing tools work on 1-2 platforms. flutter-skill works on10.

Total: 656/664 tests passing (98.8%)— each platform tested against a complex social media app with 50+ elements.

Real benchmarks from automated test runs against a complex social media app:

Token efficiency:snapshot()returns a structured element tree instead of an image —87–99% fewer tokensthan sending screenshots to your AI agent.

How fast is that?Ataptakes 1–2 ms end-to-end. Browser automation tools like Playwright and Selenium typically take 50–100 ms for the same operation. That's 50–100× faster, because flutter-skill talks directly to the app runtime instead of going through WebDriver or CDP indirection.

Tested 15 MCP tools against production websites —75/75 passed, zero timeouts:

Total time includes page load. Tool execution is consistently sub-100ms even on heavy DOM sites.

|AI page understanding| ✅ AX Tree | ❌ Screenshots | ❌ | ❌ | |Boundary/security test| ✅ 13 payloads | ❌ | ❌ | ❌ | |Batch actions| ✅ 5+/call | 1/call | 1/call | 1/call |

flutter-skill is the only AI-native E2E testing tool that works across mobile, web, and desktop — with 7× more tools than the nearest competitor.

# 🤖 AI autonomous exploration — finds bugs automatically flutter-skill explore https://my-app.com --depth=3 # 🐒 Monkey/fuzz testing — random actions, crash detection flutter-skill monkey https://my-app.com --actions=100 --seed=42 # 🚀 Parallel multi-platform testing flutter-skill test --url https://my-app.com --platforms web,electron,android # 🌐 Zero-config WebMCP server — any website becomes testable flutter-skill serve https://my-app.com

Most AI testing tools sendscreenshotsto the LLM — each one costs ~4,000 tokens.

flutter-skill uses Chrome'sAccessibility Treeto give your AI a compact semantic summary of any page:

// page_summary → ~200 tokens (vs ~4,000 for a screenshot) { "title": "Shopping Cart", "nav": ["Home", "Products", "Cart", "Account"], "forms": [{"input:Coupon Code": "text"}], "buttons": ["Apply", "Checkout", "Continue Shopping"], "features": {"search": true, "pagination": true}, "links": 47, "inputs": 3 }

Then batch multiple actions in one call:

// explore_actions → 5 actions per call (vs 5 separate tool calls) {"actions": [ {"type": "fill", "target": "input:Coupon Code", "value": "SAVE20"}, {"type": "tap", "target": "button:Apply"}, {"type": "tap", "target": "button:Checkout"}, {"type": "fill", "target": "input:Email", "value": "test@example.com"}, {"type": "tap", "target": "button:Continue"} ]}

Result:Your AI agent tests faster, costs less, and understands pages better than screenshot-based tools.

- screenshot— capture the screen
- inspect_interactive— all tappable/typeable elements with semantic refs
- find_element/wait_for_element
- get_elements— full element tree

- tap/long_press/swipe/drag
- enter_text/set_text/clear_text
- scroll— all directions
- go_back/press_key

- Semantic refs:button:Login,input:Email
- Stable across UI changes
- tap(ref: "button:Submit")
- 7 roles: button, input, toggle, slider, select, link, item

- launch_app— launch with flavors
- hot_reload/hot_restart
- get_logs/get_errors
- scan_and_connect— auto-find apps

AI Explore:page_summary,explore_actions,boundary_test,explore_report

Launch & Connect:launch_app,scan_and_connect,connect_cdp,hot_reload,hot_restart,list_sessions,switch_session,close_session,disconnect,stop_app

Screen:screenshot,screenshot_region,screenshot_element,native_screenshot,inspect,inspect_interactive,snapshot,get_widget_tree,find_by_type,get_text_content,get_visible_text

Interaction:tap,double_tap,long_press,enter_text,set_text,clear_text,swipe,scroll_to,drag,go_back,press_key,type_text,hover,fill,select_option,set_checkbox,focus,blur,native_tap,native_input_text,native_swipe

Smart Testing:smart_tap,smart_enter_text,smart_assert(self-healing with fuzzy match)

Assertions:assert_text,assert_visible,assert_not_visible,assert_element_count,assert_batch,wait_for_element,wait_for_gone,wait_for_idle,wait_for_stable,wait_for_url,wait_for_text,wait_for_element_count

Visual Regression:visual_baseline_save,visual_baseline_compare,visual_baseline_update,visual_regression_report,visual_verify,visual_diff,compare_screenshot

Network Mock:mock_api,mock_clear,record_network,replay_network,intercept_requests,clear_interceptions,block_urls,http_request

Coverage & Reliability:coverage_start,coverage_stop,coverage_report,coverage_gaps,retry_on_fail,stability_check

Data-Driven:test_with_data,generate_test_data

Multi-Device:multi_connect,multi_action,multi_compare,multi_disconnect,parallel_snapshot,parallel_tap

Accessibility:accessibility_audit,a11y_full_audit,a11y_tab_order,a11y_color_contrast,a11y_screen_reader

i18n:set_locale,verify_translations,i18n_snapshot

Performance:perf_start,perf_stop,perf_report,get_performance,get_frame_stats,get_memory_stats

Session:save_session,restore_session,session_diff

Recording & Export:record_start,record_stop,record_export(Playwright, Cypress, XCUITest, Espresso, Detox, Maestro, +5 more),video_start,video_stop

Auth:auth_inject_session,auth_biometric,auth_otp,auth_deeplink

Debug:get_logs,get_errors,get_console_messages,get_network_requests,diagnose,diagnose_project,reset_app

import 'package:flutter_skill/flutter_skill.dart'; void main() { if (kDebugMode) FlutterSkillBinding.ensureInitialized(); runApp(MyApp()); }
import FlutterSkill from 'flutter-skill-react-native'; FlutterSkill.start();
const { FlutterSkillBridge } = require('flutter-skill-electron'); FlutterSkillBridge.start(mainWindow);
// Swift Package Manager: FlutterSkillSDK import FlutterSkill FlutterSkillBridge.shared.start() Text("Hello").flutterSkillId("greeting")
implementation("com.flutterskill:flutter-skill:0.8.0") FlutterSkillBridge.start(this)
[dependencies] flutter-skill-tauri = "0.8.0"

Add Gradle dependency — seesdks/kmpfor details.

Add NuGet package — seesdks/dotnet-mauifor details.

git clone https://github.com/ai-dashboad/flutter-skill cd flutter-skill dart pub get dart run bin/flutter_skill.dart server # Start MCP server

⭐ If flutter-skill saves you time, star it so others can find it too!

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

AI 測試大師 — MCP server driving pytest / Jest / Cypress / Go / Maestro. Analyze, generate, run, advise. Web + Mobile (iOS/Android/BlueStacks).

A platform-agnostic server for scalable mobile automation and development across iOS, Android, simulators, and emulators.

A Model Context Protocol (MCP) server that enables Claude Desktop to interact with web browsers and mobile applications using WebDriverIO. Automate Chrome browsers, iOS apps, and Android apps—all through a unified interface.

Browser automation via MCP for Chrome and Firefox

Bring the full power of BrowserStack’s Test Platform to your AI tools, making testing faster and easier for every developer and tester on your team.

Official Chrome DevTools MCP server for controlling and inspecting a live Chrome browser from coding agents such as Gemini, Claude, Cursor, and Copilot.

Drives an Android emulator or a real device over adb: screenshots, UI hierarchy with true device-pixel coordinates, tap and type, app lifecycle, logcat, and Gradle builds and tests.

Interact with Android devices using the Android Debug Bridge (ADB).

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.