
Flutter Skill
io.github.telsavPublished by GitHub account telsavv0.7.6Updated Oct 24, 2026
AI E2E testing bridge — give AI eyes and hands inside any app. 8 platforms, 40+ tools.
Overview
Lets an AI agent drive and test running apps and websites by tapping, typing, scrolling, and inspecting screens.
- What you can do
- Connects an AI agent to a running app or browser so it can see and act on the interface: screenshots, accessibility-tree snapshots, element inspection, taps, text entry, scrolling, navigation, and assertions. It also offers visual regression, network mocking, API testing, accessibility and i18n audits, performance stats, and recording export to other test frameworks. It runs in an MCP stdio mode for IDE agents and an HTTP serve mode for CLI and CI use.
- When to use it
- Useful when you want an assistant to explore or test an app or website in plain language without writing test code, including Flutter, React Native, Electron, Tauri, Android, iOS, KMP, .NET MAUI, and general web pages. Also suited to CI pipelines and scripted browser automation through its CLI.
- Requirements
- Local process installed via npm (npm install -g flutter-skill) or Homebrew, Scoop, Docker, pub.dev, or IDE extensions. Node.js for the npm package. An app must include the matching platform SDK or be reachable over CDP; the HTTP serve mode connects to an existing Chrome. Optional FS_PORT and FS_HOST environment variables for the serve mode.
Installation
In SourceWeft
- Open Flutter Skill in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[flutter-skill CLI demo — nav, tap, type, screenshot across websites]
flutter-skill
Give any AI agent eyes and hands inside any running app.
10 platforms. Zero test code. One MCP server.
[Stars] [pub.dev] [npm] [CI] [License]
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 consider starring the repo ⭐ — it helps others find it!
30-Second Demo
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.
Why This Exists
Writing E2E tests is painful. Maintaining them is worse. flutter-skill takes a different approach:
- 🔌 Connects any AI agent (Claude, Cursor, Windsurf, Copilot, OpenClaw) directly to your running app via MCP
- 👀 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
Quick Start
1. Install (30 seconds)
2. Add to your AI (copy-paste into MCP config)
Works with Claude Desktop, Cursor, Windsurf, Copilot, Cline, OpenClaw — any MCP-compatible agent.
3. Add to your app (2 lines for Flutter)
4. Test — just talk to your AI:
"Launch my app, explore every screen, and report any bugs"
That's it. Zero configuration. Zero test code. Works in under 60 seconds.
📦 More install methods (Homebrew, Scoop, Docker, IDE, Agent Skill)
Use with AI Platforms
MCP Server Mode (IDE Integration)
Works with any MCP-compatible AI tool. One config line:
HTTP Serve Mode (CLI & Automation)
For standalone browser automation, CI/CD pipelines, or remote access:
Supports --port=N, --host=H flags and FS_PORT/FS_HOST env vars.
Two Modes Compared
Full CLI client reference: docs/CLI_CLIENT.md
10 Platforms, One Tool
Most testing tools work on 1-2 platforms. flutter-skill works on 10.
Total: 656/664 tests passing (98.8%) — each platform tested against a complex social media app with 50+ elements.
⚡ Performance
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 tokens than sending screenshots to your AI agent.
How fast is that? A tap takes 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.
Heavy DOM Sites (Real-World)
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.
Why Not Playwright / Appium / Detox?
| 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.
CLI Commands
🧠 AI-Native: 95% Fewer Tokens
Most AI testing tools send screenshots to the LLM — each one costs ~4,000 tokens.
flutter-skill uses Chrome's Accessibility Tree to give your AI a compact semantic summary of any page:
Then batch multiple actions in one call:
Result: Your AI agent tests faster, costs less, and understands pages better than screenshot-based tools.
What It Can Do
253 tools — full reference
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
API Testing: api_request, api_assert
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
CDP Browser: navigate, reload, go_forward, get_title, get_page_source, eval, get_tabs, new_tab, switch_tab, close_tab, get_cookies, set_cookie, clear_cookies, get_local_storage, set_local_storage, clear_local_storage, generate_pdf, set_viewport, emulate_device, throttle_network, go_offline, set_geolocation, set_timezone, set_color_scheme
Debug: get_logs, get_errors, get_console_messages, get_network_requests, diagnose, diagnose_project, reset_app
Platform Setup
Flutter (iOS / Android / Web)
React Native
Electron
iOS (Swift)
Android (Kotlin)
Tauri (Rust)
KMP Desktop
Add Gradle dependency — see sdks/kmp for details.
.NET MAUI
Add NuGet package — see sdks/dotnet-maui for details.
Example Prompts
Just tell your AI what to test:
Contributing
See CONTRIBUTING.md for guidelines.
Links
⭐ If flutter-skill saves you time, star it so others can find it too!
MIT License © 2025
Source: README.md at commit c31a08e
Tools
0Version history
1- v0.7.6LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts