Write unit, widget, and integration tests with robot patterns, widget keys, and Patrol in Flutter.

MITAuto-check passedMobile

Install Flutter Testing

skills CLI
$ npx skills add HoangNguyen0403/agent-skills-standard --skill flutter-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install HoangNguyen0403/agent-skills-standard flutter-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
flutter-testing
GitHub stars
572
Token cost
~1.4k tokens
SKILL.md length
581 words
Files
11 (incl. references)
Skills in repo
211
Repo updated
First seen
Licence
MIT

At a glance

Write unit, widget, and integration tests with robot patterns, widget keys, and Patrol in Flutter.

  • Works in 9 steps: Test Pyramid: Unit > Widget > Integration. → Naming: Follow [MOB-TEST-01]… → AAA: Arrange, Act, Assert in all tests. → …
  • Implementing test behavior
  • SKILL.md covers Priority: P0 (CRITICAL), The Four-Pillar Test Value…, Core Rule Anchors and Core Rules, plus 3 more sections
  • Calls flutter

What it does

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.

When your agent uses it

  • Implementing test behavior
  • Defer CI-only configuration without test changes

Example prompts

  • “/flutter-testing”

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Test Pyramid: Unit > Widget > Integration.
  2. Naming: Follow [MOB-TEST-01] (Method_Scenario_ExpectedBehavior).
  3. AAA: Arrange, Act, Assert in all tests.
  4. Isolated Builders: Fluent builders when setup complexity warrants (OrderBuilder); avoid brittle shared global mocks.
  5. File Placement: _integration_test.dart ONLY in integration_test/.
  6. Robot-First: All UI assertions/interactions via Robot pattern (extending BaseRobot) — never raw find.*/expect() in test body. Use…
  7. Negative Assertions: Add expectXxxNotVisible() in robot only when absence is part of the business contract (e.g. restricted action…
  8. Widget Testing & Mocking: Setup with TestWrapper.init() and tester.pumpLocalizedWidget(...). Register mock BLoCs with GetIt in setUpAll…
  9. Integration Testing: Use patrolTest with IntegrationAuthHelper.loginOrSkip($) for auth flows and native interactions ($.native.*).

What it can do on your machine

Read from SKILL.md and the folder at commit b529c2d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • flutter

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~50
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~11k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from HoangNguyen0403/agent-skills-standard at commit b529c2d, republished under its MIT licence (© HoangNguyen0403). 581 words, ~1,363 tokens.

Download SKILL.mdSave it as .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.
name
flutter-testing
description
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.

Flutter Testing Standards

Priority: P0 (CRITICAL)

The Four-Pillar Test Value Framework

The Four Pillars provide a qualitative reasoning framework to assess test value:

  • Protection against Regressions ($P$): Catches real defects; evaluated qualitatively or via mutation kill score. A test that passes when defects exist has zero protection.
  • Resistance to Refactoring ($R$): Decoupled from implementation details; zero false alarms on internal refactorings or domain additions. Tests coupled to private state or mock sequences score low on resistance.
  • Fast Feedback ($F$): Executes in milliseconds; rapid local TDD feedback loop.
  • Maintainability ($M$): Clean AAA structure, fluent test data builders when setup repetition obscures intent, high readability, zero boilerplate duplication.

Avoid calculating or inventing arbitrary numeric scores (e.g. $P \times R \times F \times M$) statically without measured mutation or runtime evidence.

Core Rule Anchors

  • [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.

Core Rules

  1. Test Pyramid: Unit > Widget > Integration.
  2. Naming: Follow [MOB-TEST-01] (Method_Scenario_ExpectedBehavior).
  3. AAA: Arrange, Act, Assert in all tests.
  4. Isolated Builders: Fluent builders when setup complexity warrants (OrderBuilder); avoid brittle shared global mocks.
  5. File Placement: _integration_test.dart ONLY in integration_test/.
  6. Robot-First: All UI assertions/interactions via Robot pattern (extending BaseRobot) — never raw find.*/expect() in test body. Use WidgetKeys constants from lib/core/keys/.
  7. Negative Assertions: Add expectXxxNotVisible() in robot only when absence is part of the business contract (e.g. restricted action hidden), not blanket pairs for unrelated content.
  8. Widget Testing & Mocking: Setup with 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().
  9. Integration Testing: Use patrolTest with IntegrationAuthHelper.loginOrSkip($) for auth flows and native interactions ($.native.*).
Show full SKILL.md (201 more words)Show less

Anti-Patterns & Banned Smells

  • [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.
  • No blanket negative assertions: Avoid asserting absence of unrelated content.
  • No inline Key: Use WidgetKeys constant. No any(): Use typed matchers.
  • No local mocks: Use test/shared/. No missing bloc stub: Stub state + stream.
  • No test-body logic: Move find.*/expect() to robot. No raw find in integration tests.
  • No unchecked text casing: Verify .toUpperCase(), .tr() in source.

Verification

  • Repositories use fakes over mocks where appropriate.
  • Distinct BLoC/ViewModel behaviors covered (loading, success, error) with isA<State>().having(...).
  • Views with distinct UI logic tested via Robot pattern at proper layer.
  • Critical user flows have at least one integration test using patrolTest.
  • flutter test passes.

Canonical response anchors

When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:

  • GetIt registration
  • Register the mock with GetIt in setUpAll before building the widget under test.
  • native interactions

© HoangNguyen0403, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (references) in skills/flutter/flutter-testing of HoangNguyen0403/agent-skills-standard.

  • SKILL.md
  • evals/evals.json
  • references/REFERENCE.md
  • references/bloc-testing.md
  • references/integration-testing.md
  • references/mocking_standards.md
  • references/robot-pattern.md
  • references/test-organization.md
  • references/unit-testing.md
  • references/widget-keys.md
  • references/widget-testing.md

Open the folder on GitHubat commit b529c2d

Compare with similar skills

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.

Flutter Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Flutter Testing this skillHoangNguyen0403/agent-skills-standard572—~1.4kAutomated safety check: PassMIT
Flutter TesterFNOSP/FlyNarwhal509—~1.4kAutomated safety check: PassAGPL-3.0
Testing Strategybladeofgod/flutter-ai-harness116—~268Automated safety check: PassMIT
Flutter TestingMADTeacher/mad-agents-skills110—~1.5kAutomated safety check: PassMIT
Mobile Testingirahardianto/awesome-agv156—~1.8kAutomated safety check: NotesMIT
Flutter Add Integration Testabdulmominsakib/localmind268—~1.8kAutomated safety check: PassMIT

Similar skills

  • Flutter Tester

    FNOSP/FlyNarwhal

    A skill your agent uses when creating, writing, fixing, or reviewing tests in a Flutter project.

    509 GitHub stars~1.4k tokensUpdated 2 days ago
    MobileAuto-check passed
  • Testing Strategy

    bladeofgod/flutter-ai-harness

    适用:编写或审查 Dart 单测、Flutter Widget 测试、Route 测试、集成测试、Fake 或 Mocktail Mock。不适用:Kotlin/Swift 测试框架,也不替代生产实现。触发词:testWidgets、flutter test、Mocktail、Fake、Get.reset、integrationtest、coverage、flaky。

    116 GitHub stars~268 tokensUpdated 1 mo ago
    MobileAuto-check passed
  • Flutter Testing

    MADTeacher/mad-agents-skills

    Write, fix, review, debug, and validate Flutter tests for apps, packages, and plugins.

    110 GitHub stars~1.5k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Mobile Testing

    irahardianto/awesome-agv

    Mobile E2E testing patterns — Flutter integrationtest, Patrol, Maestro, golden testing, device matrix, and test data management.

    156 GitHub stars~1.8k tokensUpdated 6 days ago
    Testing & QAAuto-check: notes
  • Flutter Add Integration Test

    abdulmominsakib/localmind

    Configures Flutter Driver for app interaction and converts MCP actions into permanent integration tests.

    268 GitHub stars~1.8k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Flutter Testing Apps

    btwld/superdeck

    Implements unit, widget, and integration tests for a Flutter app.

    130 GitHub stars~2.2k tokensUpdated yesterday
    Testing & QAAuto-check passed

More from HoangNguyen0403/agent-skills-standard

All 211 skills in this repo
  • Subagent-Driven Development

    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.

    572 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • draw.io Architecture Diagramming

    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.

    572 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Android Navigation 3 Guide

    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.

    572 GitHub stars~687 tokensUpdated yesterday
    Auto-check passed
  • Angular HttpClient Standards

    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+.

    572 GitHub stars~652 tokensUpdated yesterday
    Auto-check passed
  • Angular Tooling

    HoangNguyen0403/agent-skills-standard

    Angular CLI usage, code generation, build configuration, and bundle optimization.

    572 GitHub stars~743 tokensUpdated yesterday
    Auto-check passed
  • Common Code Review

    HoangNguyen0403/agent-skills-standard

    Conduct high-quality, persona-driven code reviews. An agent skill from HoangNguyen0403/agent-skills-standard.

    572 GitHub stars~772 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Flutter Testing

What does Flutter Testing do?

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.

When should I use Flutter Testing?

Flutter Testing fits situations like: implementing test behavior; defer CI-only configuration without test changes.

How do I install Flutter Testing in Claude Code?

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.

How do I install Flutter Testing in Codex?

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.

Can I use Flutter Testing in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Flutter Testing need to run?

Going by SKILL.md and its folder, Flutter Testing needs the command-line tools its instructions call (flutter).

Does Flutter Testing access the network?

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.

Is Flutter Testing safe to install?

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.

What licence does Flutter Testing use?

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.

How many tokens does Flutter Testing use?

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.

What are the alternatives to Flutter Testing?

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.

Who maintains Flutter Testing?

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.