/pin-llm-wiki
Automates Karpathy's LLM wiki pattern: drop URLs in inbox.md, the skill fetches, ingests, and maintains a cited, agent-readable knowledge base.
Trigger phrases
/pin-llm-wiki(with subcommands:init,ingest,lint,queue,remove)- “Pin this YouTube video to my LLM wiki”
- “Ingest these research links into my wiki”
- “Run pin-llm-wiki lint on this knowledge base”
- “Queue these URLs, then batch-process the inbox”
- “Initialize a new Karpathy-style wiki with pin-llm-wiki”
inbox.md (human drops URLs)
↓ fetch
raw/ (immutable source captures)
↓ ingest
wiki/ (LLM-maintained, cited, linked)
↓ lint
a healthy, queryable knowledge base
Phase 1 subcommands
| Command | Status |
|---|---|
init | implemented |
ingest [<url>] | implemented (single-URL form auto-queues if URL is not already in inbox) |
lint | implemented |
remove <slug> | implemented |
queue <url> [<url> ...] | implemented |
Skill directory
This SKILL.md and all sibling files (ingest.md, init.md, lint.md, remove.md, queue.md, ingest-protocol.md, templates/...) live inside the skill directory: ~/.claude/skills/pin-llm-wiki/, ~/.copilot/skills/pin-llm-wiki/, ~/.cursor/skills/pin-llm-wiki/, or the project-local .claude/skills/ / .copilot/skills/ / .cursor/skills/ equivalents. In this repository the canonical copy is skills/pin-llm-wiki/. All templates/... and sibling-file paths in this skill are relative to whichever skill directory the loading tool used.
Dispatch
- Identify the subcommand from the invocation args (the first word after
/pin-llm-wiki). - Route — read the sibling file in this skill directory and follow its instructions exactly:
init→init.md(no Guard required — it scaffolds the wiki)ingest→ingest.md(with or without a URL arg)lint→lint.mdremove→remove.mdqueue→queue.md
- Guard (every subcommand except
init): confirm.pin-llm-wiki.ymlexists in the current working directory. If absent, stop with: "No wiki found here (.pin-llm-wiki.ymlmissing). Run/pin-llm-wiki initto scaffold one first." Subcommand files repeat this check by reference; you only need to enforce it once per invocation. - Do not proceed beyond this dispatch step before reading the target file.
Git policy (canonical)
Never run git commit or git push after any subcommand — init, ingest, refresh, lint, remove, queue, or any auto-fix — unless the human explicitly asked to commit in this conversation. Subcommand files reference this policy without restating it. The wiki's own AGENTS.md carries the same rule for downstream agents.