kit/plugins/code-testing-agent/skills/running-tests/SKILL.md
Detects the test framework and runs scoped tests. Reports pass/fail results with output and identifies failing assertions. Use when the user asks to run tests, check if tests pass, or verify changes.
npx skillsauth add shawn-sandy/agentics running-testsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
Does not review test quality — use reviewing-tests. Does not suggest new tests — use code-testing-agent.
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.
data-ai
Craft-prompt: interviews users and assembles a structured AI prompt using Anthropic best-practice techniques. Use when the user runs /plan-agent:craft-prompt or asks to craft a prompt.
development
Generates a SOCIAL.md project sharing config by analyzing the codebase. Use when asked to set up social sharing preferences or create a SOCIAL.md file.
development
Explains how any project file, component, or concept works. Reads source files and synthesizes developer-friendly principles, social copy, and a dark-mode card. Use when asked 'how does X work' or 'explain X'.
development
Generate an HTML implementation-plan document. Produces a self-contained .html plan file with steps, acceptance criteria, and metadata. Use when the user asks to create a plan document, generate an HTML plan, or write a plan file — not for general planning questions.