Wiki Schema
The configuration document that turns a generic LLM into a disciplined wiki maintainer. The most important file in any LLM Wiki setup.
What It Does
- Defines the wiki’s directory structure and file naming conventions
- Specifies what workflows to follow on ingest, query, and lint
- Sets the page format and cross-reference style
- Documents style rules (tone, how to handle contradictions, unclear claims)
- Tells the LLM how to navigate the wiki at session start
Without a schema, the LLM is a generic chatbot. With one, it’s a consistent collaborator that maintains your wiki the same way across sessions and across different AI tools.
How to Name It
Each agent looks for its own filename automatically:
| Agent | File |
|---|---|
| Claude Code | CLAUDE.md |
| OpenAI Codex | AGENTS.md |
| Cursor / Windsurf | .cursorrules |
| Gemini CLI | GEMINI.md |
| Generic / any chat AI | paste as system prompt |
Keep a single source of truth (e.g. SCHEMA.md) and have the agent-specific files point to it or mirror it.
How to Evolve It
Karpathy: “This schema is yours to evolve. If something isn’t working, update this file.”
You and the LLM co-evolve the schema over time. If a page format isn’t working, change it. If a new operation is needed, add it. If a style rule needs adjusting, update it. The schema should reflect what actually works for your domain, not a generic template.
Key Things a Good Schema Includes
- Session startup checklist (what to read before touching anything)
- Directory structure diagram
- Page format with frontmatter template
- Per-operation steps (INGEST, QUERY, LINT, EDIT, SYNTHESIZE)
- Style rules (factual, no filler, concrete examples)
- Notes for agents (what never to delete, what never to ingest twice)
See Also
- llm-wiki-pattern — the full pattern this schema serves
- llm-wiki-vs-rag — why the schema matters for quality