Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/nonlinear-xyz/factory-kitnpx agentmods add skills/nonlinear-xyz/factory-kit/factory-testingWrote 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/nonlinear-xyz/factory-kit/factory-testing)<a href="https://agentmods.dev/skills/nonlinear-xyz/factory-kit/factory-testing"><img src="https://agentmods.dev/badge/skills/nonlinear-xyz/factory-kit/factory-testing/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/nonlinear-xyz/factory-kit/factory-testing"><img src="https://agentmods.dev/badge/skills/nonlinear-xyz/factory-kit/factory-testing.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.00085 | $0.03415 |
| Opus 5.5 | $0.00034 | $0.01366 |
| Sonnet 5.5 | $0.00017 | $0.00683 |
| Haiku 4.5 | $0.00009 | $0.00342 |
Grade A, and why
factory-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 3d 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 — 310 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Factory testing
Each section leads with Principle (one sentence, stack-agnostic), then Why (constraint → option → tradeoff), then Recipe (the Vitest / Playwright / test-utils shape we use), and Failure mode when there's one to name.
The kit is opinionated on the recipe layer (Vitest + Playwright + __tests__ co-location + shared test-utils). A reader on a different stack can read the principle and skip the recipe.
Tests-before-merge — coverage gates, not test-first dogma
Principle. Every PR ships with tests that cover the new behavior; CI enforces a coverage floor; the kit does not mandate red-green-refactor authoring.
Why. Strict TDD is unenforceable mechanically — a commit hook can't see whether the test was written before or after the code. A coverage floor is enforceable: CI either passes or fails. The trade-off accepted: we lose the design-pressure of test-first authoring; we keep a gate that catches the actual failure mode (un-tested code merging). Strict test-first also contradicts how most of the factory's existing code was written, which would make the rule aspirational from day one — and aspirational rules erode all the others.
Recipe. Coverage thresholds live in vitest.config.ts and are enforced by vitest --coverage:
// vitest.config.ts
import { defineConfig } from 'vitest/config';
import react from '@vitejs/plugin-react';
import path from 'path';
export default defineConfig({
plugins: [react()],
test: {
environment: 'happy-dom',
globals: true,
setupFiles: ['./src/lib/test-utils.tsx'],
exclude: ['node_modules', 'e2e/**'],
coverage: {
provider: 'v8',
reporter: ['text', 'json', 'html', 'lcov'],
exclude: [
'node_modules/',
'src/lib/test-utils.tsx',
'**/*.test.{ts,tsx}',
'**/*.spec.{ts,tsx}',
'**/types.ts',
'**/*.d.ts',
],
thresholds: {
lines: 70,
functions: 70,
branches: 60,
statements: 70,
},
},
},
resolve: { alias: { '@': path.resolve(__dirname, './src') } },
});
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.
- 3d ago First seen · 310 lines · 85 tokens per session scan A 9e97239c4f67
factory-testing is a skill published in the GitHub repository nonlinear-xyz/factory-kit (9 stars, last pushed 3d ago), licensed MIT. It adds 85 tokens to every session and 3,415 once invoked, about $0.0003 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-10-16.
Other skills, from other repositories
memstack-development-test-writer
Use this skill when the user says 'write tests', 'add tests', 'test coverage', 'unit tests', 'integration tests', 'component tests', 'mocking', 'edge cases', or needs to generate tests with proper mocking and edge case coverage. Do NOT use for refactoring plans or database migrations.
ios-testing
Invoke any time a user is writing iOS/Swift tests or asking why tests behave a certain way — including XCTest versus Swift Testing (@Test/#expect) choices, async ViewModel tests with @Observable or @Published, snapshot testing across device sizes, mocking protocols for dependency injection, setUp/tearDown lifecycle…
zeus
An automated software-building pipeline that turns a one-line product request into a plan, implementation, review, Docker setup, testing, and a final report.
dev-testing
A testing guide that defines when to use unit, integration, API, and end-to-end tests. Unit tests check small pieces of code, while end-to-end tests check a full user flow.
minos
A QA workflow that collects test scenarios, generates Playwright tests, runs them, and repeats fixes until they pass. Playwright is a tool for testing web pages in real browsers.
testloop
Implementation-test-fix feedback loop.