Agent skill

Karpathy LLM Wiki

by Astro-Han in Astro-Han/karpathy-llm-wiki

A skill your agent uses when building or maintaining a personal LLM-powered knowledge base.

MITAuto-check passedKnowledge Management

Install Karpathy LLM Wiki

skills CLI
$ npx skills add Astro-Han/karpathy-llm-wiki --skill karpathy-llm-wiki -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Astro-Han/karpathy-llm-wiki karpathy-llm-wiki --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
karpathy-llm-wiki
GitHub stars
2.5k
Token cost
~3.6k tokens
SKILL.md length
1,918 words
Files
16 (incl. scripts, references, assets)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when building or maintaining a personal LLM-powered knowledge base.

  • Works in 3 steps: Get the source content using whatever… → Pick a topic directory. Check existing… → Save as…
  • Maintaining a personal LLM-powered knowledge base
  • SKILL.md covers Architecture, The Grounding Invariant, Ingest and Query, plus 2 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Karpathy LLM Wiki is an agent skill from Astro-Han/karpathy-llm-wiki. Use when building or maintaining a personal LLM-powered knowledge base. Triggers: ingesting sources into a wiki, querying wiki knowledge, linting wiki quality, 'add to wiki', 'what do I know about', or any mention of 'LLM wiki' or 'Karpathy wiki'.

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 20 other files, including scripts, reference files and assets (for example `README.md`, `examples/2026-03-19-claude-code-statusline-landscape.md` and `examples/README.md`).

It sits in Knowledge Management, covering LLM wikis. The repository describes itself as: Agent Skills-compatible LLM wiki for Claude Code, Cursor, and Codex. Build a Karpathy-style knowledge base from raw sources, citations, and linting. The licence is MIT.

When your agent uses it

  • Maintaining a personal LLM-powered knowledge base
  • Tasks that involve LLM wikis

Example prompts

  • “add to wiki”
  • “what do I know about”
  • “LLM wiki”
  • “/karpathy-llm-wiki”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Get the source content using whatever web or file tools your environment provides. If nothing can reach the source, ask the user to paste…
  2. Pick a topic directory. Check existing raw/ subdirectories first; reuse one if the topic is close enough. Create a new subdirectory only…
  3. Save as raw//YYYY-MM-DD-descriptive-slug.md.

What it can do on your machine

Read from SKILL.md and the folder at commit eafcc77. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Karpathy LLM Wiki loads about 3.6k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 66 tokens; SKILL.md has 1,918 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~66
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Astro-Han/karpathy-llm-wiki at commit eafcc77, republished under its MIT licence (© Astro-Han). 1,918 words, ~3,564 tokens.

Download SKILL.mdSave it as .claude/skills/karpathy-llm-wiki/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
name
karpathy-llm-wiki
description
Use when building or maintaining a personal LLM-powered knowledge base. Triggers: ingesting sources into a wiki, querying wiki knowledge, linting wiki quality, 'add to wiki', 'what do I know about', or any mention of 'LLM wiki' or 'Karpathy wiki'.

Karpathy LLM Wiki

Build and maintain a personal knowledge base using LLMs. You manage two directories: raw/ (immutable source material) and wiki/ (compiled knowledge articles). Sources go into raw/, you compile them into wiki articles, and the wiki compounds over time.

Core ideas from Karpathy:

  • "The LLM writes and maintains the wiki; the human reads and asks questions."
  • "The wiki is a persistent, compounding artifact."

Architecture

Three layers, all under the user's project root:

raw/ — Immutable source material. You read, never modify. Organized by topic subdirectories (e.g., raw/machine-learning/).

wiki/ — Compiled knowledge articles. You have full ownership. Organized by topic subdirectories, one level only: wiki/<topic>/<article>.md. Contains two special files:

  • wiki/index.md — Global index. One row per article, grouped by topic, with link + summary + Updated date.
  • wiki/log.md — Append-only operation log.

SKILL.md (this file) — Schema layer. Defines structure and workflow rules.

Templates live in references/ relative to this file. Read them when you need the exact format for raw files, articles, archive pages, or the index.

Initialization

