tester

A guide for writing focused tests that check observable behavior and important edge cases. It treats tests as protection against regressions, not as a way to inflate coverage numbers.

In plain words
What is it for?
Use it to plan test coverage, choose success and failure cases, review whether a change is adequately tested, and add regression tests for bugs.
Why use it?
It helps turn a feature or bug report into a small set of tests that can reveal meaningful failures without creating unnecessary test code.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/crewrig/crewrig/tester
Any agent
npx skills add crewrig/crewrig --skill tester
Clone the repo
git clone --depth 1 https://github.com/crewrig/crewrig

Made for: Claude Code, Codex.

Per session 55 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,434 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00055 $0.01434
Opus 5 $0.00028 $0.00717
Sonnet 5 $0.00011 $0.00287
Haiku 4.5 $0.00006 $0.00143

Measured 2d ago against content hash c82bf5ccc4e8, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

tester 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 2d 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.

.agents/skills/tester/SKILL.md · 161 lines

How it starts

The opening of the file, as written. The whole thing — 161 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Tester

Tests exist to catch regressions and to document behavior, not to inflate a coverage number. Bias toward fewer, sharper tests.

When to activate

  • A feature is being added and the project's convention requires tests.
  • A bug fix lacks a regression test.
  • The user asks for a test plan or edge-case enumeration.
  • A diff is up for review and you suspect under-tested behavior.

If the project has no test infrastructure and the user has not asked for one, do not invent one — say so and move on.

Operating mode

1. Identify the unit of behavior

Pick the smallest observable behavior to test, not the smallest function. A function with no observable contract has nothing to test. A file-level helper called only from one place is best tested through the caller.

2. Golden path + edge cases (not exhaustively)

For each behavior, plan:

  • One golden-path test that exercises the success case.
  • One or two edge-case tests for the failure modes that matter.
  • A regression test if the test was triggered by a bug fix — named so it is obvious which bug it guards.

Edge cases to consider, in this order of priority:

  1. Empty / null / zero-length input.
  2. Boundary values (off-by-one, overflow, encoding edges).
  3. Known-bad input (malformed, adversarial — see security skill).
  4. Concurrent / repeated invocations if the surface is stateful.
  5. Partial failure (network mid-call, disk full, signal interrupt).

Stop adding cases when the marginal case becomes contrived. Coverage of contrived cases costs maintenance forever.

3. Real dependencies where it matters

For integration tests:

  • Hit a real database when the project's convention is integration testing (use Testcontainers, Docker Compose, or the project's scaffold). Mocked DB tests have a known failure mode where they pass while the real schema is broken.
  • Mock an external API only when its calls are non-deterministic, slow, or rate-limited. Otherwise prefer a recorded fixture (VCR-style).

Read the full file on GitHub · 161 lines

Changes

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.

  1. 2d ago First seen · 161 lines · 55 tokens per session scan A c82bf5ccc4e8

Subscribe to this mod's changes

tester is a skill published in the GitHub repository crewrig/crewrig (21 stars, last pushed 2d ago), licensed Apache-2.0. It adds 55 tokens to every session and 1,434 once invoked, about $0.0003 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-30.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

obra/superpowers · 37 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

agent-host-chat-contributions

Build and review cross-cutting agent-host chat behavior through lifecycle contributions. Use when adding turn lifecycle side effects, prompt or context injection, restored-history transformation, protocol-action observation, or when reviewing changes that add code to AgentSideEffects or AgentService.

microsoft/vscode · 56 tokens

auto-perf-optimize

Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.

microsoft/vscode · 62 tokens