skills-submission/flutter-skill/SKILL.md
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.
npx skillsauth add ai-dashboad/flutter-skill flutter-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Give your AI Agent eyes and hands inside your Flutter app. This skill enables comprehensive control of Flutter applications for testing, debugging, and automation.
{
"flutter-skill": {
"command": "npx",
"args": ["flutter-skill"]
}
}
dart pub global activate flutter_skill
Then configure:
{
"flutter-skill": {
"command": "flutter_skill",
"args": ["server"]
}
}
connect_app - Connect to a running Flutter app via WebSocket URIlaunch_app - Launch a Flutter app with auto-setup (adds dependencies, patches main.dart)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 typetap - 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 fieldget_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 disappearscreenshot - Capture full app screenshot (base64 PNG)screenshot_element - Capture specific element screenshotget_current_route - Get current route namego_back - Navigate backget_navigation_stack - Get navigation historyget_logs - Application logsget_errors - Error messagesget_performance - Performance metricsclear_logs - Clear log bufferhot_reload - Trigger hot reload1. 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
1. Enter email: enter_text with key="email_field", text="[email protected]"
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
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
For reliable element identification, target apps should use ValueKey:
ElevatedButton(
key: const ValueKey('submit_button'),
onPressed: _submit,
child: const Text('Submit'),
)
tap with key="submit_button"tap with text="Submit"find_by_type with type="ElevatedButton"tools
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.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.