Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/entropyeq/karpathy-plusWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/entropyeq/karpathy-plus/wiki-lint)<a href="https://agentmods.dev/commands/entropyeq/karpathy-plus/wiki-lint"><img src="https://agentmods.dev/badge/commands/entropyeq/karpathy-plus/wiki-lint.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00013 | $0.01056 |
| Opus 5 | $0.00006 | $0.00528 |
| Sonnet 5 | $0.00003 | $0.00211 |
| Haiku 4.5 | $0.00001 | $0.00106 |
Grade A, and why
wiki-lint scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 28 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Run a comprehensive wiki lint pass. Follow each step in order.
A slash command runs in whatever directory the session happens to be in, so do not use bare relative paths — every path below is absolute under the wiki root.
- Resolve the wiki root and run the mechanical pass. Set
WIKIto the path in~/.claude/wiki-rootif that file exists, else~/knowledge/wiki(expand the~to the absolute home path), and use$WIKI/...throughout. Then runbash ~/.claude/hooks/wiki-lint-checks.shand keep its output: it precomputes the deterministic facts (QUEUE, BROKEN-LINK, FRESHNESS, LOG-GAP, TASK, ROOT-ENTRY lines) that steps 1-8 consume — do not re-derive those by hand. (Script not installed? Derive the same facts manually and continue.) After each step, append one line to$WIKI/.lint-runrecording what you did and what you found (e.g.step 3 broken-links: 2 found, 2 fixed). Start by truncating$WIKI/.lint-run.
The mechanical checks (link validity, freshness inputs, log gap, task collection, root listing) live in the script — same answer every run, no tokens spent re-deriving them. The judgment calls (which pages to update, whether a flagged item actually matters, what to fix vs surface) are yours and stay in the steps below.
- Process update queue. The QUEUE line says whether
$WIKI/.update-queuehas entries. If so, read each entry, determine which wiki pages need updating, update them, clear the queue. - Freshness check. From the FRESHNESS lines: flag pages whose
last_updatedlags far behind their git activity, and project pages >1 week stale relative to their repo. (Mechanical inputs; the staleness call is yours.) - Broken links. Fix each BROKEN-LINK line: auto-fix obvious renames, flag true orphans.
- Task aggregation. From the TASK lines: age via git blame if useful, write the top 10 to
$WIKI/tasks-open.md. - Log gap check. Flag if the LOG-GAP line shows the most recent
$WIKI/log.mdentry is >3 days old. - Unprocessed sources. Skip unless your pages actually use a
processed:frontmatter key — no shipped page does on a fresh install, so this no-ops until the convention appears. Once it does: flag files in$WIKI/sources/withoutprocessed: true, older than 5 days. - Log rotation. If
$WIKI/log.mdhas entries older than 30 days, archive them to$WIKI/sources/log-archive-YYYY-MM.md. - Root cleanliness. Check each ROOT-ENTRY line (the knowledge root's contents) against the approved bucket list in CLAUDE.md. Ask triage for anything loose: do it / defer it / kill it.
- Auto-memory drift check. Skip unless you have enabled Claude Code memory (the template does not scaffold it). If enabled: diff key facts between auto-memory and wiki, auto-fix obvious staleness.
- Plan reconciliation. Skip unless your plan pages actually carry a
last_reconciledfrontmatter key — no shipped page does on a fresh install. Once they do: for each$WIKI/plans/*.md, comparelast_reconciledtolast_updatedof any referenced project and flag plans that predate their dependencies. - Heartbeat. Write the current timestamp to
$WIKI/.lint-heartbeat. Update theLast updated / Last lintheartbeat line in$WIKI/INDEX.mdwith the lint summary, and make sure its task pointer readstasks-open.md. - Report. Read
$WIKI/.lint-runback verbatim, then present findings: auto-fixed (just report) and needs-attention (ask triage per item). - Remote sync.
cd "$WIKI" && ([ -z "$(git status --porcelain)" ] || (git add -A && git commit -m 'wiki-lint: auto-sync' && GIT_SSH_COMMAND='ssh -o BatchMode=yes -o ConnectTimeout=10' git push)).git status --porcelain(notgit diff) is the dirty check so brand-new untracked pages count as changes too. BatchMode makes an SSH remote fail fast instead of hanging when no ssh-agent is loaded; an HTTPS remote with a credential helper avoids it entirely.
These steps grow as conventions actually appear. Following the repo's own rule, add a new check (or a new gated frontmatter key) only after its need has fired twice — don't pre-wire checks for keys no page uses yet.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 28 lines · 13 tokens per session scan A 305d624dcdef
wiki-lint is a command published in the GitHub repository entropyeq/karpathy-plus (5 stars, last pushed 1mo ago), licensed MIT. It adds 13 tokens to every session and 1,056 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
converge
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.
implement
Execute the implementation plan by processing and executing all tasks defined in tasks.md.
analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.