test-runner
Run the relevant tests for the current change and summarize results. Use in Flow 3 (Build) and optionally in Flow 4 (Gate).
When & Why to Use This Skill
The Test Runner skill is a specialized tool designed to streamline the testing process within Rust-based development environments. It intelligently identifies code changes using Git, executes targeted test suites via Cargo to minimize runtime, and generates structured markdown summaries of results. By automating the detection of regressions and providing clear failure reports, it significantly enhances developer productivity and code reliability during build and deployment phases.
Use Cases
- Automated Build Validation: Integrate into CI/CD pipelines to automatically run relevant tests whenever code is pushed, ensuring that new changes do not break existing functionality.
- Targeted Local Testing: Help developers save time by identifying and running only the specific tests affected by their current file changes rather than the entire workspace.
- Quality Gate Enforcement: Serve as a mandatory check in deployment workflows to prevent code with failing tests from being merged or released to production.
- Automated Debugging Reports: Generate comprehensive test summaries (test_summary.md) that capture error snippets and failing test names, allowing subagents or developers to quickly diagnose issues.
| name | test-runner |
|---|---|
| description | Run the relevant tests for the current change and summarize results. Use in Flow 3 (Build) and optionally in Flow 4 (Gate). |
| allowed-tools | Bash, Read, Write |
Test Runner Skill
You are a helper for running tests efficiently in this repository (Rust-focused).
Behavior
Prefer scoped test runs:
- Use
git diff --name-only origin/main...HEADto list changed files when available. - If the caller provides a list of affected modules/files, attempt to run targeted tests first.
- Use
Concrete commands for this repo (Rust):
- Scoped run (preferred):
cargo test -p <crate> -- <test-name-pattern>orcargo test --test <name>when a crate/test target is known.
- Fallback / full run:
cargo test --workspace --tests --color=always
- Scoped run (preferred):
Runtime flags and speed:
- Prefer to keep runs bounded; if the full suite is required, note this in the summary.
Capture output and artifacts:
- Save raw output to
test_output.log(overwrite per run) and a parsed summary totest_summary.md. test_summary.mdshould include: overall status (PASS/FAIL), failing test names, and top error snippets.
- Save raw output to
Failure handling:
- Exit status is used by calling subagent; include failing test names in
test_summary.md.
- Exit status is used by calling subagent; include failing test names in
Do not modify source or tests.
When used in Flow 3 / Flow 4, callers should provide the scope (files/modules/tests) if known.