phpunitlisted
Install: claude install-skill hmj1026/dhpk
# PHPUnit family — version router
Use this family for PHPUnit 9, 10, and 11 work. Resolve one version first,
then read exactly that selector reference; conditional references keep unrelated
version guidance out of context.
## Resolution contract
1. If the caller supplies 9, 10, or 11, use that selector without reading
project files or dhpk manifests.
2. Otherwise inspect the current project's composer.lock (installed
phpunit/phpunit version) and then composer.json (require and require-dev).
Select a single resolvable major.
3. If no supported major is detected, ask which version applies. Do not guess,
default to the newest reference, or use distribution/install manifests.
The family-local resolver and portable CLI implement this contract:
node scripts/resolve-version.js --json [--version 9|10|11]
The JSON result reports status, family, selector, source, reference,
loadedReferences, and the selected guidance. An unresolved result reports
status "ask", no reference loaded, and an actionable question.
## Version branches
- 9 — PHPUnit 8.5/9.x lifecycle signatures, assertions, providers, mocks,
hooks, risky-test checks, and the complete API migration catalog:
references/9.md.
- 10 — PHP 8.1 floor, attributes preferred while doc-comment metadata still
works, runner/configuration changes, hooks, and the 9 → 10 checklist:
references/10.md.
- 11 — PHP 8.2 floor, attribute-first migration, deprecated doc-comment
metadata, typed overrides, discovery, a