typescript-safety SKILL.md skillA
typescript-safety from leahycc/claude-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add leahycc/claude-skills/typescript-safety@git:20261102.1c5abdbPins git:20261102.1c5abdb in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- leahycc/claude-skills
- Path
skills/typescript-safety/SKILL.md- Versions recorded
- 4
- Latest version
- git:20261102.1c5abdb, committed Nov 2, 2026
- First version recorded
- Oct 24, 2026
- Size
- 9,445 bytes
- Repository stars
- 3
- License
- MIT
Makes TypeScript catch more bugs at compile time on TS 6 and 7: tsconfig flags past strict, narrowing and discriminated unions, exhaustive switches, generics and inference (satisfies, const type parameters, NoInfer), utility, mapped, conditional, and template literal types, branded types, unknown at data edges, unknown in catch, hidden any, replacing any, as, ! and ts-ignore, enums and const enum, type or interface, typescript-eslint type-checked rules, Node type stripping and…
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
# TypeScript safety ## Contents - Procedure - Where to read - The traps that cost the most time - Review checklist Getting the compiler to catch bugs before they run, on TypeScript 6 and 7. TS 7.0 is the Go compiler, installed as plain `typescript` since July 2026. `strict` has been the default since 6.0, so the remaining gains come from the flags `strict` leaves off, from narrowing instead of casting, and from parsing data at the edges. **Types describe code, not data.** Anything that enters the process (a response body, `JSON.parse`, storage, env vars) is unchecked until code checks it. An annotation on an `any` is a cast. **Every escape hatch turns off the check that would have caught the bug.** No `any` in new code. Reach for `unknown` and narrow. A cast needs a runtime check next to it. Source checks and dates: [SOURCES.md](SOURCES.md). ## Procedure 1. Read the project's `tsconfig.json` and the installed `typescript` version (`npx tsc --version`). On 5.x or 6.x with deprecation errors, start with [upgrade-6-to-7.md](./resources/upgrade-6-to-7.md). …
Read the whole file at its exact version.
How to install
mdr add leahycc/claude-skills/typescript-safety@sha256:a5e99fddf617d4a8The line at the top of this page pins the label git:20261102.1c5abdb, 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_kkulll5u2v36fncw)
1 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 4 versions of this file, between Oct 24, 2026 and Nov 2, 2026, about one every 3 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261102.1c5abdb latest | 2026-11-02 | 1c5abdb | 9,445 B | A | view · diff |
| git:20261024.388c9a7 | 2026-10-24 | 388c9a7 | 7,404 B | A | view · diff |
| git:20261024.e06ad9b | 2026-10-24 | e06ad9b | 6,855 B | A | view · diff |
| git:20261024.64cea9b | 2026-10-24 | 64cea9b | 6,615 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 (9445 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
leahycc/claude-skills · 3 stars · license MIT · pushed 2026-11-02 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_kkulll5u2v36fncw GET https://markdownregistry.com/api/v1/resolve?ref=leahycc/claude-skills/typescript-safety GET https://markdownregistry.com/api/v1/blob/a5e99fddf617d4a8fb58a5cd1af717874bb4c7cb7db3a0eb62815aa3e849dde4
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.