Claude-skill-registry 60-validate-tests-150
[60] VALIDATE. Ensure new (staged and unstaged) changes are covered by tests at >70% and the full test suite is green. Use when asked to validate coverage for recent changes, add tests for modified code, or verify nothing else broke.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/60-validate-tests-150" ~/.claude/skills/majiayu000-claude-skill-registry-60-validate-tests-150 && rm -rf "$T"
manifest:
skills/data/60-validate-tests-150/SKILL.mdsource content
Validate-Tests 150 Protocol
Goal
Cover current uncommitted changes with meaningful tests at >70% coverage (including the changed lines) and confirm the entire test suite is green.
Workflow
-
Identify current changes
- Check staged and unstaged changes (
).git status - List changed files (
andgit diff --name-only
).git diff --name-only --staged - Focus testing on these files and their direct dependencies.
- Check staged and unstaged changes (
-
Find the coverage command
- Check
scripts forpackage.json
,test
, orcoverage
.ci - If unclear, search for Jest/Vitest config files and default coverage options.
- Check
-
Run coverage
- Execute the project’s coverage command.
- Save the exact overall percentage and per‑file coverage for changed files (lines/branches).
- Passing tests ≠ coverage: verify that the changed lines are executed (use coverage reports to confirm).
-
Prioritize targets
- Start with changed files that are <70% covered.
- Prefer pure functions, utilities, and deterministic logic.
-
Add tests
- Write tests that directly exercise the changed logic/markup and assert behavior, edge cases, and failure paths.
- Prefer behavior- or structure-level assertions that map to the changed lines (e.g., DOM structure/classes for UI changes).
- Avoid snapshot‑only tests unless behavior is visual and stable.
-
Re‑run coverage
- Confirm each changed file is > 70% covered (lines/branches where available).
- Confirm the specific changed lines are covered (use coverage reports or direct evidence in tests).
- If coverage tooling only provides overall numbers, explain the limitation and justify how tests exercise the changed code.
- If not met, repeat steps 4–6.
-
Run full test suite
- Execute the standard full test command for the repo (not just a subset).
- Ensure all tests are green.
-
Run lint
- Execute the standard lint command for the repo.
- Ensure lint is green and fix lint errors introduced or surfaced in the process.
- Do not leave lint in a failing state.
-
Run compile
- Execute the standard compile command for the repo
ornpm run compile
, best way is from root directorytsc --noEmitnpm run test && npm run lint:full - Ensure compile is green and fix compile errors introduced or surfaced in the process.
- Do not leave compile in a failing state.
- Execute the standard compile command for the repo
-
Report
- Summarize added tests, coverage changes, and full test results.
- Note any files intentionally excluded or skipped and why.
Validation checklist
- Staged and unstaged changes identified.
- Coverage command found and recorded.
- Baseline coverage captured.
- Tests added for changed files and direct dependencies.
- Changed files are >70% covered (lines/branches where available).
- Full test suite executed.
- All tests are green.
- Lint executed and green.
- Compile executed and green.
Output expectations
- Provide the command used to measure coverage, to run the full test suite, and to run lint.
- Provide before/after coverage numbers and per‑file coverage for changed files.
- Explicitly state how the changed lines are exercised by the tests.
- List which files were targeted and why.
- Confirm the final threshold is met for changed files, or report remaining gaps.
- Confirm all tests and lint are green.
- Confirm compile is green.