wiki-forge
Skill4 starsChanged 21 days agoMITView on GitHub
Convert documents into an interconnected LLM wiki using the Karpathy wiki pattern and project conventions.
In this repository45 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- a11y-auditorSkill
- api-contract-reviewSkill
- backend-releaseSkill
- bug-diagnosisSkill
- client-copy-reviewSkill
- codebase-designSkill
- code-reviewSkill
- create-issueSkill
- create-prSkill
- create-taskSkill
- dependency-upgradeSkill
- deploy-evidenceSkill
- design-expertSkill
- design-system-docsSkill
- design-system-setupSkill
- domain-modelingSkill
- e2e-verifySkill
- evidence-auditSkill
- feature-discoverySkill
- frontend-releaseSkill
- generate-readmeSkill
- handoffSkill
- implement-taskSkill
- incident-responseSkill
- init-projectSkill
- live-docsSkill
- mcp-debuggingSkill
- memory-curatorSkill
- plan-expertSkill
- planning-featuresSkill
- project-memory-initSkill
- project-memory-refreshSkill
- project-profileSkill
- project-releaseSkill
- proof-runnerSkill
- release-checklistSkill
- researchSkill
- security-hardeningSkill
- security-reviewSkill
- tddSkill
- wiki-initSkill
- wiki-querySkill
- wiki-syncSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. About 0 are common, 11 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Before creating anything, understand the project.
- Distinctive: line 30
If there is genuine ambiguity, ask only what is essential:
- Distinctive: line 38
Create the folder structure (see Architecture below).
- Very specific: line 45
Create empty wiki/index.md and wiki/log.md.
- Very specific: line 88
Read .claude/wiki-conventions.md.
- Very specific: line 93
Read the source in full from raw/.
- Distinctive: line 97
Create or update wiki pages:
- Very specific: line 98
Always one page in sources/ with wikilinks to the raw files it covers.
- Distinctive: line 100
If a page already exists: extend with new content, do not duplicate.
- Distinctive: line 130
When done, run LINT.
- Very specific: line 134
Follow the delegation instructions in .claude/wiki-conventions.md exactly.
- Very specific: line 143
Read .claude/wiki-conventions.md before running any check.
- Distinctive: line 153
Density: all thematic pages with at least 8 wikilinks distributed throughout the body.
- Distinctive: line 155
Incoming links: all thematic pages with at least 5 incoming links.
- Distinctive: line 156
Add links from related pages if needed.
- Very specific: line 157
Raw linked: all files in raw/ referenced from at least one page in sources/.
- Distinctive: line 168
If there are multiple vaults:
- Distinctive: line 172
Create inter-vault links or propose consolidation.
- Very specific: line 173
Do not mix the raw/ folders of different projects.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
wiki-forge
Transforms raw documents into living knowledge wikis.
Core idea: the LLM reads sources once, extracts knowledge, and organizes it into interlinked markdown pages that grow richer with each new source. Knowledge accumulates — it is not re-derived on every query.
The 4 operations
SETUP → INGEST (batch) → LINT → repeat.
For queries, use /wiki-query.
SETUP — Create a new vault
Before creating anything, understand the project. If the user provides material without explanation, infer from the content — acting beats asking. If there is genuine ambiguity, ask only what is essential:
- Domain (what is this about?)
- Source types (what material will be ingested?)
- Language (detect from the material if not specified)
With that:
- Create the folder structure (see Architecture below).
- Move the user's sources into
raw/. - Generate
WIKI.mdat the root — usetemplates/wiki/wiki-md-template.mdsubstituting all{{}}placeholders. - Generate
.claude/wiki-conventions.md— usetemplates/wiki/conventions-template.mdsubstituting{{VAULT_NAME}}and{{LANGUAGE}}with the vault's values. - Create empty
wiki/index.mdandwiki/log.md.
Tip: For a guided setup that asks all the right questions, use
/wiki-initinstead.
Vault architecture
vault-name/
├── CLAUDE.md ← Orientation: structure, sources, skills
├── .claude/
│ └── wiki-conventions.md ← Wiki standards: format, language, wikilinks
├── raw/ ← Original sources — IMMUTABLE
│ └── [user structure]
├── wiki/
│ ├── index.md ← Master catalog
│ ├── log.md ← Operation history
│ ├── logs/ ← One file per sync (/wiki-sync)
│ ├── sources/ ← One summary per ingested source
│ └── [categories]/ ← Subdirectories adapted to the domainDetecting source structure
Analyze how the sources are organized before ingesting:
| Corpus structure | sources/ granularity |
| Course with modules and lessons | One source page per module |
| Periodic meetings | One page per meeting or sprint |
| Slack / Discord channel | One page per thread or topic |
| Collection of articles / PDFs | One page per document |
| Standalone YouTube videos | One page per video |
| Loose notes | Group by topic or one per note |
Each sources/ page must include wikilinks to all raw files it covers —
this connects the originals to the wiki graph.
INGEST — Process sources
Step 0 — Load conventions
Read .claude/wiki-conventions.md. All pages created or modified in this
operation must follow those conventions without exception.
Steps
- Read the source in full from
raw/. - Classify the type (transcript, report, meeting, article, notes...).
- Extract domain entities — the content dictates what to extract: concepts, techniques, tools, people, decisions, data, relationships.
- Create or update wiki pages:
- Always one page in
sources/with wikilinks to the raw files it covers. - Thematic pages in the corresponding categories.
- If a page already exists: extend with new content, do not duplicate.
- Always one page in
- Link densely with
[[wikilinks]]— follow the rules inwiki-conventions.md(minimum count, distribution, no broken links). - Update
wiki/index.md. - Log in
wiki/log.md:## [YYYY-MM-DD] ingest | Source name - Pages created: X - Pages updated: Y - Entities extracted: brief list
Rules by source type
- Transcripts (YouTube, courses, podcasts): clean filler words. Extract logical structure, not temporal. Preserve practical examples.
- Meetings: preserve who said what if relevant. Extract decisions, action items, and context.
- Reports / PDFs: respect the document structure. Extract quantitative data, conclusions, recommendations.
- Web articles: distinguish facts from opinions. Record author, date, and URL.
- User notes: high-priority primary source. Integrate respecting the original intent.
Batch ingest
- List everything in
raw/. - Order: chronological, by complexity, or by conceptual dependencies (basics first so foundational concepts exist before advanced ones).
- Process one at a time, updating index and log after each.
- When done, run LINT.
Delegating to subagents
Follow the delegation instructions in .claude/wiki-conventions.md exactly.
Include all 4 mandatory elements in each subagent prompt.
LINT — Maintenance
Step 0 — Load conventions
Read .claude/wiki-conventions.md before running any check.
Checklist (run all and report concrete numbers)
- Frontmatter: 100% of pages with the exact 5 fields defined in
wiki-conventions.md. Fix any that fail. - Language: 100% of pages in the language defined in
wiki-conventions.md. Fix any in a different language. - Ghost links: 0 broken wikilinks. List all
[[wikilink]]targets and verify they exist as.mdfiles. Create missing pages or fix links. - Density: all thematic pages with at least 8 wikilinks distributed throughout the body. Fix those below threshold.
- Incoming links: all thematic pages with at least 5 incoming links. Add links from related pages if needed.
- Raw linked: all files in
raw/referenced from at least one page insources/. - Orphans: wiki pages with no incoming links — connect them or delete them.
- Gaps: concepts mentioned repeatedly without their own page — create them.
Log results in wiki/log.md with the check numbers.
MERGE — Connect wikis
If there are multiple vaults:
- List the wikis and their domains.
- Identify shared entities.
- Create inter-vault links or propose consolidation.
- Do not mix the
raw/folders of different projects.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

