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/metaschema-framework/claude-plugins/unit-test-writingnpx skills add metaschema-framework/claude-plugins --skill unit-test-writinggit clone --depth 1 https://github.com/metaschema-framework/claude-pluginsWrote 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/metaschema-framework/claude-plugins/unit-test-writing)<a href="https://agentmods.dev/skills/metaschema-framework/claude-plugins/unit-test-writing"><img src="https://agentmods.dev/badge/skills/metaschema-framework/claude-plugins/unit-test-writing.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.00024 | $0.01129 |
| Opus 5 | $0.00012 | $0.00564 |
| Sonnet 5 | $0.00005 | $0.00226 |
| Haiku 4.5 | $0.00002 | $0.00113 |
Grade A, and why
unit-test-writing 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 — 186 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Unit Test Writing Skill
When to Use
- Writing new unit tests
- Expanding test coverage on existing code
- Reviewing test completeness
Edge Case Checklist
Create TodoWrite items for each applicable category:
| Category | Examples | Check |
|---|---|---|
| Empty/Null | Empty string, null reference, empty collection | ☐ |
| Boundaries | Zero, negative, max int, min int, boundary values | ☐ |
| Invalid | Wrong type, malformed input, out of range | ☐ |
| Missing | Required field absent, partial data, missing nested element | ☐ |
| Duplicates | Repeated values, duplicate keys | ☐ |
| Ordering | First, last, middle, unsorted | ☐ |
| Concurrency | Race conditions, thread safety (if applicable) | ☐ |
| State | Uninitialized, already processed, closed | ☐ |
| Combinations | Multiple flags, conflicting options | ☐ |
Configuration/Parsing Edge Cases
When testing XML/JSON/YAML configuration loading, always test:
| Scenario | Test Case | Expected |
|---|---|---|
| Missing optional child | Parent element exists, optional child absent | Null or default value |
| Empty element | <element/> or <element></element> |
Empty string or null |
| Unknown module | Query from module not in config | Null, not exception |
| Unknown definition | Query definition not in config | Null, not exception |
| Partial config | Some fields present, others missing | Only specified fields set |
| Multiple types | Same pattern for different parent types (assembly vs field) | Both work correctly |
Example edge case test structure:
@Test
void testMissingOptionalElement() throws IOException {
// Load config with element that has no optional child
config.load(new File("edge-cases.xml"));
// Query should return null, not throw
IPropertyBindingConfiguration result = config.getPropertyBindingConfiguration(definition, "missing-child");
assertNull(result, "Missing optional element should return null");
}
Coverage Expansion Workflow
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 · 186 lines · 24 tokens per session scan A 26d990b25f9b
unit-test-writing is a skill published in the GitHub repository metaschema-framework/claude-plugins (10 stars, last pushed 6mo ago), licensed CC0-1.0. It adds 24 tokens to every session and 1,129 once invoked, about $0.0001 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.