Skip to content
Back to skills

Lp Coverage Scan

ASecurity

Coverage gap scanner for startup loop. Reads a business coverage manifest, scans the repo and known integrations for actual artifact/data-source state, classifies gaps as CRITICAL/MAJOR/MINOR, writes a gap report, and emits dispatch packets to queue-state.json for all CRITICAL and MAJOR gaps.

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentsshellgit

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add majiayu000/claude-skill-registry --skill lp-coverage-scan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lp Coverage Scan?

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

Security grade badge for Lp Coverage Scan
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-lp-coverage-scan/badge)](https://www.skillsdirectory.com/skills/majiayu000-lp-coverage-scan)

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: lp-coverage-scan
description: Coverage gap scanner for startup loop. Reads a business coverage manifest, scans the repo and known integrations for actual artifact/data-source state, classifies gaps as CRITICAL/MAJOR/MINOR, writes a gap report, and emits dispatch packets to queue-state.json for all CRITICAL and MAJOR gaps.
---

# Coverage Scan Orchestrator

`/lp-coverage-scan` is the scan and emission layer for startup loop coverage gap detection.

This skill does four things:
1. Read coverage manifest from `docs/business-os/strategy/<BIZ>/coverage-manifest.yaml`
2. Scan repo and known integration paths for each domain entry via `modules/scan-phase.md`
3. Classify gaps as CRITICAL/MAJOR/MINOR and produce a human-readable gap report
4. Emit dispatch packets for CRITICAL/MAJOR gaps to queue-state.json via `modules/emit-phase.md`

Keep this file thin. Do not embed scan rules, classification rubrics, or dispatch templates here.

## Invocation

```
/lp-coverage-scan --biz <BIZ> [--as-of-date <YYYY-MM-DD>] [--dry-run]
```

### Parameters

| Parameter | Required | Default | Notes |
|---|---|---|---|
| `--biz` | Required | — | Business identifier (e.g. `BRIK`, `PWRB`). Must match a directory under `docs/business-os/strategy/`. |
| `--as-of-date` | Optional | Today (YYYY-MM-DD) | Date used for artifact naming and staleness calculation. |
| `--dry-run` | Optional | — | When present: write gap report but skip all queue-state.json writes. Safe read-only mode for verifying scan behavior. |

## Global Invariants

### Operating mode

**SCAN + EMIT**

### Allowed actions

- Read strategy artifact files, frontmatter, and file mtimes (read-only scan)
- Read `docs/business-os/strategy/<BIZ>/coverage-manifest.yaml`
- Write gap report to `docs/business-os/strategy/<BIZ>/coverage-scan-<YYYY-MM-DD>.md`
- Write dispatch packets to `docs/business-os/startup-loop/ideas/trial/queue-state.json` (with writer lock only; see constraint below)
- Run `scripts/agents/with-writer-lock.sh` to acquire writer lock before any queue writes

### Prohibited actions

- Code changes, refactors, or production data modifications
- Destructive shell or git commands
- Writing to queue-state.json without first acquiring writer lock via `scripts/agents/with-writer-lock.sh`
- Running any scan or emitting any dispatch when no manifest exists (`preflight` fail-closed; see below)
- Skipping the dry-run flag when the operator passes it — must respect `--dry-run` and never write to queue-state.json in dry-run mode

## Inputs

| Input | Source | Notes |
|---|---|---|
| Coverage manifest | `docs/business-os/strategy/<BIZ>/coverage-manifest.yaml` | Required; preflight fails if missing |
| Strategy artifacts | `docs/business-os/strategy/<BIZ>/` | Scanned per `artifact_path_patterns` in manifest |
| Integration config | Various locations (see scan-phase.md) | Stripe, Firebase, GA4, Octorate |
| Queue state | `docs/business-os/startup-loop/ideas/trial/queue-state.json` | Written (appended) by emit-phase; never overwritten |

## Module Routing

Execute phases in sequence:

1. **Preflight** — validate manifest exists and is readable; fail-closed if not (see Preflight Gate below)
2. **`modules/scan-phase.md`** — read manifest; scan artifact directories; check data connections; produce gap classification table
3. **`modules/emit-phase.md`** — write gap report artifact; emit CRITICAL/MAJOR dispatches to queue-state.json (skipped entirely on `--dry-run`)

## Preflight Gate

If `docs/business-os/strategy/<BIZ>/coverage-manifest.yaml` does not exist, stop immediately with:

```
Error: No coverage manifest found for <BIZ>.
Expected path: docs/business-os/strategy/<BIZ>/coverage-manifest.yaml
Create a manifest from the template at docs/plans/coverage-manifest-scan-core/coverage-manifest.template.yaml before running lp-coverage-scan.
```

Additional preflight checks:

- If `--biz` argument is missing or no matching strategy directory exists: `Error: No strategy directory found for business <BIZ>. Run from repo root.`

## Output Paths

- **Gap report**: `docs/business-os/strategy/<BIZ>/coverage-scan-<YYYY-MM-DD>.md` — written every run (dry-run and live)
- **Queue dispatches**: `docs/business-os/startup-loop/ideas/trial/queue-state.json` — appended (live runs only; skipped on `--dry-run`)

## Dry-Run Mode

When `--dry-run` is active:

- Scan phase runs normally
- Gap report is written (always safe — no queue impact)
- emit-phase skips all queue-state.json writes and count updates
- Gap report header includes: `[DRY RUN — no dispatches emitted]`

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.