Skip to content
Back to skills

Check Coverage

ASecurity

Ensure comprehensive test coverage for a CLI handler. Use when adding a new command or auditing existing handler coverage.

  • 243 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added May 28, 2026
toolspythondocumentation

Works with

  • cli

Security analysis

A100/100

Scanned May 28, 2026

npx -y skills add ldayton/Dippy --skill check-coverage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Check Coverage?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Check Coverage
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ldayton-check-coverage/badge)](https://www.skillsdirectory.com/skills/ldayton-check-coverage)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.