making-invalid-states-unrepresentable — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited making-invalid-states-unrepresentable (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
references/.references/advanced-topics.md § Tradeoffs.references/core-and-parse.md for foundational approach.Flag code that exhibits any of these — see references/anti-patterns-and-examples.md for details and fixes:
| Situation | Technique | Reference |
|---|---|---|
| Mutually exclusive states | Sum types / discriminated unions | references/techniques-structural.md § 1 |
| Domain-constrained primitives | Newtype + smart constructor | references/techniques-structural.md § 2 |
| State machine / workflow | Typestate pattern | references/techniques-structural.md § 3 |
| Collection must be non-empty | NonEmpty collection | references/techniques-structural.md § 4 |
| Prevent argument swaps | Branded / opaque types | references/techniques-type-level.md § 5 |
| Compile-time state tagging | Phantom types | references/techniques-type-level.md § 6 |
| Required fields enforcement | Type-safe builder | references/techniques-type-level.md § 7 |
| Complex numeric/range invariants | Refinement types | references/techniques-type-level.md § 8 |
Design types so invalid states cannot be constructed. Let the compiler enforce correctness. Parse at boundaries, trust types internally. See references/core-and-parse.md.
When reviewing code, present each finding as:
When designing types, present:
references/core-and-parse.md — Core principle and parse-don't-validate patternreferences/techniques-structural.md — Sum types, newtypes, typestate, NonEmptyreferences/techniques-type-level.md — Branded types, phantom types, builders, refinement typesreferences/anti-patterns-and-examples.md — Anti-patterns to detect and real-world examplesreferences/implementation-guide.md — Step-by-step process, code review checklist, language support, related principlesreferences/advanced-topics.md — Advanced techniques, modern applications, industry trends, tradeoffs, resources~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.