Agent skill

Test Audit

by udecode in udecode/dotai

Audit existing tests for low-value, duplicated or implementation-coupled cases and the test-only code they keep alive, then remove or rewrite them on evidence.

MITAuto-check passed

Install Test Audit

skills CLI
$ npx skills add udecode/dotai --skill test-audit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install udecode/dotai test-audit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/udecode/dotai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/test-audit .claude/skills/test-audit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
test-audit
GitHub stars
1.2k
Token cost
~1.4k tokens
SKILL.md length
802 words
Files
2
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Audit existing tests for low-value, duplicated or implementation-coupled cases and the test-only code they keep alive, then remove or rewrite them on evidence.

  • Works in 4 steps: For a broad scope, split it into… → For each candidate, read the whole test,… → Prove what a test catches by mutating a… → …
  • /test-audit <scope
  • SKILL.md covers Scope, Discover, read-only, Junk patterns and Retention bar, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Test Audit is an agent skill from udecode/dotai. Audit existing tests for low-value, duplicated or implementation-coupled cases and the test-only code they keep alive, then remove or rewrite them on evidence. Use for test-audit, /test-audit <scope, a test sweep, or pruning tests. Not for writing a new test; the project's Tests rule gates that.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

The licence is MIT.

When your agent uses it

  • /test-audit <scope

Example prompts

  • “/test-audit”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. For a broad scope, split it into read-only lanes by owner area and run them in parallel.
  2. For each candidate, read the whole test, its production owner, the owner's callers, the overlapping tests, CI routing and history. When a…
  3. Prove what a test catches by mutating a scratch copy of its owner and running the test against it, never by editing the checkout.
  4. Prefer a few high-confidence candidates over a long speculative list. Report the evidence before editing.

What it can do on your machine

Read from SKILL.md and the folder at commit 6eb4bd9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Test Audit loads about 1.4k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 802 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~77
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from udecode/dotai at commit 6eb4bd9, republished under its MIT licence (© udecode). 802 words, ~1,362 tokens.

Download SKILL.mdSave it as .claude/skills/test-audit/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
test-audit
description
Audit existing tests for low-value, duplicated or implementation-coupled cases and the test-only code they keep alive, then remove or rewrite them on evidence. Use for test-audit, /test-audit <scope>, a test sweep, or pruning tests. Not for writing a new test; the project's Tests rule gates that.

Test audit

Adapted from openclaw's test-audit skill (MIT, OpenClaw Foundation; see LICENSE).

Judge the result by how much the remaining tests can be trusted, never by how many were deleted. A test is worth keeping when it protects observable behavior, a credible regression, or an independent contract: a public API, protocol, config, migration, storage, security, platform, default, generated, package, release or architecture contract. Static or slow is never a reason to delete.

Scope

Take the user's scope, or the files they name. Read the root and scoped AGENTS.md first; their Tests rule is the bar for every test this audit keeps, rewrites or moves. Leave out skills and code installed from another repository.

Discover, read-only

  1. For a broad scope, split it into read-only lanes by owner area and run them in parallel.
  2. For each candidate, read the whole test, its production owner, the owner's callers, the overlapping tests, CI routing and history. When a test claims behavior a dependency provides, read that dependency.
  3. Prove what a test catches by mutating a scratch copy of its owner and running the test against it, never by editing the checkout.
  4. Prefer a few high-confidence candidates over a long speculative list. Report the evidence before editing.

Junk patterns

  • Assertion-free coverage probes.
  • Self-comparisons and identity copiers.
  • Copied fixtures, inventories, manifests or export lists.
  • Exact source, import or string greps, and regexes over prose.
  • Private predicate or call-shape tests that a test at the real boundary duplicates.
  • Duplicate invocations of the same contract, including a test this run just added and a test that builds its own fixture to recheck what a shared fixture already covers.
  • Tests whose only purpose is keeping a test-only export, global or wrapper alive.
  • Dead production code whose only callers are tests.
  • Expected values produced by the helper or renderer under test.
  • Mocks that implement the asserted behavior, or one mock standing in for different APIs.
  • Fixtures that supply what the owner should produce, or persistence asserted against a store the path never writes.
  • Assertions on a value the code returns as a constant.
  • Negative controls that pass for an unrelated reason, such as a crash or a denial from a different guard.
  • Names or fixtures that promise more than the input exercises.
  • Tests coupled to historical documents or plans whose content keeps changing.

Retention bar

Keep a test that independently enforces one of the contracts listed at the top, and keep:

  • call ordering when the order is observable behavior;
  • a regression with a credible failure mode;
  • a source inspection that is the cheapest independent guard, failing when the user-facing key, byte or path changes and surviving an identifier rename; when the project's Tests rule bans source-text tests, the guard moves to its lint or a check script;
  • a test that fails on the current tree. Treat it as a possible bug, reproduce it and repair the owner or the fixture instead of deleting it.

A test that resembles the implementation may still be the independent contract. Prove otherwise before removing it.

Show full SKILL.md (297 more words)Show less

Candidate evidence

Record every field before editing; a missing field means the candidate is not ready:

  • the exact test name and location;
  • the failure it can actually detect, shown by a mutant;
  • the non-test callers of the covered code;
  • the stronger owner-boundary proof that remains, or why none is needed;
  • the history and the reason the test or seam exists;
  • the production or test-support deletion it unlocks;
  • the risk and the focused validation command.

Edit shape

