Flutter Tester
FNOSP/FlyNarwhal
A skill your agent uses when creating, writing, fixing, or reviewing tests in a Flutter project.
Write unit, widget, and integration tests with robot patterns, widget keys, and Patrol in Flutter.
$ npx skills add HoangNguyen0403/agent-skills-standard --skill flutter-testing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HoangNguyen0403/agent-skills-standard flutter-testing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/HoangNguyen0403/agent-skills-standard.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/flutter/flutter-testing .claude/skills/flutter-testing && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "flutter-testing" agent skill from https://github.com/HoangNguyen0403/agent-skills-standard/tree/develop/skills/flutter/flutter-testing into .claude/skills/flutter-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-testing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/HoangNguyen0403/agent-skills-standard/tree/develop/skills/flutter/flutter-testingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add HoangNguyen0403/agent-skills-standard --skill flutter-testing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HoangNguyen0403/agent-skills-standard flutter-testing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HoangNguyen0403/agent-skills-standard.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/flutter/flutter-testing .agents/skills/flutter-testing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "flutter-testing" agent skill from https://github.com/HoangNguyen0403/agent-skills-standard/tree/develop/skills/flutter/flutter-testing into .agents/skills/flutter-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-testing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HoangNguyen0403/agent-skills-standard --skill flutter-testing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HoangNguyen0403/agent-skills-standard flutter-testing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HoangNguyen0403/agent-skills-standard.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/flutter/flutter-testing .cursor/skills/flutter-testing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "flutter-testing" agent skill from https://github.com/HoangNguyen0403/agent-skills-standard/tree/develop/skills/flutter/flutter-testing into .cursor/skills/flutter-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-testing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/HoangNguyen0403/agent-skills-standard.git --path skills/flutter/flutter-testing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add HoangNguyen0403/agent-skills-standard --skill flutter-testing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HoangNguyen0403/agent-skills-standard flutter-testing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HoangNguyen0403/agent-skills-standard.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/flutter/flutter-testing .gemini/skills/flutter-testing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "flutter-testing" agent skill from https://github.com/HoangNguyen0403/agent-skills-standard/tree/develop/skills/flutter/flutter-testing into .gemini/skills/flutter-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-testing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install HoangNguyen0403/agent-skills-standard flutter-testingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add HoangNguyen0403/agent-skills-standard --skill flutter-testing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HoangNguyen0403/agent-skills-standard.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/flutter/flutter-testing .github/skills/flutter-testing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "flutter-testing" agent skill from https://github.com/HoangNguyen0403/agent-skills-standard/tree/develop/skills/flutter/flutter-testing into .github/skills/flutter-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-testing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HoangNguyen0403/agent-skills-standard --skill flutter-testing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HoangNguyen0403/agent-skills-standard flutter-testing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HoangNguyen0403/agent-skills-standard.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/flutter/flutter-testing .opencode/skills/flutter-testing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "flutter-testing" agent skill from https://github.com/HoangNguyen0403/agent-skills-standard/tree/develop/skills/flutter/flutter-testing into .opencode/skills/flutter-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flutter-testing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
flutter-testingWrite unit, widget, and integration tests with robot patterns, widget keys, and Patrol in Flutter.
Flutter Testing is an agent skill from HoangNguyen0403/agent-skills-standard. Write unit, widget, and integration tests with robot patterns, widget keys, and Patrol in Flutter. Use when implementing test behavior; defer CI-only configuration without test changes.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including reference files (for example `evals/evals.json`, `references/REFERENCE.md` and `references/bloc-testing.md`).
It sits in Mobile, covering Cross-platform mobile apps and Integration testing. It works with Flutter. The repository describes itself as: A collection of Agent Skills Standard and Best Practice for Programming Languages, Frameworks that help our AI Agent follow best practies on frameworks and programming laguages. The licence is MIT.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b529c2d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
flutterFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Flutter Testing loads about 1.4k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 50 tokens; SKILL.md has 581 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from HoangNguyen0403/agent-skills-standard at commit b529c2d, republished under its MIT licence (© HoangNguyen0403). 581 words, ~1,363 tokens.
.claude/skills/flutter-testing/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.The Four Pillars provide a qualitative reasoning framework to assess test value:
Avoid calculating or inventing arbitrary numeric scores (e.g. $P \times R \times F \times M$) statically without measured mutation or runtime evidence.
[MOB-TEST-01] Tripartite Naming: Name tests Method_Scenario_ExpectedBehavior.[MOB-TEST-02] BLoC State Invariant Rule: Assert state transitions using isA<State>().having(...) predicates; BAN full copyWith mirrors.[MOB-TEST-03] Entity Invariant & Serialization Rule: Test calculations, validations, domain invariants, and non-trivial serialization/parsing or error mapping. BAN testing generated code, trivial getters/setters, props, or echo tests (expect(item.discount, equals(5))) where the test merely repeats literal assignments.[MOB-TEST-04] Contract Testing Rule: Repositories and data sources must be tested for contract compliance, golden JSON parsing, and error mapping. BAN 1:1 pass-through mock echoing (when(() => dataSource.get()).thenAnswer((_) async => x); expect(await repo.get(), x)).[MOB-TEST-05] Bug-First Regression Lock: Every PR fixing a bug ticket or with title fix(...) must introduce a failing test reproducing the defect before fixing it.[MOB-TEST-01] (Method_Scenario_ExpectedBehavior).OrderBuilder); avoid brittle shared global mocks._integration_test.dart ONLY in integration_test/.BaseRobot) — never raw find.*/expect() in test body. Use WidgetKeys constants from lib/core/keys/.expectXxxNotVisible() in robot only when absence is part of the business contract (e.g. restricted action hidden), not blanket pairs for unrelated content.TestWrapper.init() and tester.pumpLocalizedWidget(...). Register mock BLoCs with GetIt in setUpAll; stub state and stream in setUp (use whenListen and settle: false for loading/transition states). Prohibit any().patrolTest with IntegrationAuthHelper.loginOrSkip($) for auth flows and native interactions ($.native.*).[MOB-TEST-01] Vague names: Banish non-descriptive names (testCart).[MOB-TEST-02] Brittle state mirrors: Ban 30-property copyWith trees in blocTest; use isA<State>().having(...).[MOB-TEST-03] Entity echo tests: Ban asserting trivial field assignments or auto-generated boilerplate (discount: 5). Meaningful serialization/parsing error handling remains valid.[MOB-TEST-04] Pass-through mock echoing: Ban 1:1 repository-to-datasource pass-through mocks without contract assertions.[MOB-TEST-05] Missing bug reproduction: Ban bug fix PRs without reproduction tests.WidgetKeys constant. No any(): Use typed matchers.test/shared/. No missing bloc stub: Stub state + stream.find.*/expect() to robot. No raw find in integration tests..toUpperCase(), .tr() in source.isA<State>().having(...).patrolTest.flutter test passes.When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:
GetIt in setUpAll before building the widget under test.© HoangNguyen0403, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (references) in skills/flutter/flutter-testing of HoangNguyen0403/agent-skills-standard.
Open the folder on GitHubat commit b529c2d
Flutter Testing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Flutter Testing this skillHoangNguyen0403/agent-skills-standard | 572 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Flutter TesterFNOSP/FlyNarwhal | 509 | — | ~1.4k | Automated safety check: Pass | AGPL-3.0 | |
| Testing Strategybladeofgod/flutter-ai-harness | 116 | — | ~268 | Automated safety check: Pass | MIT | |
| Flutter TestingMADTeacher/mad-agents-skills | 110 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Mobile Testingirahardianto/awesome-agv | 156 | — | ~1.8k | Automated safety check: Notes | MIT | |
| Flutter Add Integration Testabdulmominsakib/localmind | 268 | — | ~1.8k | Automated safety check: Pass | MIT |
FNOSP/FlyNarwhal
A skill your agent uses when creating, writing, fixing, or reviewing tests in a Flutter project.
bladeofgod/flutter-ai-harness
适用:编写或审查 Dart 单测、Flutter Widget 测试、Route 测试、集成测试、Fake 或 Mocktail Mock。不适用:Kotlin/Swift 测试框架,也不替代生产实现。触发词:testWidgets、flutter test、Mocktail、Fake、Get.reset、integrationtest、coverage、flaky。
MADTeacher/mad-agents-skills
Write, fix, review, debug, and validate Flutter tests for apps, packages, and plugins.
irahardianto/awesome-agv
Mobile E2E testing patterns — Flutter integrationtest, Patrol, Maestro, golden testing, device matrix, and test data management.
abdulmominsakib/localmind
Configures Flutter Driver for app interaction and converts MCP actions into permanent integration tests.
btwld/superdeck
Implements unit, widget, and integration tests for a Flutter app.
HoangNguyen0403/agent-skills-standard
Runs a multi-task implementation plan by sending each task to a fresh implementer subagent, reviewing it independently, then reviewing the whole branch.
HoangNguyen0403/agent-skills-standard
Draws architecture diagrams as editable draw.io files from a JSON spec, with a fixed house style, one C4 level per diagram and evidence-tagged shapes.
HoangNguyen0403/agent-skills-standard
Implements and migrates to Jetpack Navigation 3 in Compose: NavDisplay, typed route objects, a state-list back stack, deep links, multiple back stacks and dialog scenes.
HoangNguyen0403/agent-skills-standard
Sets rules for Angular HTTP code: functional interceptors, typed requests, services that own every call, and httpResource for reactive data loading in Angular 17+.
HoangNguyen0403/agent-skills-standard
Angular CLI usage, code generation, build configuration, and bundle optimization.
HoangNguyen0403/agent-skills-standard
Conduct high-quality, persona-driven code reviews. An agent skill from HoangNguyen0403/agent-skills-standard.
Works with
Categories
Write unit, widget, and integration tests with robot patterns, widget keys, and Patrol in Flutter. Flutter Testing is an agent skill from HoangNguyen0403/agent-skills-standard. Write unit, widget, and integration tests with robot patterns, widget keys, and Patrol in Flutter.
Flutter Testing fits situations like: implementing test behavior; defer CI-only configuration without test changes.
Run `npx skills add HoangNguyen0403/agent-skills-standard --skill flutter-testing -a claude-code`. Or copy the skill folder (skills/flutter/flutter-testing in HoangNguyen0403/agent-skills-standard) into .claude/skills/flutter-testing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HoangNguyen0403/agent-skills-standard --skill flutter-testing -a codex`. Or copy the skill folder (skills/flutter/flutter-testing in HoangNguyen0403/agent-skills-standard) into .agents/skills/flutter-testing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HoangNguyen0403/agent-skills-standard --skill flutter-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flutter-testing, .gemini/skills/flutter-testing, .github/skills/flutter-testing and .opencode/skills/flutter-testing in your project.
Going by SKILL.md and its folder, Flutter Testing needs the command-line tools its instructions call (flutter).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Flutter Testing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 10k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Flutter Testing: Flutter Tester (FNOSP/FlyNarwhal, 509 stars), Testing Strategy (bladeofgod/flutter-ai-harness, 116 stars), Flutter Testing (MADTeacher/mad-agents-skills, 110 stars) and Mobile Testing (irahardianto/awesome-agv, 156 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HoangNguyen0403 (a GitHub user) maintains it in HoangNguyen0403/agent-skills-standard, which has 572 GitHub stars. The repository holds 211 skills in this directory. The repository was last updated on October 9, 2026.
Source: HoangNguyen0403/agent-skills-standard on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.