Triggers only on the first Ingest. Check whether raw/ and wiki/ exist. Create only what is missing; never overwrite existing files:

  • raw/ directory (with .gitkeep)
  • wiki/ directory (with .gitkeep)
  • wiki/index.md — heading # Knowledge Base Index, empty body
  • wiki/log.md — heading # Wiki Log, empty body

If Query or Lint cannot find the wiki structure, tell the user: "Run an ingest first to initialize the wiki." Do not auto-create.

The Grounding Invariant

Every load-bearing fact in wiki/ — numbers, dates, direct quotes — exists verbatim in the raw/ files linked by that article's Raw field. Compile establishes this invariant (locate before you write); lint verifies it (scripts/check_evidence.py greps the high-signal literals — suffixed or large numbers, decimals, ISO dates, longer quotes — in the linked raws; the compile-time locate-before-write rule covers the rest). Because raw/ is immutable, a verified article stays verified; the script re-checks the whole wiki in seconds, so there is no incremental state to maintain.


Ingest

Fetch a source into raw/, then compile it into wiki/ — unless the source adds nothing new. Always fetch; whether to compile depends on the triage below.

Fetch (raw/)
  1. Get the source content using whatever web or file tools your environment provides. If nothing can reach the source, ask the user to paste it directly.

  2. Pick a topic directory. Check existing raw/ subdirectories first; reuse one if the topic is close enough. Create a new subdirectory only for genuinely distinct topics.

  3. Save as raw/<topic>/YYYY-MM-DD-descriptive-slug.md.

    • Slug from source title, kebab-case, max 60 characters.
    • Published date unknown → omit the date prefix from the file name (e.g., descriptive-slug.md). The metadata Published field still appears; set it to Unknown.
    • If a file with the same name already exists, append a numeric suffix (e.g., descriptive-slug-2.md).
    • Include metadata header: source URL, collected date, published date.
    • Preserve original text. Clean formatting noise. Do not rewrite opinions.

    See references/raw-template.md for the exact format.

Triage

After saving the raw file and before editing wiki/, search wiki/ with the source's key entities and synonyms, then state the disposition:

  • New — creates one or more new articles.
  • Update — merges into existing article(s).
  • Disputed — contradicts existing content; may combine with New or Update (see Compile for conflict annotation).
  • No material — adds no knowledge beyond what the wiki already holds. Keep the raw file, log it (see Post-Ingest), and stop. Do not force an article out of a thin source.

New, Update, and Disputed may be combined. No material is exclusive.

Compile (wiki/)

Determine where the new content belongs:

  • Same core thesis as existing article → Merge into that article. Add the new source to Sources/Raw. Update affected sections.
  • New concept → Create a new article in the most relevant topic directory. Name the file after the concept, not the raw file.
  • Spans multiple topics → Place in the most relevant directory. Add See Also cross-references to related articles elsewhere.

These are not mutually exclusive. A single source may warrant merging into one article while also creating a separate article for a distinct concept it introduces. In all cases, check for factual conflicts: if the new source contradicts existing content, mark the contested claims with a Status: Disputed block (see references/article-template.md). When the conflicting content lives in separate articles, mark both and cross-link them.

Source fidelity. Every number, date, and direct quote must be located in the raw file (grep or read) before it is written; write the value exactly as found — if the source says 42K, write 42K, not 42,000. Derived values (sums, deltas, counts you computed) must show their components so each component is findable in raw. If you cannot locate a value, do not write its exact form; drop it or state it without precision.

See references/article-template.md for article format. Key points:

  • Sources field: author, organization, or publication name + date, semicolon-separated.
  • Raw field: markdown links to raw/ files, semicolon-separated.
  • Relative paths from wiki/<topic>/ use ../../raw/<topic>/<file>.md (two levels up to project root).
Cascade Updates

After the primary article, check for ripple effects. Do not rely on the index alone: search the full wiki for the source's key entities, aliases, and the claims it touches, then update every non-archive article whose content is materially affected. Each updated file gets its Updated date refreshed.

When the new source supersedes or contradicts an existing claim, keep the old claim for the record but mark it with a Status block (see references/article-template.md): Outdated when something newer replaces it, Disputed when sources disagree. Never silently rewrite history.

