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 skills add perniemann/pnCore --skill pn-testing-strategygit clone --depth 1 https://github.com/perniemann/pnCoreWrote 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/perniemann/pncore/pn-testing-strategy)<a href="https://agentmods.dev/skills/perniemann/pncore/pn-testing-strategy"><img src="https://agentmods.dev/badge/skills/perniemann/pncore/pn-testing-strategy/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/perniemann/pncore/pn-testing-strategy"><img src="https://agentmods.dev/badge/skills/perniemann/pncore/pn-testing-strategy.svg" alt="Reviewed on agentmods" width="80" 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.00046 | $0.00834 |
| Opus 5.5 | $0.00018 | $0.00334 |
| Sonnet 5.5 | $0.00009 | $0.00167 |
| Haiku 4.5 | $0.00005 | $0.00083 |
Grade A, and why
pn-testing-strategy 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 1mo 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 — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Testing strategy
This SKILL.md is a router; load reference.md only when that workflow is active.
When to use
- Deciding which types of tests to write for a new feature
- Reviewing a test suite for gaps, redundancy, or flakiness
- Setting up a project's test infrastructure from scratch
- Choosing between Vitest, Playwright, MSW, or other test tools
- Adding contract testing to a multi-service architecture
For full setup code, config examples, and CI configuration, see reference.md.
The testing pyramid
/\
/E2E\ few, high-confidence, slow
/------\
/ Integ \ moderate, key user flows
/------------\
/ Unit \ many, fast, isolated
/----------------\
| Layer | Target share | Tools | Speed | Confidence |
|---|---|---|---|---|
| Unit | 60–70% | Vitest | < 1ms per test | Logic correctness |
| Integration | 20–30% | Vitest + real DB / MSW | 10–100ms | Boundary contracts |
| E2E | 5–10% | Playwright | 1–30s | Full user journeys |
Anti-pattern — the ice-cream cone: too many E2E tests, few units. Result: slow CI, brittle tests, hard to pinpoint failures.
Tool decision matrix
| Need | Tool | Notes |
|---|---|---|
| Unit tests (JS/TS) | Vitest | Fast, native ESM, compatible with Jest API |
| React component tests | Vitest + Testing Library | @testing-library/react for user-centric assertions |
| Server-side API tests | Vitest + supertest | Test handlers in-process; no network overhead |
| Mock HTTP requests | MSW | Intercepts at the network level; works in browser + Node |
| E2E / browser tests | Playwright | Multi-browser, reliable, built-in tracing |
| Visual regression | Playwright + screenshots or Chromatic | Catch unintended UI changes |
| Contract testing | Pact or OpenAPI test | Verify consumer/provider contracts |
What to write for each layer
Unit tests — always write for:
- Pure functions with business logic
- Utility functions (formatting, validation, calculation)
- State machines and reducers
- Individual React components (behaviour, not snapshot)
What ships with it
1 file 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.
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.
- 1mo ago Changed · +2 lines 38524e5e1049
- 1mo ago First seen · 84 lines · 46 tokens per session scan A 490d25e098d8
pn-testing-strategy is a skill published in the GitHub repository perniemann/pnCore (0 stars, last pushed yesterday), licensed MIT. It adds 46 tokens to every session and 834 once invoked, about $0.0002 per session on Opus 5.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-09-03.
Other skills, from other repositories
testing
Use when writing or reviewing Flutter/Dart tests (unit, widget, golden), fixing flaky tests, adding coverage, or choosing between unit and widget tests.
testing-patterns
Redirect — testing-patterns was split into 5 focused sub-skills. Use when looking for testing-patterns, writing tests, or test automation. Redirects to testing-unit, testing-e2e, testing-integration, testing-llm, or testing-perf.
continuous-testing
Continuous test-driven development loop — after every code change, builds the project, starts the server, and runs Unit Tests, Integration Tests, and System Tests. Applies on top of microprofile-server skill. Use during development when you want full verification after each change. Triggers on "continuous testing"…
testing-patterns
Testing patterns and principles. Unit, integration, mocking strategies.
javascript-testing-patterns
Implement comprehensive testing strategies using Jest, Vitest, and Testing Library for unit tests, integration tests, and end-to-end testing with mocking, fixtures, and test-driven development. Use when writing JavaScript/TypeScript tests, setting up test infrastructure, or implementing TDD/BDD workflows.
verify-omnigent
Drive Omnigent the way a user does and prove a behavior with recorded evidence, using an isolated server, runner, and mock model plus a feature map of every user entry point. Load before reproducing a user-facing bug, before claiming a fix works, or when reviewing whether a change covered every surface (session vs.…