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 agentmods add commands/samibs/skillfoundry/testergit clone --depth 1 https://github.com/samibs/skillfoundryWrote 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/commands/samibs/skillfoundry/tester)<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>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 | $0.00000 | $0.03063 |
| Opus 5 | $0.00000 | $0.01532 |
| Sonnet 5 | $0.00000 | $0.00613 |
| Haiku 4.5 | $0.00000 | $0.00306 |
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.
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]
*/
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.
- yesterday First seen · 314 lines · 0 tokens per session scan A 865144a7f528
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.
Other commands, from other repositories
git
Git operations with intelligent commit messages and workflow optimization.
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
converge
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.
implement
Execute the implementation plan by processing and executing all tasks defined in tasks.md.