Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/ai-dashboad/flutter-skill/e2e-testingnpx skills add ai-dashboad/flutter-skill --skill e2e-testinggit clone --depth 1 https://github.com/ai-dashboad/flutter-skillWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00107 | $0.01508 |
| Opus 5 | $0.00053 | $0.00754 |
| Sonnet 5 | $0.00021 | $0.00302 |
| Haiku 4.5 | $0.00011 | $0.00151 |
Grade A, and why
e2e-testing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 171 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AI E2E Testing — 8 Platforms, Zero Test Code
flutter-skill is an MCP server that connects AI agents to running apps across 8 platforms. The agent takes screenshots, taps elements, enters text, scrolls, navigates, inspects UI trees, and verifies state — all through natural language.
Supported Platforms
| Platform | Setup |
|---|---|
| Flutter (iOS/Android/Web) | flutter pub add flutter_skill |
| React Native | npm install flutter-skill-react-native |
| Electron | npm install flutter-skill-electron |
| iOS (Swift/UIKit) | SPM: FlutterSkillSDK |
| Android (Kotlin) | Gradle: flutter-skill-android |
| Tauri (Rust) | cargo add flutter-skill-tauri |
| KMP Desktop | Gradle dependency |
| .NET MAUI | NuGet package |
Install
# npm (recommended)
npm install -g flutter-skill
# Homebrew
brew install ai-dashboad/flutter-skill/flutter-skill
# Or download binary from GitHub Releases
MCP Configuration
Add to your AI agent's MCP config (Claude Desktop, Cursor, Windsurf, OpenClaw, etc.):
{
"mcpServers": {
"flutter-skill": {
"command": "flutter-skill",
"args": ["server"]
}
}
}
Quick Start
1. Initialize your app (one-time)
flutter-skill init
Auto-detects project type and patches your app with the testing bridge.
Verify: Output should confirm the project type was detected and main entry point was patched. If it fails, check that you are in the project root and the framework is supported.
2. Launch and connect
flutter-skill launch .
Verify: A VM Service URI appears in the output (e.g. ws://127.0.0.1:50000/ws). If no URI appears, check that Flutter/the target framework is installed and the app compiles.
3. Test with natural language
The agent follows this core loop:
screenshot()— see the current screeninspect_interactive()— discover all tappable/typeable elements with semantic refstap(ref: "button:Login")— tap using stable semantic referenceenter_text(ref: "input:Email", text: "[email protected]")— type into fieldwait_for_element(key: "Dashboard")— verify navigation succeededscreenshot()— confirm final state
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 171 lines · 107 tokens per session scan A 277057a71e1b
e2e-testing is a skill published in the GitHub repository ai-dashboad/flutter-skill (362 stars, last pushed 12d ago), licensed MIT. It adds 107 tokens to every session and 1,508 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
browser-testing-with-devtools
Tests in real browsers via Chrome DevTools MCP. Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console errors, analyze network requests, profile performance, or verify visual output with real runtime data. Requires the chrome-devtools MCP server to be…
bump-android-version
Use when bumping Maestro's Android compileSdk/targetSdk to a new API level and validating end-to-end against the test-e2e GHA workflow until the test-android job is green.
docs-build
Build, preview, and validate the Uno documentation website (DocFX) locally — surface real content errors vs expected noise, drive rendered pages with Playwright, and validate external-doc commit bumps in importexternaldocs.ps1 before a PR. Use when working under doc/, editing articles/ markdown, bumping an external…
solopi-ai
通过 SoloPi 的机器可读 CLI 编译和执行 AI 验证计划,管理签名端侧 ExecuTorch 决策模型、持久设备池、无人值守任务、安卓设备、应用、动作、配置、用例步骤与交互录制、回放及性能历史、动态 Agent、批量与重复执行、性能监控、压力测试和证据。适用于需求/AC 到 Result Judge 三态结论、cloud/on-device 决策切换、模型发布门禁,以及 generation 租约的多设备 CI 执行。.
argent-test-ui-flow
Autonomously test an app UI (iOS or Android) by running interact-screenshot-verify loops using argent MCP tools. Use when testing UI flows, verifying login works, testing navigation, running end-to-end UI test scenarios, manual QA steps, visible UI changes, or visual behavior.
mobile-automation
Control Android and iOS devices, emulators and simulators — launch apps, tap, swipe, type, take screenshots, read the accessibility tree. Use when a task involves a mobile device or app, mobile UI testing, or reproducing a bug on a phone.