antfu skillB
antfu is agent-read markdown (skill) from antfu/skills: Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects. Use when setting up new projects, configuring ESLint/Prettier alternatives, monorepos, library publishing, or when the user mentions Anthony Fu's preferences..
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified before it reaches your agent: the main file against the SHA-256 recorded here, the others against the git hashes of its source commit. The deterministic audit below grades the latest version, and the same checks always give the same file the same grade.
What the file says
## Coding Practices ### Code Organization - **Single responsibility**: Each source file should have a clear, focused scope/purpose - **Split large files**: Break files when they become large or handle too many concerns - **Type separation**: Always separate types and interfaces into `types.ts` or `types/*.ts` - **Constants extraction**: Move constants to a dedicated `constants.ts` file ### Runtime Environment - **Prefer isomorphic code**: Write runtime-agnostic code that works in Node, browser, and workers whenever possible - **Clear runtime indicators**: When code is environment-specific, add a comment at the top of the file: ```ts // @env node // @env browser ``` ### TypeScript - **Explicit return types**: Declare return types explicitly when possible - **Avoid complex inline types**: Extract complex types into dedicated `type` or `interface` declarations ### Explicitness Favor explicit, traceable code over implicit "magic". A reader (human or agent) should be able to follow where every name comes from without running tooling. …
Read the whole file at its exact version.
How to install
mdr add antfu/skills/antfu@v2026.06.22mdr add antfu/skills/antfu@sha256:22f8a4129da8e44dPin to a label to follow the author's releases, or to a sha256 for exact bytes. Either way the resolved hash is written to mdr.lock, and mdr install fetches those bytes again and checks them, so it installs them exactly or fails.
[](https://markdownregistry.com/a/art_j2ae7c6ik6hounf4)
0 badge views in 30 days
Versions
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| v2026.06.22 latest | 2026-06-23 | a74f281 | 5,358 B | B | view · diff |
| v2026.05.01 | 2026-05-01 | 50deaeb | 4,696 B | B | view · diff |
| v2026.02.03 | 2026-02-03 | 3fb90f0 | 3,947 B | B | view · diff |
| v2026.1.28 | 2026-01-31 | d96d850 | 3,268 B | B | view · diff |
| v2026.1.28 | 2026-01-28 | dc25b4c | 5,406 B | B | view |
Audit of the latest version
- fail: No script tag (matched: <script)
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (5358 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
Source
antfu/skills · 5,927 stars · license MIT · pushed 2026-09-28 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_j2ae7c6ik6hounf4 GET https://markdownregistry.com/api/v1/resolve?ref=antfu/skills/antfu GET https://markdownregistry.com/api/v1/blob/22f8a4129da8e44d1ceff184c2f5774da2751eaa3ecc435725f20bed5d51f75a
Your agent 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.