analyze-testslisted
Install: claude install-skill lgtm-hq/ai-skills
# Test Suite Analysis
Perform a focused analysis of this project's test suite. Follow the procedural workflow
below; use the rubric sections as reference when interpreting findings.
## Usage
When asked to analyze test quality:
### 1. Run coverage
Establish baseline coverage (prefer lintro when available):
```bash
uv run lintro tst # runs tests with coverage when configured
```
If lintro is unavailable, use the project's native test command with coverage
(`uv run pytest --cov`, `bun test --coverage`, `cargo llvm-cov`, etc.).
Note overall coverage percentage and files below threshold.
### 2. Find "nothing burger" tests
Search for tests that assert little or trivially pass:
```bash
# Empty or minimal assertions
rg -U 'def test_\w+.*\n(\s+pass|\s+assert True|\s+assert 1 == 1)' --type py
# Tests with no expect/assert (JS/TS)
rg -n 'it\(|test\(' --type ts --type js -A 5 | rg -B2 '^\s*\}\);?\s*$'
# Placeholder / TODO tests
rg -n '(test_|it\(|describe\().*(skip|todo|pending|\.only)' -i
rg -n '@pytest\.mark\.skip|pytest\.skip\(' --type py
```
Flag tests that don't validate real behavior.
### 3. Find missing parametrization
Detect copy-paste test patterns with similar names:
```bash
# Similar test function names (Python)
rg -n 'def test_\w+_\w+_\d+' --type py
rg -n 'def test_(create|update|delete|get)_' --type py | sort
# Repeated it() blocks with numeric suffixes (JS/TS)
rg -n "it\('.*\d+'" --type ts --type js
```
When multiple tests differ only by input values,