Change one coherent owner-boundary batch at a time. Delete obsolete test-only exports, globals, wrappers and dead production paths instead of keeping aliases. Move a retained regression to its canonical owner, and fold near-duplicates into the shared fixture. Prefer a change that removes more production lines than it adds. Add no replacement test that restates the implementation, and never turn an uncertain candidate into a deletion to raise the count. Before the first edit to a file that holds another session's work, copy it to scratch.

Validate

  1. Run the owner's and its siblings' tests with the project's own runners.
  2. Run each rewritten test against its named mutant and see it fail.
  3. For a removed grep or plan assertion, run the executable that owns the real contract.
  4. Regenerate anything the edited files feed, such as skill mirrors or a manifest, and run its check.
  5. Report production and test line counts separately, measured against the scratch copies when the index holds other sessions' work.

Review and delivery follow the project's AGENTS.md.

Handoff

Report the removed low-value categories, the production simplifications, the retained false positives and why they stay, the proof actually run, production and test line counts, the commit or PR state, and named follow-ups with owners. In a project with plan pages, write this in the plan's ## Close.

© udecode, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/test-audit of udecode/dotai.

  • SKILL.md
  • LICENSE

Open the folder on GitHubat commit 6eb4bd9

Compare with similar skills

Test Audit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Test Audit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Test Audit this skilludecode/dotai1.2k—~1.4kAutomated safety check: PassMIT
Duplicate JSthedaviddias/Front-End-Checklist74k—~423Automated safety check: PassMIT
Value Propositionphuryn/pm-skills27k—~1.5kAutomated safety check: PassMIT
Value Prop Statementsphuryn/pm-skills27k—~758Automated safety check: PassMIT
Duplicate Descriptionthedaviddias/Front-End-Checklist74k—~695Automated safety check: PassMIT
Duplicate Sweepsuperset-sh/superset15k—~841Automated safety check: PassCustom licence

Similar skills

  • Duplicate JS

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing slow page loads, heavy assets, or rendering delays related to Remove duplicate JavaScript libraries.

    74k GitHub stars~423 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Value Proposition

    phuryn/pm-skills

    Design a detailed value proposition using a 6-part JTBD template — Who, Why, What before, How, What after, Alternatives.

    27k GitHub stars~1.5k tokensUpdated 23 days ago
    Marketing & SEOAuto-check passed
  • Value Prop Statements

    phuryn/pm-skills

    Generate value proposition statements for marketing, sales, and onboarding from existing value propositions.

    27k GitHub stars~758 tokensUpdated 23 days ago
    Marketing & SEOAuto-check passed
  • Duplicate Description

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing a site's meta tag uniqueness, generating page-specific meta descriptions, or reviewing CMS templates that inject the same description globally.

    74k GitHub stars~695 tokensUpdated yesterday
    Marketing & SEOAuto-check passed
  • Duplicate Sweep

    superset-sh/superset

    Find and merge duplicate Linear issues — group reports of the same underlying bug, pick the survivor, and move the evidence across.

    15k GitHub stars~841 tokensUpdated today
    Auto-check passed
  • Aria Valid Attr Value

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Use valid values for ARIA attributes.

    74k GitHub stars~456 tokensUpdated yesterday
    Frontend & DesignAuto-check passed

More from udecode/dotai

  • Walkthrough

    udecode/dotai

    Present final screenshots or rendered artifacts as an annotated walkthrough when visual evidence is requested.

    1.2k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Sync Pstack

    udecode/dotai

    Set up the pstack plugin in a project through an interview, and keep every pstack project on one pinned tag and one shared AGENTS.md overrides block.

    1.2k GitHub stars~8.4k tokensUpdated yesterday
    Auto-check passed
  • Plan Page

    udecode/dotai

    Write, check, repair and publish a plan page: a project's plans and subject files under its plans directory, rendered by .agents/pstack/plan-page.mjs and rendered as one local HTML page per subject…

    1.2k GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed

Questions about Test Audit

What does Test Audit do?

Audit existing tests for low-value, duplicated or implementation-coupled cases and the test-only code they keep alive, then remove or rewrite them on evidence. Test Audit is an agent skill from udecode/dotai. Audit existing tests for low-value, duplicated or implementation-coupled cases and the test-only code they keep alive, then remove or rewrite them on evidence.

When should I use Test Audit?

Test Audit fits situations like: /test-audit <scope.

How do I install Test Audit in Claude Code?

Run `npx skills add udecode/dotai --skill test-audit -a claude-code`. Or copy the skill folder (skills/test-audit in udecode/dotai) into .claude/skills/test-audit in your project. Claude Code loads it when a task matches its description.

How do I install Test Audit in Codex?

Run `npx skills add udecode/dotai --skill test-audit -a codex`. Or copy the skill folder (skills/test-audit in udecode/dotai) into .agents/skills/test-audit in your project. Codex loads it when a task matches its description.

Can I use Test Audit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add udecode/dotai --skill test-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/test-audit, .gemini/skills/test-audit, .github/skills/test-audit and .opencode/skills/test-audit in your project.

What does Test Audit need to run?

SKILL.md names no scripts, command-line tools or credentials: Test Audit is instructions for the agent only.

Does Test Audit access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Test Audit safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Test Audit use?

Test Audit is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Test Audit use?

About 1.4k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Test Audit?

Skills that share tags, products or a category with Test Audit: Duplicate JS (thedaviddias/Front-End-Checklist, 74k stars), Value Proposition (phuryn/pm-skills, 27k stars), Value Prop Statements (phuryn/pm-skills, 27k stars) and Duplicate Description (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Test Audit?

udecode (a GitHub organization) maintains it in udecode/dotai, which has 1,158 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 6, 2026.

Source: udecode/dotai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.