Archive pages are never cascade-updated (they are point-in-time snapshots).

Post-Ingest

Update wiki/index.md: add or update entries for every touched article. When adding a new topic section, include a one-line description. The Updated date reflects when the article's knowledge content last changed, not the file system timestamp. See references/index-template.md for format.

Append to wiki/log.md:

## [YYYY-MM-DD] ingest | <primary article title>
- Disposition: <New; Update; Disputed>
- Raw: <raw file path>
- Updated: <cascade-updated article title>

Omit - Updated: lines when no cascade updates occur. For No material, log and stop. Use a project-root-relative raw path (for example, raw/topic/file.md):

## [YYYY-MM-DD] ingest | no material: <project-root-relative raw file path>
- Disposition: No material

The exact no-material heading is the machine-readable inventory key; the Disposition line remains required for a complete human-readable log entry.

Research (multi-source ingest)

Use only when the user explicitly asks to research a topic or gather sources into the wiki. Ordinary knowledge questions go to Query, which never writes files.

  1. Split the topic into a few angles. For each, search with a wide net — official names, abbreviations, and synonyms, not just the literal keywords.
  2. For any core claim you expect to conclude, deliberately search the opposing side: failures, criticism, failed replications.
  3. Save selected sources to raw/ as usual. Searching may run in parallel; compilation must not — compile one source at a time, because index.md, log.md, and cascade updates are shared state.

Query

Search the wiki and answer questions. Examples of triggers:

  • "What do I know about X?"
  • "Summarize everything related to Y"
  • "Compare A and B based on my wiki"
Show full SKILL.md (802 more words)Show less
Steps
  1. Read wiki/index.md to locate candidate articles, then full-text search wiki/ with the topic's key terms and their synonyms. Never claim the wiki has no relevant content until both the index and the full-text search come back empty — and say that you searched.
  2. Read the articles you found and synthesize an answer.
  3. Prefer wiki content over your own training knowledge. Cite sources with markdown links: [Article Title](wiki/topic/article.md) (project-root-relative paths for in-conversation citations; within wiki/ files, use paths relative to the current file).
  4. Output the answer in the conversation. Do not write files unless asked.
Archiving

When the user explicitly asks to archive or save the answer to the wiki:

  1. Write the answer as a new wiki page. See references/archive-template.md. When converting conversation citations to the archive page, rewrite project-root-relative paths (e.g., wiki/topic/article.md) to file-relative paths (e.g., ../topic/article.md or article.md for same-directory).
    • Sources: markdown links to the wiki articles cited in the answer.
    • No Raw field (content does not come from raw/).
    • File name reflects the query topic, e.g., transformer-architectures-overview.md.
    • Place in the most relevant topic directory.
  2. Always create a new page. Never merge into existing articles (archive content is a synthesized answer, not raw material).
  3. Update wiki/index.md. Prefix the Summary with [Archived].
  4. Append to wiki/log.md:
    ## [YYYY-MM-DD] query | Archived: <page title>

Lint

Quality checks on the wiki. Three categories with different authority levels.

Safe Fixes (auto-fix)

Fix these automatically:

Index consistency — compare wiki/index.md against actual wiki/ files (excluding index.md and log.md):

  • File exists but missing from index → add entry with (no summary) placeholder. For Updated, use the article's metadata Updated date if present (for archive pages, the Archived date); otherwise fall back to file's last modified date.
  • Index entry points to nonexistent file → mark as [MISSING] in the index. Do not delete the entry; let the user decide.
  • Index entry's Updated differs from the article's metadata Updated (or Archived, for archive pages) → update the index entry to match the article.

Internal links — for every markdown link in wiki/ article files (body text and Sources metadata), excluding Raw field links (validated by Raw references below), excluding See Also section links (handled by the See Also rule below), and excluding index.md/log.md (handled above):

  • Target does not exist → search wiki/ for a file with the same name elsewhere.
    • Exactly one match → fix the path.
    • Zero or multiple matches → report to the user.

Raw references — every link in a Raw field must point to an existing raw/ file:

  • Target does not exist → search raw/ for a file with the same name elsewhere.
    • Exactly one match → fix the path.
    • Zero or multiple matches → report to the user.

