test-audit
Skill2 starsChanged 17 days agoMITView on GitHub
Decide whether a proposed or existing test should exist. Activate alongside the coding skill whenever writing, changing, reviewing, or removing tests, including a test an agent is about to add for a small edit. Gate new tests before they land. Audit low-value, duplicative, implementation-coupled, or assertion-free tests and the test-only production seams they require. This skill rejects and deletes tautology tests: tests that restate the production code and only confirm that the code which was written was written. Also use when asked to prune, sweep, delete, or cut tests, or to remove useless tests while keeping real behavior covered.
80 other projects use a version of this, 17 of them edited.
Adopted by
Most recently taken up by
- udecode/better-convextheir own version, first seen Nov 9, 2026
- TheLunchTrae/claude-code-configstheir own version, first seen Nov 8, 2026
- mageyuki/skillstheir own version, first seen Nov 8, 2026
- openclaw/openclaw-enterprisetheir own version, first seen Nov 8, 2026
- Swarzy-LLC/skillstheir own version, first seen Nov 8, 2026
- MammadovEshgin/clean-code-skilltheir own version, first seen Nov 8, 2026
Used with
Projects with it also use chips, redo and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
udecodeSkillchips
Run the project's suggested-task ledger, the chips. /chips alone brings this session's open tasks up to date: it applies what the ledger helper says, settles stale and split tasks, cards what can start and reports the board, and /chips all also takes the ship-list tasks and the ones no live session owns, and merges duplicate tasks across the board. Use for /chips, /chips offer, start or drop, \"what chips are open\", \"suggest a task for X\", \"update the chips\", \"clean up the chips\", \"which chips are stale\", \"is this chip still worth doing\", \"merge duplicate chips\", at the last hand-back of a run that offered a task, and whenever pstack would file a tracked issue, a follow-up, a reflect Backlog item or an out-of-band PR.
Also in 3 projects that use this
Scylla23Skillredo
Re-run the last routed task one model tier up (haiku → sonnet → opus → fable). User-invoked escalation when the previous result missed. Pass --dry-run to preview without running.
Also in 3 projects that use this
Aetheria-Labs1Skillplan-page
Plan one storefront page from strategy through final copy, section order, proof, offers, template direction, responsive layout, and production asset requirements. Stops at an approved execution-ready specification.
Also in 3 projects that use this
SocialKit-APISkillvideo-transcripts
Extract transcripts from social videos through SocialKit across YouTube, TikTok, Instagram, Facebook, X/Twitter, LinkedIn, and direct video file URLs. Use when the user asks to transcribe, get captions or subtitles, pull the spoken text, or read what a video says, including one video or many at once. Returns full text plus timestamped segments. Not for posting, private accounts, or unrelated website scraping.
Also in 3 projects that use this
clawdbotSkillpr-simplify
Simplify your own change to its smallest complete fix. Use before opening a PR, before pushing large repairs to one, or when asked to shrink a PR or clean up slop.
Also in 3 projects that use this
spitoglouSkilltechnical-documentation
Create and improve technical documentation including architecture designs, PRDs, API docs, code explanations, and visual diagrams. Use when asked to document systems, explain codebases, create design documents, write PRDs, generate Mermaid/PlantUML diagrams, review architecture, write user stories, or create pull request descriptions. Triggers include "document this", "create a design doc", "explain this code", "write a PRD", "create a diagram", "architecture overview", "user story for", "PR description".
Also in 3 projects that use this
Other versions80 projects use a version of this.
Word for word · 0
None found.
Edited · 17
- molt-bot/clawdbot★ 391k13% same
- superplanehq/superplane★ 9.1k12% same
- BuilderIO/agent-native★ 7.6k12% same
- vercel/eve★ 5.8k11% same
- wannabespace/conar★ 1.5k12% same
- friuns2/openclaw-android-assistant★ 57313% same
- OpenClawAndroid/openclaw-android-assistant★ 55613% same
- Genshin-bots/gsuid_core★ 36313% same
- shortcuts/dotfiles★ 1813% same
- cutfac/cutfac★ 1411% same
7 more not listed
Wrote their own version · 63
- moltbot/clawdbot★ 394ksame name
- steipete/warelay★ 394ksame name
- steipete/clawdis★ 394ksame name
- moltbot/moltbot★ 394ksame name
- clawdbot/clawdbot★ 394ksame name
- openclaw/openclaw★ 394ksame name
- garrytan/gstack★ 141ksame name
- paperclipai/paperclip★ 112ksame name
- simstudioai/sim★ 30ksame name
- every-app/open-seo★ 27ksame name
53 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- act-within-scopeSkill
- build-filesSkill
- codingSkill
- context-managementSkill
- create-verification-skillSkill
- domain-modelingSkill
- encode-lessonsSkill
- experience-firstSkill
- eyes-onSkill
- fluxSkill
- frontend-designSkill
- gitSkill
- grill-with-docsSkill
- in-your-own-wordsSkill
- lint-rulesSkill
- maintain-verification-skillSkill
- scripted-verificationSkill
- security-auditSkill
- skill-evaluationSkill
- test-behavior-not-implementationSkill
- writingSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 13 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 77 edited versions we read keep these.
13
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
Read those when they are not already loaded.
- Distinctive: line 26
Use the authoring gate for a test this task is about to add or rewrite.
- Distinctive: line 33
Before adding a test, or landing a change that rewrites what a test claims, answer four questions.
- Distinctive: line 62
When rejecting a proposed test, name the failed question or junk pattern and the existing proof, if any.
- Distinctive: line 97
Keep the primary proof of a contract from the coding skill's Tests section.
- Distinctive: line 107
Keep a static or slow test when it is still the proof of a contract.
- Distinctive: line 117
When the user sets a budget, such as a fraction of a subsystem, continue in coherent batches until the budget is met or the remaining …
- Distinctive: line 129
Read the whole test and its production owner before judging it: entry point, callers, callees, siblings, overlapping tests, how CI runs …
- Distinctive: line 153
Commit, push, or open a PR only when the user asked.
- Distinctive: line 158
Use the project's own check for the owner and its siblings.
- Distinctive: line 163
Do not edit files a test run is already writing.
- Distinctive: line 174
Commit or PR state, when the user asked to land the work.
- Distinctive: line 182
Keep this repository's admission rules.
“Common” is measured: kept by at least 6 in 10 of the 77 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Test Audit
Decide whether a test should exist. Run this check before adding a test, when changing or reviewing one, and when sweeping tests that are already there. It runs with the coding skill.
The coding skill owns what a worthwhile test protects and how to prove it: the
Tests section of its references/principles.md, the kind of check in
references/verification.md, and invariant checks in references/assertions.md.
Read those when they are not already loaded. Do not restate them here.
Use the authoring gate for a test this task is about to add or rewrite. Use a focused audit for a file, a diff, or a handful of suspects. For a subsystem, package, or a budget the user set, read references/campaign.md before editing.
Authoring gate
Before adding a test, or landing a change that rewrites what a test claims, answer four questions. A missing answer means do not add it yet.
- What observable behavior, invariant, or independent contract does it protect?
- What credible regression makes it fail?
- Why does an existing test not already catch that failure? One contract has one primary test at the strongest boundary. Another layer needs a distinct risk the owner cannot reach, such as transport or lifecycle. Extend a table or shared fixture instead of adding a near-duplicate.
- Does it need a production seam that no production caller needs, such as an export, flag, wrapper, or injection hook? If it does, test the real boundary instead.
A tautology fails this gate. The test repeats the production code, or builds its expected value by the same steps, so a pass only confirms that the code which was written was written. It has no independent oracle. Do not add one. On an audit, delete it.
Then match the test against every junk pattern. A match fails the gate unless retention names the contract it guards on its own.
A test that breaks under a behavior-preserving refactor asserts implementation. Rewrite it at the owning boundary, or drop it.
A bug that can recur through a public seam gets one regression at that seam. Prove it the way the coding skill's Tests section describes. Reject a regression that never failed. It proves the mock. Do not replay the same scenario at every layer it crosses.
When rejecting a proposed test, name the failed question or junk pattern and the existing proof, if any.
Junk patterns
Reject a new test that matches one of these. On an audit, these are the candidates to inspect.
- A tautology. The assertion restates the implementation: the test copies the function, recomputes the result with the same steps, or checks that a branch returns the constant written beside it. Passing means the two copies still match. It does not show the code does the right thing.
- An assertion-free coverage probe.
- A self-comparison, or a copier that checks a value against itself.
- A copied fixture, inventory, manifest, or export list.
- A source-text check, unless the coding skill's Tests section treats that text as the contract.
- A private predicate or call-shape test duplicated at the real boundary.
- A second invocation of the same contract.
- A provider-local replay of a shared helper.
- A test whose only job is to preserve a test-only export, global, or wrapper.
- Production code whose only callers are tests.
- An expected value produced by the helper or renderer under test.
- A mock that implements the asserted behavior, or one identical mock standing in for different APIs.
- A fixture that supplies the receipt, admission, or callback order the owner should produce. A persistence assertion against a store the path never writes.
- A capability test that restates a declared flag instead of exercising the delivery or acknowledgement that flag promises.
- A negative control that passes for an unrelated reason, such as a denial from a different guard, or a rejection the production path never reaches.
- A name or fixture that promises more than the input exercises.
Retention
Keep the primary proof of a contract from the coding skill's Tests section. Also keep:
- Ordering, when a caller can observe that the order is wrong.
- A regression with a credible failure mode that the owner-boundary proof does not already catch.
- A test that fails on the current baseline. Treat that as a possible product bug. Reproduce it and repair the owner. Do not delete it to make the run green.
Keep a static or slow test when it is still the proof of a contract. A coverage percentage does not decide admission. A test that resembles implementation may still be the only proof of the contract. Show the stronger remaining proof before removing it.
A touched test that still protects its contract stays. Update it when that contract still holds. Remove or replace a test that protects no contract.
Budget
When the user sets a budget, such as a fraction of a subsystem, continue in coherent batches until the budget is met or the remaining candidates fail the evidence bar. Stopping after the first obvious file leaves the rest of the budget undone. Use only a budget the user set. Report coverage when the project already measures it. The evidence record decides whether a contract survived.
Focused audit
Stay read-only until each candidate has the evidence below. Prefer a few high-confidence candidates over a speculative inventory. Hunt the junk patterns.
Read the whole test and its production owner before judging it: entry point, callers, callees, siblings, overlapping tests, how CI runs them, and the history that explains why the test or seam exists. When the test claims dependency-backed behavior, read that dependency's source or types.
Record every field before editing. A missing field means the candidate is not ready to delete.
- Exact test name and location.
- The failure it can actually detect.
- Non-test callers of the production or support seam it covers.
- The stronger owner-boundary proof that remains, or why no proof is needed.
- The history and the reason the test or seam exists.
- The production or test-support deletion this unlocks.
- The risk, and the focused command that checks it.
Edit
Change one coherent owner-boundary batch. Delete the test-only exports, globals, wrappers, and dead production paths that batch unlocks. Move a retained regression to its canonical owner. Do not add a replacement that restates the same implementation. Do not turn an uncertain candidate into a deletion to raise the count.
Commit, push, or open a PR only when the user asked. Use
the git skill's commit reference when they did.
Validation
Use the project's own check for the owner and its siblings. When a source-text assertion goes away, run the executable check that owns the real contract. Inspect the diff and report production and tooling changes separately from tests and test support.
Do not edit files a test run is already writing.
Handoff
Report:
- The low-value categories removed, and why they were low value.
- Production seams simplified.
- Candidates kept, and why they still earn their cost.
- The checks actually run, and any check that could not run.
- Production lines changed versus test and test-support lines.
- Commit or PR state, when the user asked to land the work.
- Named follow-ups.
Source
Adapted from OpenClaw's test-audit skill (Copyright (c) 2026 OpenClaw Foundation), used under the MIT License. Keep this repository's admission rules. Use the project's own test command, layout, and git workflow.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

