Skip to content
Back to skills

Analog Closeness Scorecard

ASecurity

Recompute the M/H/G/O/E/I/T/V weighted closeness score (and the observed-vs-inferred quality bar) for a product-analog comparison, reusing the exact formula from the 2026-08-14 analog-repos-gap-fill survey instead of hand-deriving the arithmetic each time. Use when scoring how close a candidate repo/product is to RavenClaude (or any similarly-shaped catalog+governance+ops comparison) on the eight-dimension rubric.

  • 7 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
ai-agentspythonrustgobash

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add mcorbett51090/RavenClaude --skill analog-closeness-scorecard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Analog Closeness Scorecard?

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

Security grade badge for Analog Closeness Scorecard
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mcorbett51090-analog-closeness-scorecard/badge)](https://www.skillsdirectory.com/skills/mcorbett51090-analog-closeness-scorecard)

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: analog-closeness-scorecard
description: "Recompute the M/H/G/O/E/I/T/V weighted closeness score (and the observed-vs-inferred quality bar) for a product-analog comparison, reusing the exact formula from the 2026-08-14 analog-repos-gap-fill survey instead of hand-deriving the arithmetic each time. Use when scoring how close a candidate repo/product is to RavenClaude (or any similarly-shaped catalog+governance+ops comparison) on the eight-dimension rubric."
---

# Analog closeness scorecard

Q2 of the `analog-repos-gap-fill` leftovers
([`docs/follow-ups/2026-08-14-analog-repos-leftovers.md`](../../../../docs/follow-ups/2026-08-14-analog-repos-leftovers.md)),
unparked on owner request. Packages the closeness-scoring arithmetic from the
[2026-08-14 analog survey](../../../../docs/plans/archive/2026-08-14-analog-repos-gap-fill/catalog.md) as a
reusable, self-tested script instead of a one-off calculation redone by hand for the next survey.

## The rubric (unchanged from the survey)

Eight dimensions, each scored **0 / 1 / 2**:

| dim | meaning |
|---|---|
| M | Marketplace catalog + install path |
| H | Multi-host projection from one tree |
| G | Hooks / governance as policy |
| O | Agent ops / routing |
| E | Eval / golden-set of agent failures |
| I | Installer / CLI |
| T | Trust boundary for untrusted tool/web output |
| V | Operator-visible catalog / dashboard |

**Weighted score:** `3M + 3H + 3G + 2O + 2E + 2I + 2T + 1V` (max 36).

**Closeness bucket** (derived from the weighted score, not scored directly):

| weighted range | closeness |
|---|---|
| 0–8 | 1 |
| 9–14 | 2 |
| 15–20 | 3 |
| 21–27 | 4 |
| 28–36 | 5 |

**Quality bar** (a row that fails this is `dropped`, not scored): at least one of M/H/G must be ≥ 1,
**and** at least 3 of the 8 dimensions must be `kind: observation` (a file body or listing actually
read this session — `[obs]` in the survey's provenance notation), not `kind: inference` (`[inf]`,
guessed from a listing alone). This mirrors the survey's own observation-vs-inference discipline
([`CLAUDE.md`](../../CLAUDE.md) § "Claim Grounding" Rule 1b) — a row scored entirely from inference is
not evidence, however high its arithmetic total.

## Usage

```bash
python3 score_closeness.py --json '{
  "dims": {"M":2,"H":1,"G":2,"O":2,"E":0,"I":2,"T":0,"V":2},
  "provenance": {"M":"obs","H":"obs","G":"obs","O":"inf","E":"inf","I":"obs","T":"inf","V":"obs"}
}'
```

Prints `{"weighted": N, "closeness": 1-5, "quality_bar_pass": bool, "reasons": [...]}` on stdout,
exit 0. A row that fails the quality bar still gets a `weighted`/`closeness` number (for visibility)
but `quality_bar_pass: false` — the caller decides whether to route it to a `dropped.md`-style ledger,
exactly as the survey did.

`--self-test` reproduces two verified rows from the survey's own published table (catalog row #1,
weighted 25 → closeness 4; row #13, weighted 8 → closeness 1) as a regression pin, plus a
must-fail-shaped fixture that scores highly on arithmetic alone but fails the quality bar (all of
M/H/G at 0, every dimension `inf`) — proving the quality bar is load-bearing and not vestigial.

## What this is not

- Not a fourth analog fill — this ships no hook, agent, or product-shaped default change. It is a
  scoring utility for a human- or agent-run comparison.
- Not a re-run of the 2026-08-14 survey. N=13 stays the closed, verified set
  ([`docs/follow-ups/2026-08-14-analog-repos-leftovers.md`](../../../../docs/follow-ups/2026-08-14-analog-repos-leftovers.md)
  § "Do-not-redo") — do not pad it to 30 using this tool.

Files in this skill

  • SKILL.md3.5 KB
  • score_closeness.py6.4 KB

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…