check-coverage
Ensure comprehensive test coverage for a CLI handler. Use when adding a new command or auditing existing handler coverage.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install ldayton-dippy-check-coverage
Repository
Skill path: .claude/skills/check-coverage
Ensure comprehensive test coverage for a CLI handler. Use when adding a new command or auditing existing handler coverage.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack, Testing.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: ldayton.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install check-coverage into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/ldayton/Dippy before adding check-coverage to shared team environments
- Use check-coverage for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: check-coverage
description: Ensure comprehensive test coverage for a CLI handler. Use when adding a new command or auditing existing handler coverage.
argument-hint: <tool>
disable-model-invocation: true
---
Ensure the handler and tests for `$ARGUMENTS` provide comprehensive coverage.
## 1. Gather Documentation
Find documentation for the tool (need at least one source):
**tldr:**
```
ls ~/source/tldr/pages/*/$ARGUMENTS*.md
cat ~/source/tldr/pages/*/$ARGUMENTS.md
```
**Local CLI:**
```
$ARGUMENTS --help
man $ARGUMENTS
```
Stop if neither source exists.
## 2. Explore Subcommands
For tools with subcommands, recursively explore:
```
$ARGUMENTS <subcommand> --help
$ARGUMENTS help <subcommand>
```
Build a mental model of:
- All subcommands and their actions
- Which operations are read-only (safe) vs mutate state (unsafe)
- Global flags that affect parsing
- Edge cases
## 3. Review Existing Tests
Read `tests/cli/test_$ARGUMENTS.py` and check for:
- Coverage of all subcommands
- Both safe and unsafe variants of each action
- Global flag handling
- Edge cases from the docs
## 4. Add Missing Tests
Add aspirational test cases for anything missing. Follow existing format:
```python
TESTS = [
# --- Subcommand group ---
("$ARGUMENTS <subcommand> <safe-action>", True),
("$ARGUMENTS <subcommand> <unsafe-action>", False),
]
```
## 5. Iterate Until Tests Pass
```
just test
```
For each failure, determine if the test expectation is correct:
- If yes, update `src/dippy/cli/$ARGUMENTS.py`
- If no, fix the test
## 6. Verify
`just check` MUST pass before you're done.