regression-proof SKILL.md skillA
regression-proof from ehnruiz/claude-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add ehnruiz/claude-skills/regression-proof@git:20261015.6e97839Pins git:20261015.6e97839 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- ehnruiz/claude-skills
- Path
skills/regression-proof/SKILL.md- Versions recorded
- 2
- Latest version
- git:20261015.6e97839, committed Oct 15, 2026
- First version recorded
- Oct 15, 2026
- Size
- 4,310 bytes
- Repository stars
- 3
- License
- MIT
Prove a change before claiming it is done - judge lint, typecheck, tests and git push by their exit codes rather than by reading output, and show that a bug fix's regression test fails without the fix. Use before saying "tests pass", "lint is clean", "pushed" or "fixed in <sha>"; before opening or updating a pull request; whenever a command is piped into grep, tail or head; and whenever a bug fix or false-positive fix ships with a new test. For whether a measured number…
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
# Regression proof Two habits that each cost a CI round, or a reviewer's trust, every time they were skipped: 1. **A gate passed only if its exit code was 0.** Not if the output "looked clean". 2. **A regression test counts only if it fails without the fix.** A test that passes both ways would not have caught the bug. ## Part 1: exit codes, never output A pipe replaces a command's exit code with the last command's. Each of these really happened: | What ran | What it reported | What was true | | --- | --- | --- | | `npm run lint \| grep -E "error\|warning"` | clean | prettier printed `[warn] file.ts` and CI failed on formatting | | `npm test \| grep …; git commit; git push` | pushed | a test was failing; the grep succeeded, so the chain went on | | `git push -q 2>&1 \| tail -1; echo $?` | `0` | the push had failed; `0` was `tail`'s exit code. Replies then cited a sha that was not on the remote | Rules: - Run each gate as its own step, with no pipe, and capture the code: `npm run lint > /tmp/lint.txt 2>&1; echo "lint=$?"`. Read the file only to explain a non-zero code. - Run every gate even after one fails, so one report covers all of them. If the project has a …
Read the whole file at its exact version.
How to install
mdr add ehnruiz/claude-skills/regression-proof@sha256:6e2cc81ecd29091bThe line at the top of this page pins the label git:20261015.6e97839, 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_htjxrqe6x6z6u6pg)
1 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 2 versions of this file, all committed on Oct 15, 2026.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261015.6e97839 latest | 2026-10-15 | 6e97839 | 4,310 B | A | view · diff |
| git:20261015.0b3e11b | 2026-10-15 | 0b3e11b | 4,189 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 (4310 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
ehnruiz/claude-skills · 3 stars · license MIT · pushed 2026-10-21 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_htjxrqe6x6z6u6pg GET https://markdownregistry.com/api/v1/resolve?ref=ehnruiz/claude-skills/regression-proof GET https://markdownregistry.com/api/v1/blob/6e2cc81ecd29091bc6ddb24380b7c91fe283f821cb62b38cdd61bd93bfc24387
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.