See Also — within each topic directory:

  • Target of a See Also link does not exist → search wiki/ for a file with the same name elsewhere.
    • Exactly one match → fix the path.
    • Zero matches → remove the link (a dead cross-reference is not load-bearing).
    • Multiple matches → report to the user.
Mechanical Reports (no fixes)

Run these mechanically with python3 <skill-dir>/scripts/check_evidence.py <project-root> (optionally followed by project-root-relative article paths to limit scope). Default scope is the whole wiki; the script is fast. Report findings; never auto-fix facts.

Source fidelity — reported suspects are candidates, not verdicts: derived values and product names may appear. Judge each against the raw context and report only real mismatches.

Evidence errors — articles the script cannot verify (missing Raw field, unresolvable Raw links, or Raw links escaping raw/). These always need a decision, not a fix from the script.

Unreferenced raw files — files logged with a No material disposition are excluded; everything else is a genuine backlog reminder.

Judgment Reports (no fixes)

These rely on your judgment. Report findings without auto-fixing:

  • Factual contradictions across articles
  • Outdated claims superseded by newer sources but still presented without a Status block
  • Missing conflict annotations where sources disagree
  • Obviously missing cross-references between related articles (suggest them; do not add silently)
  • Malformed Status blocks (Outdated missing its date, or either block missing its explanation; format reference: references/article-template.md)
  • Orphan pages with no inbound links from other wiki articles
  • Missing cross-topic references
  • Concepts frequently mentioned but lacking a dedicated page
  • Archive pages whose cited source articles have been substantially updated since archival
Post-Lint

Append to wiki/log.md:

## [YYYY-MM-DD] lint | <N> issues found, <M> auto-fixed

Conventions

  • Standard markdown with relative links throughout.
  • wiki/ supports one level of topic subdirectories only. No deeper nesting.
  • Today's date for log entries, Collected dates, and Archived dates. Updated dates reflect when the article's knowledge content last changed. Published dates come from the source (use Unknown when unavailable).
  • Inside wiki/ files, all markdown links use paths relative to the current file. In conversation output, use project-root-relative paths (e.g., wiki/topic/article.md).
  • Ingest updates both wiki/index.md and wiki/log.md (a No material ingest updates only the log). Archive (from Query) updates both. Lint updates wiki/log.md (and wiki/index.md only when auto-fixing index entries). Plain queries do not write any files.

© Astro-Han, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 15 other files (scripts, references, assets) in the repository root of Astro-Han/karpathy-llm-wiki.

  • SKILL.md
  • .gitignore
  • LICENSE
  • README.md
  • assets/karpathy-tweet.png
  • examples/2026-03-19-claude-code-statusline-landscape.md
  • examples/README.md
  • examples/ai-coding-tools-index.md
  • examples/claude-code-statusline-landscape.md
  • examples/log-sample.md
  • references/archive-template.md
  • references/article-template.md
  • references/index-template.md
  • references/raw-template.md
  • scripts/check_evidence.py
  • tests/test_check_evidence.py

Open the folder on GitHubat commit eafcc77

Compare with similar skills

Karpathy LLM Wiki next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Karpathy LLM Wiki compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Karpathy LLM Wiki this skillAstro-Han/karpathy-llm-wiki2.5k—~3.6kAutomated safety check: PassMIT
LLM Wikilewislulu/llm-wiki-skill655—~3.7kAutomated safety check: PassNone
Wiki Builderrohitg00/pro-workflow2.9k—~1kAutomated safety check: PassNone
Codex History IngestAr9av/obsidian-wiki3.5k—~2.2kAutomated safety check: NotesMIT
Arkon Editnduckmink/arkon1.5k—~1.6kAutomated safety check: PassCustom licence
Research Wiki Builderdair-ai/dair-academy-plugins614—~1.3kAutomated safety check: PassMIT

