Skip to content
Back to skills

Report Coverage

ASecurity

Check whether a folder of dated or numbered reports is actually complete, and name what is missing — without guessing. Use when asked "is anything missing from this folder", "do we have all the monthly/weekly/quarterly reports", "check coverage of these files", "which months are we missing", or before summarising, charting, or drawing a conclusion from a folder of periodic files. Also use when a task depends on having every report in a range and nobody has verified it.

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 1, 2026
ai-agentsbash

Works with

  • cli

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 1, 2026

npx -y skills add i-ops-hq/assurance --skill report-coverage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Report Coverage?

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

Security grade badge for Report Coverage
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/i-ops-hq-report-coverage/badge)](https://www.skillsdirectory.com/skills/i-ops-hq-report-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: report-coverage
description: >-
  Check whether a folder of dated or numbered reports is actually complete, and name what is
  missing — without guessing. Use when asked "is anything missing from this folder", "do we have
  all the monthly/weekly/quarterly reports", "check coverage of these files", "which months are
  we missing", or before summarising, charting, or drawing a conclusion from a folder of periodic
  files. Also use when a task depends on having every report in a range and nobody has verified it.
---

# Report coverage

Answer one question about a folder: **is every report in the span present, and which are not?**

The answer must come from `assurance check`, never from your own reading of the file listing.
Counting filenames yourself is how a missing period gets missed or an absent one gets invented —
this skill exists because the tool it wraps once did exactly that and had to be fixed.

## Run it

```bash
assurance check <folder> --json
```

Install it first if the command is not there: `pip install assurance-cli`.

`check` opens `.csv`, `.tsv` and `.xlsx` files only. It reads the **filenames** to work out the
cadence and the span — it does not parse contents — so it is fast and safe to point at a folder
you have not inspected.

## Read the result

Parse `coverage.coverage` from the JSON. Three outcomes, and they are not the same:

| | means | what to say |
|---|---|---|
| `required > 0`, `complete: true` | every period in the span is present | report it complete, with the ratio |
| `required > 0`, `complete: false` | real gaps, and it knows which | report the ratio **and name the missing periods** from `expected` |
| `required == 0` | it refused — no cadence it could establish | say it refused and why; **do not** report "0 coverage" |

**`required == 0` is a refusal, not a score of zero.** The folder may be perfectly fine and simply
not periodic. Quote the `summary` field, which says which of the three refusal causes applied —
nothing opened, nothing dated, or nothing there.

Never write a missing-period list of your own. Take it from `expected`, or say the tool did not
produce one.

## Exit codes

- `0` — the folder was read and a ratio produced, gap or no gap
- `1` — refused, **or** incomplete when `--fail-on-gap` was passed

Add `--fail-on-gap` when the caller wants an incomplete folder to stop a pipeline. Note that it
collapses "refused" and "incomplete" into the same code, so if you need to tell them apart, read
`required` from the JSON rather than the exit status.

## Useful flags

- `--expect monthly|quarterly|weekly|daily|numbered` — assert the cadence instead of inferring it.
  Use when you know what the folder should be. **Known limit in 0.5.1:** if the assertion disagrees
  with the filenames, it does not refuse — it answers against the asserted unit while listing the
  detected one (`0 of 8 months ... not in this folder: Week 2, 2025`). Treat a `0 of N` whose unit
  does not match the periods it names as evidence your assertion is wrong, not as real coverage.
- `--from` / `--to` — set the span explicitly. Without them the span is inferred from the earliest
  and latest filenames, which means **a report missing from either end cannot be detected**. If the
  caller knows the intended range, pass it.

## Reporting back

Lead with the ratio and the named gaps. Keep the tool's own wording for what is missing — it is
precise about the difference between a period that was never produced and one produced under a
name that could not be read, and that distinction is usually the actionable part.

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.