From code-testing-agent
Detects the test framework, runs scoped tests, and reports pass/fail results with missing-test advisories. Use when the user asks to "run tests", "check if tests pass", "test this file", "verify my changes", or "are there missing tests". Does not review test quality — use reviewing-tests for that. Does not suggest tests — use code-testing-agent for that.
npx claudepluginhub shawn-sandy/agentics --plugin code-testing-agentThis skill uses the workspace's default tool permissions.
Detect the test framework per changed file, run scoped test commands via Bash,
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Analyzes competition with Porter's Five Forces, Blue Ocean Strategy, and positioning maps to identify differentiation opportunities and market positioning for startups and pitches.
Detect the test framework per changed file, run scoped test commands via Bash, and report pass/fail/error counts. Advise on missing test files.
Freedom level: Adaptive — Follow these steps exactly.
Use TodoWrite to create todos for Steps 1-5 (all status: "pending").
Mark each status: "completed" as you finish.
Resolve the list of changed source files using the following priority order:
git diff --name-only HEAD via Bash to get changed filesAskUserQuestion to request a file pathFilter out non-testable files: binary files, lock files (package-lock.json, yarn.lock, Cargo.lock, poetry.lock), generated files (dist/, build/, .next/, __pycache__/), and config-only files (.env, *.config.js unless the framework has config tests).
Empty-state short-circuit: If git diff --name-only HEAD returns empty and no explicit path was given, tell the user no changed files were detected and stop.
For each changed file from Step 1, locate the corresponding test file.
Load references/test-runner-guide.md Section 1 for naming conventions and search directories.
Produce a resolved pairs table:
| Source File | Test File | Status |
|---|---|---|
src/utils/parser.ts | src/utils/parser.test.ts | Found |
If multiple candidates exist, prefer the one closest in the directory tree. Mark files with no test as Not found — they are addressed in Step 5.
For each changed source file, detect the test framework by inspecting config files.
Load references/test-runner-guide.md Section 2 for detection signals and run commands.
Monorepo tie-breaking: See Section 5 for the nearest-ancestor rule.
If still ambiguous after checking all signals, use AskUserQuestion:
"I found multiple test frameworks in this repository. Which should I use to test
<filename>?"
Use Bash to run the scoped test command for each detected framework.
Load references/test-runner-guide.md Section 2 for command templates.
Scope the run to only the test files resolved in Step 2 — do not run the full suite.
On failure:
Skip test files marked "Not found" in Step 2 — those are handled in Step 5.
Output a results table: Test File | Result | Pass | Fail | Error.
Load references/test-runner-guide.md Section 3 for result parsing patterns to extract counts.
If counts are not parseable, report exit code only (PASS for 0, FAIL for non-zero).
On failure: Display the relevant stderr excerpt below the table.
For each source file marked "Not found" in Step 2, output a file-level advisory.
Load references/test-runner-guide.md Section 4 for per-language advisory templates.
Advisory is file-level only — do not parse function signatures or suggest specific test cases.
For detailed test suggestions, direct the user to the reviewing-tests skill.