Score any repository
For a quick, one-off harness-maturity reading of any repository — not one
of the 20 already frozen into this study's corpus. Same scanner, same
pinned version, same invariants (zero LLM calls, zero code execution from
the scanned repo) as everything else in this repository — just without the
manifest entry, the commit-pinning, or the versioned report that make a
corpus result citable.
When to use this vs. add-corpus-entry
- This skill: "How does
github.com/foo/bar score?" / "Check my
project's harness maturity." One-off curiosity, comparison, or a sanity
check before deciding whether something is corpus-worthy. Nothing gets
committed.
add-corpus-entry:
the result matters enough to become a permanent, citable data point in
the published study — pinned commit, versioned report, entry in
results/leaderboard.md. If this skill turns up something interesting
("huh, that's surprisingly low/high"), that's the cue to switch to
add-corpus-entry and do it properly instead of just noting the number
and moving on.
How to invoke
node corpus/score-adhoc.mjs <repo-url-or-local-path> [options]
Works on:
- A repo URL (
https://github.com/owner/repo or .git) — shallow-clones
the default branch tip into a gitignored scratch dir and deletes it
afterward.
- A local path (
., ../some-project, an absolute path) — scans
directly, no clone, nothing to clean up. This is the answer to "check my
own project" — never clone something the user already has checked out.
Options that matter most:
--ref <branch-or-sha> — pin to something other than the default branch tip.
--subpath <path> — scan one part of a monorepo.
--json — raw harness-score JSON on stdout (nothing else), for
programmatic use.
--md <file> — also write a full markdown report (harness-score's own
renderer, the same one --md produces natively).
--keep — keep the clone under .cache/adhoc/<slug>/ instead of
deleting it (useful if you want to poke around the checkout afterward).
Full flag list: node corpus/score-adhoc.mjs --help.
What you get back
A level, a score, a per-dimension breakdown, the highest-value unmet
checks ("Biggest wins available"), and — unless --no-compare is
passed — where this would land among the current corpus, by neighbor
("Among the 20 corpus repositories, this would land below X, above Y").
Reporting the result
Don't just paste the raw output. Say what it means:
- Name the level and score, and the single biggest blocker to the next
level (
level.nextLevelGaps in the JSON, or the "To reach L*" line in
the default summary).
- If a "biggest win" is a single cheap fix (e.g. adding a
LICENSE file),
say so plainly — that's exactly the kind of actionable read this whole
tool exists to produce.
- Never editorialize about the company or team behind the
repository from this number alone. A low score means this repository
lacks agent-harness infrastructure — not that the team is careless. See
METHODOLOGY.md's central caveat:
a repository can be excellent, widely used, and well engineered while
legitimately scoring low, because harness maturity and general
engineering quality are different things.
Boundaries
- Git repositories only. This scans a filesystem tree — it can't score
a live website, a rendered page, or anything without a
.git-cloneable
source. If asked to score "a site," confirm you mean its source repo.
- Never runs code from the scanned repository.
corpus/score-adhoc.mjs
(like corpus/run.mjs) only clones and reads files; it must never npm install/build/test inside a scanned repo. That's what makes it safe
to point at an arbitrary, untrusted third-party URL.
- Private repositories will fail to clone (no credentials are ever
passed) — that's expected, not a bug to work around.
1---2name: score-any-repo3description: Use when asked to check, measure, rate, or compare the AI-harness maturity of any repository, project, or codebase not already in the corpus — clones or reads it, scans it with the exact pinned harness-score version this study uses, and reports the level, dimension breakdown, and biggest wins without touching the curated corpus.4---56# Score any repository78For a quick, one-off harness-maturity reading of *any* repository — not one9of the 20 already frozen into this study's corpus. Same scanner, same10pinned version, same invariants (zero LLM calls, zero code execution from11the scanned repo) as everything else in this repository — just without the12manifest entry, the commit-pinning, or the versioned report that make a13corpus result citable.1415## When to use this vs. `add-corpus-entry`1617- **This skill**: "How does `github.com/foo/bar` score?" / "Check my18 project's harness maturity." One-off curiosity, comparison, or a sanity19 check before deciding whether something is corpus-worthy. Nothing gets20 committed.21- **[`add-corpus-entry`](../../../.cursor/skills/add-corpus-entry/SKILL.md)**:22 the result matters enough to become a permanent, citable data point in23 the published study — pinned commit, versioned report, entry in24 `results/leaderboard.md`. If this skill turns up something interesting25 ("huh, that's surprisingly low/high"), that's the cue to switch to26 `add-corpus-entry` and do it properly instead of just noting the number27 and moving on.2829## How to invoke3031```bash32node corpus/score-adhoc.mjs <repo-url-or-local-path> [options]33```3435Works on:36- **A repo URL** (`https://github.com/owner/repo` or `.git`) — shallow-clones37 the default branch tip into a gitignored scratch dir and deletes it38 afterward.39- **A local path** (`.`, `../some-project`, an absolute path) — scans40 directly, no clone, nothing to clean up. This is the answer to "check my41 own project" — never clone something the user already has checked out.4243Options that matter most:44- `--ref <branch-or-sha>` — pin to something other than the default branch tip.45- `--subpath <path>` — scan one part of a monorepo.46- `--json` — raw harness-score JSON on stdout (nothing else), for47 programmatic use.48- `--md <file>` — also write a full markdown report (harness-score's own49 renderer, the same one `--md` produces natively).50- `--keep` — keep the clone under `.cache/adhoc/<slug>/` instead of51 deleting it (useful if you want to poke around the checkout afterward).5253Full flag list: `node corpus/score-adhoc.mjs --help`.5455## What you get back5657A level, a score, a per-dimension breakdown, the highest-value unmet58checks ("Biggest wins available"), and — unless `--no-compare` is59passed — where this would land among the current corpus, by neighbor60("Among the 20 corpus repositories, this would land below X, above Y").6162## Reporting the result6364Don't just paste the raw output. Say what it means:65- Name the level and score, and the single biggest blocker to the next66 level (`level.nextLevelGaps` in the JSON, or the "To reach L*" line in67 the default summary).68- If a "biggest win" is a single cheap fix (e.g. adding a `LICENSE` file),69 say so plainly — that's exactly the kind of actionable read this whole70 tool exists to produce.71- **Never editorialize about the *company* or *team* behind the72 repository from this number alone.** A low score means this repository73 lacks agent-harness infrastructure — not that the team is careless. See74 [METHODOLOGY.md's central caveat](../../../METHODOLOGY.md#the-central-caveat):75 a repository can be excellent, widely used, and well engineered while76 legitimately scoring low, because harness maturity and general77 engineering quality are different things.7879## Boundaries8081- **Git repositories only.** This scans a filesystem tree — it can't score82 a live website, a rendered page, or anything without a `.git`-cloneable83 source. If asked to score "a site," confirm you mean its source repo.84- **Never runs code from the scanned repository.** `corpus/score-adhoc.mjs`85 (like `corpus/run.mjs`) only clones and reads files; it must never `npm86 install`/`build`/`test` inside a scanned repo. That's what makes it safe87 to point at an arbitrary, untrusted third-party URL.88- **Private repositories will fail to clone** (no credentials are ever89 passed) — that's expected, not a bug to work around.