- Home
- Skills
- Code Quality & Review
- test-coverage-auditor
More screenshots
Works with the AI Agents you already use
Test Coverage Auditor
Your CI dashboard shows 78% line coverage. Your CTO calls it "good enough.
Free
test-coverage-auditor
Example session with this skill installed
"Audit test coverage for this Node.js project before we start the testing sprint"
- Read your context and instructions
- Compiled the test-coverage-auditor
TEST COVERAGE AUDIT REPORT
══════════════════════════
CRITICAL — PUBLIC API WITH ZERO TESTS
─────────────────────────────────────
File Function Lines Risk
───────────────────────── ────────────────────── ────── ────────────────────
src/payments/refund.ts refundOrder() 30-88 Handles money
src/payments/refund.ts validateRefundAmount() 90-112 Financial validation
src/auth/validateToken.ts verifyJWT() 15-42 Authentication
WARNING — TESTED BUT MISSING EDGE CASES
───────────────────────────────────────
File Function Missing Cases
────────────────── ────────── ────────────────────────────────────────
src/utils/parse.ts parseCSV() null input, empty string, malformed rows
TESTED BUT WEAK ASSERTIONS
──────────────────────────
File Test Problem
──────────────────── ─────────────── ──────────────────────────────
tests/export.test.ts "runs exporter" No assertion on output content
TOP 3 PRIORITIES
────────────────
- validateRefundAmount() — auth bypass risk on refund edge cases
- verifyJWT() — current test mocks away actual verification
- parseCSV() — null/empty input
Connects securely to your tools. The creator never sees your data.
About this skill
The Problem
Your CI dashboard shows 78% line coverage. Your CTO calls it "good enough." But that 78% doesn't tell you that the payment processing module at src/payments/refund.ts has zero tests, that the auth token validator at src/auth/validateToken() has a test that only checks toBeDefined(), and that the CSV parser at src/utils/parse.ts has tests but none cover null input. The coverage number looks fine. The untested critical paths are a time bomb.
What You Get
- Detect your testing framework automatically — Jest, Vitest, Pytest, Go testing, Rust
#[test], Mocha — so you get language-appropriate mapping rules without configuration - Map every source file to its test files using framework-specific naming conventions (
login.ts→login.test.ts,test_login.py,store_test.go) and flag files with zero test coverage - Categorize untested exports by risk — Critical (auth, payments, data persistence), Warning (utilities, transformations), Info (constants, types) — so you write tests for what matters first
- Identify tested-but-incomplete coverage — files that have test files but miss null/empty/boundary/error-state edge cases, which static coverage tools report as "covered"
- Detect weak assertions — tests that pass without asserting meaningful outcomes (
expect(result).toBeDefined(), bare function calls with no assert), inflating confidence without verifying behavior - Generate a prioritized remediation plan — top 3 highest-risk untested functions, quick-win pure functions testable in under 5 minutes, and framework recommendations when no testing infrastructure exists
Why This Beats Prompting It Yourself
Running jest --coverage gives you a percentage and a per-file heat map. It doesn't tell you that the 3 untested files are all in your payments directory, that the "tested" file only exercises one of four exported functions, or that the test for your token validator uses a mock that bypasses the actual validation logic. This skill reads both source and test files, matches actual function calls against exports, and produces a risk-weighted gap map — the difference between "we have coverage" and "we have coverage of what matters."
Example Session
You: "Audit test coverage for this Node.js project before we start the testing sprint"
Agent:
TEST COVERAGE AUDIT REPORT
══════════════════════════
CRITICAL — PUBLIC API WITH ZERO TESTS
─────────────────────────────────────
File Function Lines Risk
───────────────────────── ────────────────────── ────── ────────────────────
src/payments/refund.ts refundOrder() 30-88 Handles money
src/payments/refund.ts validateRefundAmount() 90-112 Financial validation
src/auth/validateToken.ts verifyJWT() 15-42 Authentication
WARNING — TESTED BUT MISSING EDGE CASES
───────────────────────────────────────
File Function Missing Cases
────────────────── ────────── ────────────────────────────────────────
src/utils/parse.ts parseCSV() null input, empty string, malformed rows
TESTED BUT WEAK ASSERTIONS
──────────────────────────
File Test Problem
──────────────────── ─────────────── ──────────────────────────────
tests/export.test.ts "runs exporter" No assertion on output content
TOP 3 PRIORITIES
────────────────
1. validateRefundAmount() — auth bypass risk on refund edge cases
2. verifyJWT() — current test mocks away actual verification
3. parseCSV() — null/empty input
Use Cases
- Planning a test-writing sprint — get a prioritized queue of what needs tests before you start
- Pre-deployment risk assessment — identify untested critical paths before go-live
- Inheriting an unknown codebase — map the test debt landscape in 5 minutes
- QA risk concentration analysis — find where untested code overlaps with money/auth paths
- Validating that coverage tool numbers match reality — pair with this audit to catch inflated metrics
- Team sprint planning — assign test-writing tasks based on risk priority, not file order
Known Limitations
This is static source-to-test mapping — it cannot execute tests or measure runtime coverage percentages. Go/Rust colocated tests require checking same-directory patterns, not just tests/ folders. Generated code, vendored dependencies, and ORM migrations may produce false "untested" flags if exclusions aren't configured. For runtime coverage numbers, pair with pytest --cov or jest --coverage.
Upgrade to Pro
Free maps the coverage gaps. Test Coverage Auditor Pro ($5) closes them: framework-aware test generation, edge-case matrices, mutation testing, and CI coverage trending. Upgrade when hand-writing tests is the bottleneck — Pro version.
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
13 installs
Downloaded by developers to date
Free forever
No account required to browse
Trust & safety
Security scanned
Verified clean 4 months ago
- Free to download with an account
Requires