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/jyotiraditya-chauhan/test-kit/flutter-testingnpx skills add jyotiraditya-chauhan/test-kit --skill flutter-testinggit clone --depth 1 https://github.com/jyotiraditya-chauhan/test-kitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jyotiraditya-chauhan/test-kit/flutter-testing)<a href="https://agentmods.dev/skills/jyotiraditya-chauhan/test-kit/flutter-testing"><img src="https://agentmods.dev/badge/skills/jyotiraditya-chauhan/test-kit/flutter-testing.svg" alt="Measured on agentmods" height="20"></a>What 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.1 | $0.00096 | $0.02842 |
| Opus 5 | $0.00048 | $0.01421 |
| Sonnet 5 | $0.00019 | $0.00568 |
| Haiku 4.5 | $0.00010 | $0.00284 |
Grade A, and why
flutter-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 5d 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 — 217 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Flutter Testing
Writes unit, widget, golden, and integration tests that match this project's existing state-management, mocking, and directory conventions. Writing correct, well-structured test files is the deliverable. Running the suite and verifying it — including the fault-injection self-check — is a separate, optional step this skill offers but never runs without being asked. See Step 6.
Progress checklist
Copy this into your response and check items off as you go:
- [ ] 1. Detect stack (scripts/detect_stack.sh)
- [ ] 2. Audit project structure and existing test conventions
- [ ] 3. Ask the user what to test (layer + scope) — do not assume
- [ ] 4. State the test plan explicitly
- [ ] 5. Generate tests following AAA, boundary-only mocking
- [ ] 6. Report what was written; offer to run + verify — do not run yet
- [ ] 7. Only if asked: run tests, fault-injection self-check, report results
Step 1 — Detect stack
Run scripts/detect_stack.sh from the project root. It confirms this is a
Flutter project and reports which state-management package, mocking
library, golden-test helper, and Firebase fakes are already declared in
pubspec.yaml, plus whether test/ already exists and mirrors lib/.
If a test framework or mocking library is already in use, follow it even if a different tool is this skill's default recommendation. Never introduce a second, competing library into a project that already picked one.
Step 2 — Audit project structure
Before writing anything:
- Classify the target code: pure business logic (services, repositories, use-cases) vs UI layer (widgets) vs data-access (Firebase, API clients) vs cross-cutting (routing, DI). This decides the test type — don't default to a widget test for logic that's dressed up inside a widget file; if the architecture allows extracting it into a plain testable class/function, say so in the plan (Step 4) rather than testing it in place.
- Confirm the state-management package via reference/state-management.md and select the matching harness pattern — never generate a BLoC-style test for a Riverpod provider or vice versa.
- Match the existing
test/naming convention exactly (does it mirrorlib/file-for-file already?).scripts/scaffold_test_file.shcreates a correctly-mirrored, non-destructive stub for a new test file if useful. - Flag critical paths — authentication, payment/billing, any data-write operation, anything touching an external paid/rate-limited service — for elevated rigor (more edge cases; these are the tests where, if the user opts into verification in Step 7, the fault-injection check is mandatory rather than optional) even if the user's request was narrower. State this flag out loud; do not silently expand scope beyond what was asked.
What ships with it
11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- evals/evals.json 8.1 KB
- reference/ci-and-distribution.md 1.6 KB
- reference/firebase.md 2.5 KB
- reference/golden-tests.md 3.2 KB
- reference/integration-testing.md 2.7 KB
- reference/state-management.md 3.5 KB
- reference/unit-testing.md 2.2 KB
- reference/verification.md 3.5 KB
- reference/widget-testing.md 3.1 KB
- scripts/detect_stack.sh 2.6 KB runs code
- scripts/scaffold_test_file.sh 1.6 KB runs code
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.
- 5d ago First seen · 217 lines · 96 tokens per session scan A d4cb67d4d353
flutter-testing is a skill published in the GitHub repository jyotiraditya-chauhan/test-kit (4 stars, last pushed 16d ago), licensed MIT. It adds 96 tokens to every session and 2,842 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-31.
Other skills, from other repositories
migrate-xunit-to-xunit-v3
Migrate .NET test projects from xUnit.net v2 to xunit.v3 and fix v3 breaks. Use for package/CPM conversion, OutputType=Exe, preserving the VSTest or MTP runner (including projects currently using YTest.MTP.XUnit2), incompatible TFMs, async void tests, string-to-Type attributes, custom Fact/Theory/BeforeAfterTest…
nunit-testing
Use when writing or modifying tests in NUnit's own test projects, or when making a behavioral change to production code that needs test coverage. Covers test structure, attribute choice, helper visibility, platform guards, and which test projects are real.
go-testing
Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.
detect-flaky-tests
Detects flaky Go tests by analyzing GitHub Actions workflow runs across the last 7 days and all PRs — covering both the run-tests job (unit/integration) and the e2e-test job (gVisor and microVM lanes). For each newly-detected flaky test or infra issue, opens a GitHub issue with full evidence and a draft fix PR. Does…
add-go-test
Write or extend Go unit tests in this repo. Use when the user asks to add or update Go tests.
dart-test
DART Test: unit tests, integration tests, CI validation, and debugging.