flutter-skill-testing
Original:🇺🇸 English
Translated
AI-powered E2E testing for any app. Test 8 platforms with natural language — no test code needed.
18installs
Added on
NPX Install
npx skill4agent add ai-dashboad/flutter-skill flutter-skill-testingTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Flutter Skill — AI E2E Testing
Give your AI agent eyes and hands inside any running app.
Description
This skill teaches you how to use flutter-skill to perform end-to-end testing on running applications across 8 platforms: Flutter, iOS, Android, Web, Electron, Tauri, KMP Desktop, React Native, and .NET MAUI.
flutter-skill is an MCP server that connects AI agents to running apps via a bridge protocol. The agent can see screenshots, tap elements, enter text, scroll, navigate, and verify UI state — all without writing test code.
Install
bash
npm install -g flutter-skillMCP Configuration
Add to your MCP config (Claude Desktop, Cursor, Windsurf, etc.):
json
{
"mcpServers": {
"flutter-skill": {
"command": "flutter-skill",
"args": ["server"]
}
}
}Available Tools
| Tool | Description |
|---|---|
| Capture current screen state |
| Tap an element by key or text |
| Type text into a field |
| Scroll in any direction |
| Navigate back |
| Inspect element details |
| Wait for element to appear |
| List all interactive elements |
| Swipe gesture |
| Long press an element |
| Drag from one point to another |
| Replace text in a field |
| Clear a text field |
How to Test an App
Step 1: Launch the app
bash
flutter-skill launch /path/to/your/appStep 2: Ask your AI agent to test it
Just describe what to test in natural language:
"Test the login flow — enter test@example.com and password123, tap Login, verify Dashboard appears"
The agent will:
- → see the current screen
screenshot() - → type email
enter_text("email", "test@example.com") - → type password
enter_text("password", "password123") - → tap the button
tap("Login") - → verify navigation
wait_for_element("Dashboard") - → confirm final state
screenshot()
Step 3: Complex testing
For comprehensive testing, describe the full flow:
"Explore every screen of this app. Test all buttons, forms, navigation, and edge cases. Report any bugs."
The agent will systematically navigate every screen, interact with every element, and report findings.
Best Practices
- Always start with — see what's on screen before acting
screenshot() - Use after navigation — apps need time to transition
wait_for_element() - Use when unsure — discover available interactive elements
get_elements() - Take screenshots after actions — verify the action had the expected effect
- Use element keys when available — more reliable than text matching
Supported Platforms
| Platform | SDK Setup |
|---|---|
| Flutter | |
| iOS (Swift) | Add |
| Android (Kotlin) | Add |
| React Native | |
| Electron | |
| Tauri | |
| KMP Desktop | Add Gradle dependency |
| .NET MAUI | Add NuGet package |