correct-by-construction SKILL.md skillA
correct-by-construction from checkpickerupper/skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add checkpickerupper/skills/correct-by-construction@git:20261021.98508aePins git:20261021.98508ae in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- checkpickerupper/skills
- Path
skills/in-progress/correct-by-construction/SKILL.md- Versions recorded
- 2
- Latest version
- git:20261021.98508ae, committed Oct 21, 2026
- First version recorded
- Sep 26, 2026
- Size
- 23,941 bytes
- Repository stars
- 6
- License
- MIT
Make classes of invalid states and evaded constraints unreachable by type composition first. Use for bugs, bad APIs, models, schemas, generated artifacts, and enforcement rules. Treat the target language's type system as the enforcer, accept its limits, and never substitute runtime checks, brands, casts, or workarounds for a type-level construction.
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
# /correct-by-construction For any prompt that presents a class of invalid states, start at the type algebra or public type surface. The type system is the enforcer: compose types so valid states are inhabitable and the class's invalid combinations fail before execution. Then trace the earliest supporting owner and prescribe or implement the structural change that closes the whole class. "By construction" means the next caller receives a valid value, contract, or route without relying on memory, a final defensive check, or a special workaround. For a class of invalid states, a type composition is the construction fix. A runtime writer, parser, validator, clamp, evaluator, or brand-minting function can be evidence or a residual boundary, never the type-level enforcer or closure proof. ## Type-first default <what-to-do> "Class" is a routing signal, not a phrase the user must say. If the request identifies a family of invalid states, variants, combinations, or semantic cases, begin with the target language's types. Do not wait for "types only". Use sum types, product types, generic indices, literal types, tuples, and …
Read the whole file at its exact version.
How to install
mdr add checkpickerupper/skills/correct-by-construction@sha256:5e0e7b0bc8d6aa4bThe line at the top of this page pins the label git:20261021.98508ae, 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_6nqsyqazsmr6zsme)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 2 versions of this file, between Sep 26, 2026 and Oct 21, 2026, about one every 26 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261021.98508ae latest | 2026-10-21 | 98508ae | 23,941 B | A | view · diff |
| git:20260926.8463ae2 | 2026-09-26 | 8463ae2 | 23,847 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 (23941 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
checkpickerupper/skills · 6 stars · license MIT · pushed 2026-10-23 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_6nqsyqazsmr6zsme GET https://markdownregistry.com/api/v1/resolve?ref=checkpickerupper/skills/correct-by-construction GET https://markdownregistry.com/api/v1/blob/5e0e7b0bc8d6aa4b63d00ad6855aa97a41e222c3c373b96e8c98b361444ae933
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.