principle-prove-it SKILL.md skillA
principle-prove-it from edbertchan/catstack is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add edbertchan/catstack/principle-prove-it@git:20260925.92f4d17Pins git:20260925.92f4d17 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- edbertchan/catstack
- Path
corpus/skills/principle-prove-it/SKILL.md- Versions recorded
- 5
- Latest version
- git:20260925.92f4d17, committed Sep 25, 2026
- First version recorded
- Sep 9, 2026
- Size
- 5,025 bytes
- Repository stars
- 6
- License
- none declared
Apply before any claim about code, systems, or history. No claim without same-turn evidence; a hedge is a trigger to verify, never a place to stop. Routes the four investigation products that build the evidence. Unlike the other principles this one auto-fires: it must intercept a claim as it forms, not be named after the fact.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Prove It
A claim is settled only when the evidence for it is in the same message.
Everything else is a hypothesis and must say so.
**Why:** the cheap signal always stands in for the expensive one. A build
passes and gets reported as "it works." A file exists and gets reported as
"it's wired up." A name matches and gets reported as "that's the bug." Each
substitution is individually reasonable and collectively how wrong answers
reach the user with confidence attached.
## The gate
Before writing any claim of the form "this is fixed," "this works," "the
cause is X," "it's merged," "N are running" — you must already have, in the
same message, one of:
1. A command run this turn, with its real pasted output. Not summarized.
2. A `file:line` read this turn, named with the ref it was read at.
3. A test name plus its real pass/fail line from the runner.
Otherwise tag the claim `{{CAT-UNVERIFIED: <claim> -- cannot verify: <reason>}}`,
naming what blocks the check. The `unverified-tag-check` hook checks each such
tag in the background and reports whether the blocker held. There is no softer
wording. The full evidence rules live in `engine/CLAUDE.core.md` and are always
…Read the whole file at its exact version.
How to install
mdr add edbertchan/catstack/principle-prove-it@sha256:497813257a5550b2The line at the top of this page pins the label git:20260925.92f4d17, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_mkdzlmyj22lmkci3)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 5 versions of this file, between Sep 9, 2026 and Sep 25, 2026, about one every 4 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260925.92f4d17 latest | 2026-09-25 | 92f4d17 | 5,025 B | A | view · diff |
| git:20260914.cf98899 | 2026-09-14 | cf98899 | 4,916 B | A | view · diff |
| git:20260912.b38696f | 2026-09-12 | b38696f | 3,793 B | A | view · diff |
| git:20260910.aa8d5ad | 2026-09-10 | aa8d5ad | 3,744 B | A | view · diff |
| git:20260909.2dc9a9f | 2026-09-09 | 2dc9a9f | 3,177 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (5025 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
edbertchan/catstack · 6 stars · license none declared · pushed 2026-10-22 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_mkdzlmyj22lmkci3 GET https://markdownregistry.com/api/v1/resolve?ref=edbertchan/catstack/principle-prove-it GET https://markdownregistry.com/api/v1/blob/497813257a5550b28a71efdacf4a18a3b35eae3c725d6ca56be2887918e58a17
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.