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 skills add vladolaru/claude-code-plugins --skill php-testing-patternsgit clone --depth 1 https://github.com/vladolaru/claude-code-pluginsWrote 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/vladolaru/claude-code-plugins/php-testing-patterns)<a href="https://agentmods.dev/skills/vladolaru/claude-code-plugins/php-testing-patterns"><img src="https://agentmods.dev/badge/skills/vladolaru/claude-code-plugins/php-testing-patterns/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/vladolaru/claude-code-plugins/php-testing-patterns"><img src="https://agentmods.dev/badge/skills/vladolaru/claude-code-plugins/php-testing-patterns.svg" alt="Reviewed on agentmods" width="80" 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.00039 | $0.00904 |
| Opus 5.5 | $0.00016 | $0.00362 |
| Sonnet 5.5 | $0.00008 | $0.00181 |
| Haiku 4.5 | $0.00004 | $0.00090 |
Grade A, and why
php-testing-patterns 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 2mo 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.
How it starts
The opening of the file, as written. The whole thing — 61 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill Directory
Resolve SKILL_DIR to the absolute directory containing this SKILL.md, as
shown by the current host, before using any bundled path below.
Before a shell command uses $SKILL_DIR, assign it in that command or replace
it with the resolved path. It is not a host-exported environment variable.
PHP Testing Patterns
PHPUnit, WordPress, and WooCommerce testing patterns. For shared test quality principles (philosophy, smells, mocking decisions), see testing-patterns.
Reference Routing
| Need | Reference File | Sections to Read |
|---|---|---|
| PHPUnit + WordPress + WooCommerce patterns | $SKILL_DIR/../testing-patterns/references/phpunit-patterns.md |
Full file (~422L, manageable) |
| Behavior vs implementation | $SKILL_DIR/../testing-patterns/references/test-philosophy.md |
## The Fundamental Shift + ## Four Core Principles |
| Flaky/brittle tests | $SKILL_DIR/../testing-patterns/references/test-smells.md |
## The Six Major Test Smells (relevant subsection) |
| Mock usage decisions | $SKILL_DIR/../testing-patterns/references/mocking-strategies.md |
## The Mocking Decision Framework |
| AAA pattern/naming | $SKILL_DIR/../testing-patterns/references/test-structure.md |
## The AAA Pattern + ## Test Naming Conventions |
| Test data strategy | $SKILL_DIR/../testing-patterns/references/test-data.md |
## Factories + ## Builders |
How to read sections: Grep for heading to find line number, Read with offset+limit.
PHP Assertion Quick Reference
| Use | Instead Of | Why |
|---|---|---|
assertSame($expected, $actual) |
assertEquals() |
Strict type comparison — assertEquals('1', 1) passes silently |
assertCount(3, $items) |
assertSame(3, count($items)) |
Better failure messages |
assertInstanceOf(Foo::class, $obj) |
assertTrue($obj instanceof Foo) |
Better failure messages |
assertStringContainsString() |
assertTrue(strpos(...) !== false) |
Readable, descriptive |
@dataProvider |
Duplicated test methods | DRY, parameterized, each case is a named data set |
$this->factory->post->create() |
wp_insert_post() |
WordPress factory handles cleanup |
expectException(E::class) |
try/catch + fail() |
PHPUnit native exception testing |
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.
- 2mo ago First seen · 61 lines · 39 tokens per session scan A 0b925754e935
php-testing-patterns is a skill published in the GitHub repository vladolaru/claude-code-plugins (8 stars, last pushed 5d ago), licensed MIT. It adds 39 tokens to every session and 904 once invoked, about $0.0002 per session on Opus 5.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.
php-testing-patterns compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| php-testing-patternsvladolaru/claude-code-plugins | Skill | 8 | 5d ago | MIT | A | 39 | Claude Code |
| Codeception TestingPramodDutta/qaskills | Skill | 248 | 8d ago | MIT | A | 42 | Claude Code, Codex |
| craft-pestmichtio/craftcms-claude-skills | Skill | 89 | yesterday | MIT | A | 175 | Claude Code |
| phpunit-unit-test-reviewingshopwareLabs/ai-coding-tools | Skill | 45 | 2d ago | MIT | A | 31 | Claude Code |
| phpunit-unit-test-writingshopwareLabs/ai-coding-tools | Skill | 45 | 2d ago | MIT | A | 187 | Claude Code |
| noerd-testingnoerd-dev/noerd | Skill | 17 | 3d ago | MIT | A | 121 | Claude Code, Codex |
| php-testingfusengine/agents | Skill | 34 | 29d ago | MIT | A | 38 | Claude Code |