Skip to content
Back to skills

Test

ASecurity

Run the full test suite AND expand coverage for the current change — the dedicated testing pass. Its ONLY job is tests. Use after implementing or verifying a change, and whenever the user says "test", "run tests", "cover this", "write tests", or "make sure it's tested". Enforces: nothing is done until the suite is green and every change is covered (with a regression test per bug fixed).

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 29, 2026
testingpythonrustgojavarubynodetestinggit

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add JulesNsenda/claude-workflow --skill test --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Test?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Test
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/julesnsenda-test/badge)](https://www.skillsdirectory.com/skills/julesnsenda-test)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: test
description: >-
  Run the full test suite AND expand coverage for the current change — the
  dedicated testing pass. Its ONLY job is tests. Use after implementing or
  verifying a change, and whenever the user says "test", "run tests", "cover
  this", "write tests", or "make sure it's tested". Enforces: nothing is done
  until the suite is green and every change is covered (with a regression test
  per bug fixed).
---

# Skill: test

The testing specialist. Tests are the *only* thing this pass touches — no
refactors, no feature work, no scope creep. Goal: **everything the change
introduced or altered is exercised, and the whole suite is green.**

## 1. Find the runner (don't assume)

Detect how this project runs tests before running anything:

- **JS/TS** → `package.json` `scripts` (`test`, `test:unit`, `test:ci`); jest /
  vitest / mocha / node:test config.
- **Python** → `pytest` (`pyproject.toml` / `pytest.ini` / `tox.ini`), or
  `unittest`.
- **Go** → `go test ./...`. **Rust** → `cargo test`. **Java** → `mvn test` /
  `gradle test`. **Ruby** → `rspec` / `rake test`.
- Fallback: a `Makefile` / `justfile` `test` target, or CI config
  (`.github/workflows/*`) — mirror what CI runs.

If you genuinely can't determine it, ask — don't silently skip testing.

## 2. Run the full existing suite first

Establish the baseline. Capture failures verbatim. A pre-existing failure is
reported, not hidden — but don't let it mask regressions from the change.

## 3. Map the change surface

From `git diff` (vs the base branch or the pre-change state), list every new or
modified: function/method, conditional branch, error path, boundary, and public
interface. That list is your coverage target — not the whole codebase, but *all*
of the change.

## 4. Cover every item on that list

For each change-surface item, ensure a test exists for:

- the happy path,
- edge cases (empty/nil, boundaries, large inputs, concurrency if relevant),
- error handling (the failure actually surfaces the way it should),
- **a regression test for any bug this change fixed** — it must fail on the old
  code and pass on the new.

Match the project's existing test style, helpers, and file layout. Reuse
fixtures/factories rather than inventing parallel ones.

## 5. Re-run until green, then report coverage of the change

Iterate: run → fix the test or surface a real defect → run. When green, report:

- suite result (counts, duration),
- **what the change's coverage actually is** — which change-surface items are
  covered, and any left uncovered *with the reason* (e.g. "requires a live
  network host"). Report the change's coverage, not just the global percentage.

## Non-negotiables

- **Never** weaken, `skip`, or delete a test to force green. If a test fails,
  either the code is wrong (fix it / flag it) or the test is wrong (fix the
  test with justification) — never make it disappear.
- **Never** assert on wrong-but-current behavior just to lock in a passing run.
- An untestable path is a **finding to resolve**, not a step to skip — say so
  explicitly rather than quietly leaving it uncovered.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…