Similar skills

  • LLM Wiki

    lewislulu/llm-wiki-skill

    Build and maintain a Karpathy-style LLM knowledge base — a self-compiling Obsidian markdown wiki where an Agent ingests raw sources, compiles cross-linked concept/entity/summary pages, answers…

    655 GitHub stars~3.7k tokensUpdated 5 mo ago
    Knowledge ManagementAuto-check passed
  • Wiki Builder

    rohitg00/pro-workflow

    Start, structure, and grow a persistent research wiki indexed in pro-workflow's SQLite knowledge base.

    2.9k GitHub stars~1k tokensUpdated 12 days ago
    Knowledge ManagementAuto-check passed
  • Codex History Ingest

    Ar9av/obsidian-wiki

    Ingest Codex CLI conversation/session history into Obsidian as distilled knowledge.

    3.5k GitHub stars~2.2k tokensUpdated yesterday
    Knowledge ManagementAuto-check: notes
  • Arkon Edit

    nduckmink/arkon

    Propose or directly apply edits to Arkon wiki pages, including proposing brand new pages.

    1.5k GitHub stars~1.6k tokensUpdated 4 mo ago
    Knowledge ManagementAuto-check passed
  • Research Wiki Builder

    dair-ai/dair-academy-plugins

    Creates and maintains configurable research wikis: scaffold a folder, add sources, compile pages and indexes, and file query answers back.

    614 GitHub stars~1.3k tokensUpdated 2 mo ago
    Knowledge ManagementAuto-check passed
  • LLM Wiki Knowledge Graph

    Egonex-AI/Understand-Anything

    Detects a Karpathy-pattern LLM wiki and builds an interactive knowledge graph with entities, implicit relationships and topic clusters.

    86k GitHub stars~1.5k tokensUpdated today
    Knowledge ManagementAuto-check passed

Questions about Karpathy LLM Wiki

What does Karpathy LLM Wiki do?

A skill your agent uses when building or maintaining a personal LLM-powered knowledge base. Karpathy LLM Wiki is an agent skill from Astro-Han/karpathy-llm-wiki. Use when building or maintaining a personal LLM-powered knowledge base.

When should I use Karpathy LLM Wiki?

Karpathy LLM Wiki fits situations like: maintaining a personal LLM-powered knowledge base; tasks that involve LLM wikis.

How do I install Karpathy LLM Wiki in Claude Code?

Run `npx skills add Astro-Han/karpathy-llm-wiki --skill karpathy-llm-wiki -a claude-code`. Or copy the skill folder (the Astro-Han/karpathy-llm-wiki repository) into .claude/skills/karpathy-llm-wiki in your project. Claude Code loads it when a task matches its description.

How do I install Karpathy LLM Wiki in Codex?

Run `npx skills add Astro-Han/karpathy-llm-wiki --skill karpathy-llm-wiki -a codex`. Or copy the skill folder (the Astro-Han/karpathy-llm-wiki repository) into .agents/skills/karpathy-llm-wiki in your project. Codex loads it when a task matches its description.

Can I use Karpathy LLM Wiki in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Astro-Han/karpathy-llm-wiki --skill karpathy-llm-wiki -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/karpathy-llm-wiki, .gemini/skills/karpathy-llm-wiki, .github/skills/karpathy-llm-wiki and .opencode/skills/karpathy-llm-wiki in your project.

What does Karpathy LLM Wiki need to run?

Going by SKILL.md and its folder, Karpathy LLM Wiki needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Karpathy LLM Wiki access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Karpathy LLM Wiki safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Karpathy LLM Wiki use?

Karpathy LLM Wiki is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Karpathy LLM Wiki use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 722 tokens, read only when the agent opens those files.

What are the alternatives to Karpathy LLM Wiki?

Skills that share tags, products or a category with Karpathy LLM Wiki: LLM Wiki (lewislulu/llm-wiki-skill, 655 stars), Wiki Builder (rohitg00/pro-workflow, 2.9k stars), Codex History Ingest (Ar9av/obsidian-wiki, 3.5k stars) and Arkon Edit (nduckmink/arkon, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Karpathy LLM Wiki?

Astro-Han (a GitHub user) maintains it in Astro-Han/karpathy-llm-wiki, which has 2,452 GitHub stars. The repository was last updated on July 23, 2026.

Source: Astro-Han/karpathy-llm-wiki on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.