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/serverpod/skills-registry/riverpod-testingnpx skills add serverpod/skills-registry --skill riverpod-testinggit clone --depth 1 https://github.com/serverpod/skills-registryWrote 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/serverpod/skills-registry/riverpod-testing)<a href="https://agentmods.dev/skills/serverpod/skills-registry/riverpod-testing"><img src="https://agentmods.dev/badge/skills/serverpod/skills-registry/riverpod-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 | $0.00083 | $0.00662 |
| Opus 5 | $0.00042 | $0.00331 |
| Sonnet 5 | $0.00017 | $0.00132 |
| Haiku 4.5 | $0.00008 | $0.00066 |
Grade A, and why
riverpod-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 — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Riverpod — Testing
Instructions
Riverpod is designed for testability: isolate state per test, mock via overrides, and keep the test environment close to production.
Unit tests (no Flutter)
Use ProviderContainer.test() to create a container for the test. Do not share containers between tests.
void main() {
test('Some description', () {
final container = ProviderContainer.test();
expect(container.read(provider), equals('some value'));
});
}
- container.read(provider) — Read current value.
- container.listen(provider, (prev, next) {}) — Listen and get a subscription; use subscription.read() to read. Prefer listen when the provider is auto-dispose so it is not disposed mid-test.
final subscription = container.listen<String>(provider, (_, _) {});
expect(subscription.read(), 'Some value');
Widget tests
Wrap the widget under test in ProviderScope:
testWidgets('Some description', (tester) async {
await tester.pumpWidget(
const ProviderScope(child: YourWidgetYouWantToTest()),
);
});
To interact with providers in the test, get the container with tester.container():
final container = tester.container();
expect(container.read(provider), 'some value');
Mocking providers
Use overrides on ProviderContainer or ProviderScope. All providers can be overridden without extra setup.
final container = ProviderContainer.test(
overrides: [
exampleProvider.overrideWith((ref) => 'Hello from tests'),
],
);
// Or in widget tests:
await tester.pumpWidget(
ProviderScope(
overrides: [exampleProvider.overrideWith((ref) => 'Hello from tests')],
child: const YourWidgetYouWantToTest(),
),
);
See riverpod-overrides for family overrides and other override methods.
Awaiting async providers
Read provider.future to get a Future that completes with the provider value; use with expectLater:
await expectLater(
container.read(provider.future),
completion('some value'),
);
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 · 94 lines · 83 tokens per session scan A 6780af35d6a3
riverpod-testing is a skill published in the GitHub repository serverpod/skills-registry (9 stars, last pushed 6mo ago), licensed BSD-3-Clause. It adds 83 tokens to every session and 662 once invoked, about $0.0004 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
run-helix-tests
Submit and monitor .NET MAUI unit tests on Helix infrastructure. Supports running XAML, Resizetizer, Core, Essentials, and other unit test projects on distributed Helix queues.
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.
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…
go-testing
Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.
add-go-test
Write or extend Go unit tests in this repo. Use when the user asks to add or update Go tests.