Agent skill
flutter-skill
Control and automate Flutter applications - inspect UI, perform gestures, validate state, take screenshots, and debug. Connects AI agents to running Flutter apps via Dart VM Service Protocol.
Install this agent skill to your Project
npx add-skill https://github.com/ai-dashboad/flutter-skill/tree/main/skills-submission/flutter-skill
SKILL.md
Flutter Skill
Give your AI Agent eyes and hands inside your Flutter app. This skill enables comprehensive control of Flutter applications for testing, debugging, and automation.
Installation
Option 1: npx (Recommended)
{
"flutter-skill": {
"command": "npx",
"args": ["flutter-skill"]
}
}
Option 2: Global Install
dart pub global activate flutter_skill
Then configure:
{
"flutter-skill": {
"command": "flutter_skill",
"args": ["server"]
}
}
Available Tools
Connection
connect_app- Connect to a running Flutter app via WebSocket URIlaunch_app- Launch a Flutter app with auto-setup (adds dependencies, patches main.dart)
UI Inspection
inspect- Get interactive elements (buttons, text fields, etc.)get_widget_tree- Full widget tree structure with configurable depthget_widget_properties- Widget details (size, position, visibility)get_text_content- Extract all visible text from screenfind_by_type- Find all widgets of a specific type
Interactions
tap- Tap element by key or textdouble_tap- Double tap gesturelong_press- Long press gestureswipe- Swipe up/down/left/rightdrag- Drag from one element to anotherscroll_to- Scroll element into viewenter_text- Input text into text field
State Validation
get_text_value- Get text field valueget_checkbox_state- Get checkbox checked stateget_slider_value- Get slider current valuewait_for_element- Wait for element to appear (with timeout)wait_for_gone- Wait for element to disappear
Screenshots
screenshot- Capture full app screenshot (base64 PNG)screenshot_element- Capture specific element screenshot
Navigation
get_current_route- Get current route namego_back- Navigate backget_navigation_stack- Get navigation history
Debug & Logs
get_logs- Application logsget_errors- Error messagesget_performance- Performance metricsclear_logs- Clear log bufferhot_reload- Trigger hot reload
Usage Examples
Test a Counter App
1. Launch the app: launch_app with project_path="/path/to/app"
2. Inspect UI: inspect
3. Tap increment: tap with key="increment_button"
4. Verify: get_text_content to see updated counter
Test a Login Flow
1. Enter email: enter_text with key="email_field", text="user@example.com"
2. Enter password: enter_text with key="password_field", text="password123"
3. Tap login: tap with key="login_button"
4. Wait for home: wait_for_element with key="home_screen", timeout=5000
Debug an Issue
1. Connect: connect_app with uri="ws://127.0.0.1:xxxxx/ws"
2. Check errors: get_errors
3. View logs: get_logs
4. Take screenshot: screenshot
Best Practices
Use Widget Keys
For reliable element identification, target apps should use ValueKey:
ElevatedButton(
key: const ValueKey('submit_button'),
onPressed: _submit,
child: const Text('Submit'),
)
Element Finding Priority
- Key (most reliable):
tap with key="submit_button" - Text content:
tap with text="Submit" - Widget type:
find_by_type with type="ElevatedButton"
Links
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
e2e-testing
AI-powered E2E testing for any app — Flutter, React Native, iOS, Android, Electron, Tauri, KMP, .NET MAUI. Test 8 platforms with natural language through MCP. No test code needed. Just describe what to test and the agent sees screenshots, taps elements, enters text, scrolls, and verifies UI state automatically.
verl-rl-training
Provides guidance for training LLMs with reinforcement learning using verl (Volcano Engine RL). Use when implementing RLHF, GRPO, PPO, or other RL algorithms for LLM post-training at scale with flexible infrastructure backends.
openrlhf-training
High-performance RLHF framework with Ray+vLLM acceleration. Use for PPO, GRPO, RLOO, DPO training of large models (7B-70B+). Built on Ray, vLLM, ZeRO-3. 2× faster than DeepSpeedChat with distributed architecture and GPU resource sharing.
gguf-quantization
GGUF format and llama.cpp quantization for efficient CPU/GPU inference. Use when deploying models on consumer hardware, Apple Silicon, or when needing flexible quantization from 2-8 bit without GPU requirements.
Claude Code Guide
Master guide for using Claude Code effectively. Includes configuration templates, prompting strategies "Thinking" keywords, debugging techniques, and best practices for interacting with the agent.
qdrant-vector-search
High-performance vector similarity search engine for RAG and semantic search. Use when building production RAG systems requiring fast nearest neighbor search, hybrid search with filtering, or scalable vector storage with Rust-powered performance.
Didn't find tool you were looking for?