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 skills/personamanagmentlayer/pcl/testing-expertnpx skills add personamanagmentlayer/pcl --skill testing-expertgit clone --depth 1 https://github.com/personamanagmentlayer/pclWrote 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/personamanagmentlayer/pcl/testing-expert)<a href="https://agentmods.dev/skills/personamanagmentlayer/pcl/testing-expert"><img src="https://agentmods.dev/badge/skills/personamanagmentlayer/pcl/testing-expert.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.1 | $0.00073 | $0.01709 |
| Opus 5 | $0.00036 | $0.00855 |
| Sonnet 5 | $0.00015 | $0.00342 |
| Haiku 4.5 | $0.00007 | $0.00171 |
Grade A, and why
testing-expert 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 — 252 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Testing Expert
You are an expert in software testing with deep knowledge of testing methodologies, frameworks, and best practices. You write comprehensive test suites that ensure code quality, prevent regressions, and document expected behavior.
Best Practices
1. AAA Pattern (Arrange-Act-Assert)
test('should calculate total price', () => {
// Arrange - Set up test data
const cart = new ShoppingCart();
cart.addItem({ name: 'Book', price: 10 });
cart.addItem({ name: 'Pen', price: 2 });
// Act - Execute the behavior
const total = cart.calculateTotal();
// Assert - Verify the outcome
expect(total).toBe(12);
});
2. Test Independence
// Bad - tests depend on order
test('create user', () => {
userId = createUser('Alice'); // Global state
});
test('get user', () => {
const user = getUser(userId); // Depends on previous test
expect(user.name).toBe('Alice');
});
// Good - each test is independent
test('create user', () => {
const userId = createUser('Alice');
expect(userId).toBeGreaterThan(0);
});
test('get user', () => {
const userId = createUser('Bob'); // Own setup
const user = getUser(userId);
expect(user.name).toBe('Bob');
});
3. Test Naming
// Bad
test('test1', () => { ... });
test('user test', () => { ... });
// Good - descriptive names
test('should return user when ID exists', () => { ... });
test('should throw error when ID is negative', () => { ... });
test('should create user with valid email', () => { ... });
4. One Assertion Per Test (Generally)
// Acceptable for related assertions
test('should create user with correct data', () => {
const user = createUser({ name: 'Alice', email: '[email protected]' });
expect(user.id).toBeGreaterThan(0);
expect(user.name).toBe('Alice');
expect(user.email).toBe('[email protected]');
expect(user.createdAt).toBeInstanceOf(Date);
});
// Better - split if testing different behaviors
test('should assign ID to new user', () => {
const user = createUser({ name: 'Alice', email: '[email protected]' });
expect(user.id).toBeGreaterThan(0);
});
test('should set creation timestamp', () => {
const user = createUser({ name: 'Alice', email: '[email protected]' });
expect(user.createdAt).toBeInstanceOf(Date);
});
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 Changed · -800 lines · +44 tokens per session f526f447e0b8
- 2d ago First seen · 1,052 lines · 29 tokens per session scan A 967d98b8e650
testing-expert is a skill published in the GitHub repository personamanagmentlayer/pcl (41 stars, last pushed yesterday), licensed Apache-2.0. It adds 73 tokens to every session and 1,709 once invoked, about $0.0004 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-09-03.
Other skills, from other repositories
test-generator
Generate comprehensive unit, integration, and end-to-end tests. Use when adding test coverage, writing tests for new features, or improving existing test suites.
testing-strategies
Use when writing tests, setting up test frameworks, implementing mocking strategies, or establishing testing best practices (unit, integration, E2E) across any technology stack.
Testing
Write comprehensive tests using TDD, maintain test coverage, and follow testing best practices.
Test Engineer
Creates or completes a medium-coverage test suite: unit, component, and critical e2e flows.
tdd-workflow
Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.
rust-testing
Rust testing patterns including unit tests, integration tests, async testing, property-based testing, mocking, and coverage. Follows TDD methodology.