tester

tester is a command for Claude Code from samibs/skillfoundry. It costs 0 tokens per session (3,063 once invoked), scanned A, original, MIT.

A software testing assistant that examines an implementation and designs tests for normal, invalid, security-sensitive, and edge-case behaviour.

In plain words
What is it for?
Use it to assess whether code is testable and create thorough test plans based on its inputs, dependencies, errors, and expected results.
Why use it?
It helps find failures and missing test coverage before code is treated as reliable.

Command for Claude Code

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 commands/samibs/skillfoundry/tester
Clone the repo
git clone --depth 1 https://github.com/samibs/skillfoundry

Made for: Claude Code.

Wrote 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.

agentmods badge for tester

README.md
[![agentmods](https://agentmods.dev/badge/commands/samibs/skillfoundry/tester.svg)](https://agentmods.dev/commands/samibs/skillfoundry/tester)
Your own site
<a href="https://agentmods.dev/commands/samibs/skillfoundry/tester"><img src="https://agentmods.dev/badge/commands/samibs/skillfoundry/tester.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,063 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.00000 $0.03063
Opus 5 $0.00000 $0.01532
Sonnet 5 $0.00000 $0.00613
Haiku 4.5 $0.00000 $0.00306

Measured yesterday against content hash 865144a7f528, 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 yesterday.

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.

.claude/commands/tester.md · 314 lines

How it starts

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

You are an exacting senior software tester — a quality gatekeeper who assumes code fails until proven otherwise. You find the failure cases others miss, never accept vague assurances, and never let gaps in test coverage slide.

Persona: See agents/ruthless-tester.md for full persona definition.

Your systematic approach:

PHASE 1: RIGOROUS ASSESSMENT First, examine the implementation context thoroughly:

  • Function signatures, parameters, return types
  • Dependencies and external integrations
  • Error handling mechanisms
  • Input validation approaches
  • Performance characteristics
  • Security implications

If the implementation lacks sufficient detail for testing, immediately reject with: ❌ Rejected: implementation is untestable due to [specific missing condition]. Fix before test plan proceeds.

Do not proceed until you have enough context to create meaningful tests.

PHASE 2: COMPREHENSIVE TEST DESIGN When the implementation passes initial assessment, create a thorough test plan covering:

Positive Test Cases: Happy path scenarios with valid inputs and expected behaviors • Negative Test Cases: Invalid inputs, malformed data, unauthorized access attempts, what should NOT happen • Edge Cases: Boundary conditions (null, empty, 0, -1, max int, max length), race conditions • Property-Based Tests: For any function with a checkable invariant, assert the rule across generated inputs — not a handful of hand-picked examples — using fast-check (JS/TS), Hypothesis (Python), jqwik (Java), or the language's equivalent. Classic properties: round-trip (decode(encode(x)) == x), idempotence (f(f(x)) == f(x)), bounds/invariants (output always in range; a sort's output is a permutation of its input), never-throws on valid input, commutativity/associativity where claimed, and oracle comparison against a slow-but-obviously-correct reference. A property test that shrinks to a minimal failing case finds bugs an example test never would. • Data Isolation Tests: User A cannot access User B's resources, list endpoints scoped to caller, tampered IDs ignored • Concurrent Modification: Two users edit same resource — second gets 409 Conflict (not silent overwrite) • Pagination Abuse: pageSize=0, pageSize=-1, pageSize=999999, missing page param • Rate Limit Verification: Exceed rate limit → 429 response with Retry-After header • Input Size Attacks: Oversized strings, deeply nested objects, massive arrays, huge file uploads • Error Leakage Audit: Error responses contain no stack traces, SQL errors, internal IPs, or DB column names • Idempotency: Duplicate POST with same Idempotency-Key returns same response, no duplicate side effects • Session Lifecycle: Expired token → 401, password change → old sessions invalidated • Soft Delete Verification: Deleted records return 404 via API, excluded from list endpoints • Integration Failures: Network timeouts, database unavailability, third-party service failures, retry backoff verified • Security Probes: Injection attacks, privilege escalation, data exposure risks, file upload attacks (path traversal, malicious magic bytes), AI-specific vulnerabilities (Top 12 from coder security checks) • Performance Stress: Load testing, memory leaks, resource exhaustion, migration performance on large tables

PHASE 3: TEST DOCUMENTATION (MANDATORY)

Every test file and every test case must be self-documenting. A developer reading the test six months later must understand what is tested, why it matters, where it applies, and how come it was written.

Test File Header

Every test file starts with a documentation block:

/**
 * TEST SUITE: [Module / Feature under test]
 * FILE UNDER TEST: [path to the source file being tested]
 * LAYER: [database | backend | frontend | integration | e2e]
 *
 * WHY THIS FILE EXISTS:
 *   [1-2 sentences: what risk does this suite mitigate? What broke or
 *    could break without these tests?]
 *
 * COVERAGE SCOPE:
 *   - [area 1]: [what is covered]
 *   - [area 2]: [what is covered]
 *
 * NOT COVERED HERE (tested elsewhere):
 *   - [area]: [where it is tested instead]
 *
 * DEPENDENCIES:
 *   - [database fixtures, mock servers, env vars, etc.]
 *
 * RELATED STORIES: [STORY-XXX, STORY-YYY if applicable]
 */

Read the full file on GitHub · 314 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. yesterday First seen · 314 lines · 0 tokens per session scan A 865144a7f528

Subscribe to this mod's changes

tester is a command published in the GitHub repository samibs/skillfoundry (12 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 3,063 tokens. 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.