# testing-craft

Organizes automated checks along a strict hierarchy from static types to end-to-end runs. Useful when reviewing test suites or choosing verification levels for new code.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1200 installs
- Author: jssblck
- License: GPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/jssblck/agents/tree/HEAD/skills/testing-craft/SKILL.md
- Updated: 2026-10-09
- HTML: https://affpapa.org/en/nevibecode/skills/testing-craft

## What it does

The skill assigns every system invariant to the earliest verification layer capable of handling it. Type systems and linters catch compile-time errors first, keeping unit test suites focused on pure calculations and parser logic. Heavier database interactions run against isolated instances like Postgres or temporary directories, while third-party service calls go through Vercel Emulate.

Mocks and fakes must satisfy strict interface definitions. Because untyped assertions hide contract drift, the skill forbids casts such as `as any` and refuses to mock the actual target under verification. Production designs should not bend merely to accommodate test setups.

Built-in references target Rust, TypeScript, Go, and Python. Once a stronger layer takes over an invariant, the superseded test is removed to prevent redundant execution.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add jssblck/agents --skill testing-craft -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/testing-craft/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/testing-craft/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add jssblck/agents --skill testing-craft -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/testing-craft/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add jssblck/agents --skill testing-craft -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/testing-craft/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install jssblck/agents testing-craft
```

2. **Manually: put the files in place**
- File: `.github/skills/testing-craft/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add jssblck/agents --skill testing-craft -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/jssblck/agents --path skills/testing-craft
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/testing-craft/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add jssblck/agents --skill testing-craft -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/jssblck/agents/tree/HEAD/skills/testing-craft/SKILL.md

## When to use it
- assign code invariants to compiler types before writing runtime tests
- eliminate redundant tests that repeat existing type or lint guarantees
- construct compiler-checked doubles without resorting to untyped casts
- isolate database queries and provider protocols with dedicated test harnesses

## Example prompts
- Review our TypeScript parser tests using `testing-craft`
- Plan verification rungs for the new Go payment service with `testing-craft`
- Audit redundant database tests in our Rust repository

## Similar
- [improve-codebase-architecture](https://affpapa.org/en/nevibecode/skills/improve-codebase-architecture.md) — skill · 1163035 installs
- [design-taste-frontend](https://affpapa.org/en/nevibecode/skills/design-taste-frontend.md) — skill · 678700 installs
- [tdd](https://affpapa.org/en/nevibecode/skills/tdd.md) — skill · 1141062 installs
- [skill-creator](https://affpapa.org/en/nevibecode/skills/skill-creator.md) — skill · 414180 installs
- [agent-browser](https://affpapa.org/en/nevibecode/skills/vercel-labs-agent-browser.md) — skill · 1200000 installs
- [prototype](https://affpapa.org/en/nevibecode/skills/prototype.md) — skill · 986201 installs

From the same set: [jssblck/agents](https://affpapa.org/en/nevibecode/by/jssblck/agents.md) — 10 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
