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 jyotiraditya-chauhan/test-kit --skill nextjs-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/nextjs-testing)<a href="https://agentmods.dev/skills/jyotiraditya-chauhan/test-kit/nextjs-testing"><img src="https://agentmods.dev/badge/skills/jyotiraditya-chauhan/test-kit/nextjs-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.00106 | $0.02330 |
| Opus 5 | $0.00053 | $0.01165 |
| Sonnet 5 | $0.00021 | $0.00466 |
| Haiku 4.5 | $0.00011 | $0.00233 |
Grade A, and why
nextjs-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 7d 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 — 191 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Next.js Testing
Writes tests for Next.js projects, splitting work across a hard boundary: Vitest for anything that doesn't require rendering an async Server Component, Playwright for everything that does. Getting this boundary wrong is the single most common Next.js testing mistake — see reference/async-server-components.md before writing anything. Writing the 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 + router (scripts/detect_stack.sh)
- [ ] 2. Audit project structure; identify Vitest vs Playwright boundary
- [ ] 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 and router
Run scripts/detect_stack.sh from the project root. It confirms this is a
Next.js project and reports App Router vs Pages Router — this
determines the entire strategy and must be resolved before generating any
component test — plus the existing Vitest/Jest, Playwright/Cypress, RTL,
MSW, and Zod presence.
If a test runner is already in use, follow it even if a different tool is this skill's default. Never introduce a second, competing test runner.
Step 2 — Audit project structure
Before writing anything, classify the target and route it correctly:
- Async Server Component (contains an
awaitin the component body) → Vitest cannot render this. Either propose extracting the async data call into a plain function (the recommended default — see reference/async-server-components.md) or route the test to Playwright. Never attempt to render it under Vitest. - Synchronous Server Component or Client Component → Vitest + RTL,
same as
react-testing. - Server Action → test as a plain async function with Vitest, not through a rendered tree.
- API route handler (
route.ts) or middleware → import the exported function directly and invoke with a constructed Request; see reference/api-and-middleware.md. - Flag critical paths — authentication, payment/billing, any data-write — for elevated rigor even if the user's request was narrower. State this flag out loud; do not silently expand scope.
What ships with it
6 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.
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.
- 7d ago First seen · 191 lines · 106 tokens per session scan A 3aa1753e3093
nextjs-testing is a skill published in the GitHub repository jyotiraditya-chauhan/test-kit (4 stars, last pushed 18d ago), licensed MIT. It adds 106 tokens to every session and 2,330 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
axiom-testing
Use when writing ANY test, debugging flaky tests, making tests faster, or choosing Swift Testing vs XCTest. Covers unit tests, UI tests, async testing, test architecture.
designing-tests
Designs and implements testing strategies for any codebase. Use when adding tests, improving coverage, setting up testing infrastructure, debugging test failures, or when asked about unit tests, integration tests, or E2E testing.
test-automation
Execute Vitest and Playwright test suites with result collection and failure analysis.
testing-blocks
Use this when you have made AEM Edge Delivery Services code changes to blocks, scripts, or styles and need to validate them before opening a pull request. Covers unit testing for utilities and logic, browser testing with Playwright, linting, and guidance on what to test and how.
prd-auto-test-loop
A testing workflow driven by a product requirements document (PRD), which describes what a software version should do. It turns acceptance criteria into unit, integration, and end-to-end tests, then records the plan and results.
test-automation-expert
Comprehensive test automation specialist covering unit, integration, and E2E testing strategies. Expert in Jest, Vitest, Playwright, Cypress, pytest, and modern testing frameworks. Guides test pyramid design, coverage optimization, flaky test detection, and CI/CD integration. Activate on 'test strategy', 'unit tests'…