Wiki
LLM Wiki — knowledge base skills for Obsidian. Build interlinked wiki pages from raw sources, query across them, health-check with lint.
npx -y skills add Tedydev-web/llm-wiki-skills --skill wikiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Set up a new LLM Wiki — an Obsidian-based knowledge base where the LLM reads raw sources and compiles them into structured interlinked pages. Use when the user wants to create a wiki, initialize a vault, set up a personal knowledge base, second brain, or says "onboard". Guides through an interactive wizard to configure vault name, location, domain, agent support, and tooling.
SKILL.md
8.4 KB, as published. Nobody here has run it
LLM Wiki — Onboarding Wizard
Set up a new LLM Wiki vault using the Karpathy LLM Wiki pattern. The LLM acts as librarian — reading raw sources, compiling them into a structured interlinked wiki, and maintaining it over time.
Wizard Flow
Guide the user through these 5 steps. Ask ONE question at a time. Each step has a sensible default — the user can accept it or provide their own value.
Step 1: Vault Name
Ask:
"What would you like to name your knowledge base? This will be the folder name." Default:
llm-wiki
Accept any user-provided name. This becomes the folder name and the title in the agent config.
Step 2: Vault Location
Ask:
"Where should I create it? Give me a path, or I'll use the default." Default:
~/Documents/
Accept any absolute or relative path. Resolve ~ to the user's home directory. The final vault path is {location}/{vault-name}/.
Step 3: Domain / Topic
Ask:
"What's this knowledge base about? This helps me set up relevant tags and describe the vault's purpose."
Examples: "AI research", "competitive intelligence on fintech startups", "personal health and fitness"
Accept free text. Use this to:
- Write a one-line domain description for the agent config
- Generate 5-8 suggested domain-specific tags
Step 4: Agent Config
Auto-detect which agent is running this skill. State it clearly:
"I'm running in [Agent Name], so I'll generate a [config file] for this vault."
Then ask:
"Do you use any other AI agents you'd like config files for? Options: Claude Code, Codex, Cursor, Gemini CLI — or skip."
Skip the agent that was auto-detected. Generate configs for all selected agents.
Agent detection logic:
- If the
CLAUDE.mdconvention is being used or the Skill tool is Claude Code's → Claude Code - If the environment indicates Codex → Codex
- If
.cursor/exists in the working directory → Cursor - If
GEMINI.mdconvention is being used → Gemini CLI - If unsure, ask the user which agent they're using
Step 5: Optional CLI Tools
Ask:
"These tools extend what the LLM can do with your vault. All optional but recommended:"
- summarize — summarize links, files, and media from the CLI
- qmd — local search engine for your wiki (helpful as it grows)
- agent-browser — browser automation for web research
"Install all, pick specific ones (e.g. '1 and 3'), or skip?"
Post-Wizard: Scaffold the Vault
After collecting all answers, execute these steps in order:
1. Create directory structure
Run the onboarding script, passing the full vault path:
bash <skill-directory>/scripts/onboarding.sh <vault-path>
This creates:
- All wiki directories (
raw/,wiki/{sources,entities,concepts,synthesis}/,output/) - Skeleton
wiki/index.mdandwiki/log.md - Skeleton
wiki/cache.md(hot cache — populated by/wiki-ingest+/wiki-lint) <vault>/.obsidian/app.jsonwith sane defaults (newFileLocation: folder, attachments toraw/assets/)<vault>/docs/obsidian-setup.md— Obsidian configuration checklist (covers §6b aliases requirement)
The script is idempotent — re-running on an existing vault skips files that already exist instead of overwriting customizations. Vault names must use [a-zA-Z0-9_.-] only (validated upfront).
2. Generate agent config file(s)
For each selected agent, read the corresponding template from <skill-directory>/references/agent-configs/:
| Agent | Template | Output File | Output Location |
|---|---|---|---|
| Claude Code | claude-code.md | CLAUDE.md | Vault root |
| Codex | codex.md | AGENTS.md | Vault root |
| Cursor | cursor.md | wiki.mdc | <vault>/.cursor/rules/ |
| Gemini CLI | gemini.md | GEMINI.md | Vault root |
For each template, replace the placeholders:
{{VAULT_NAME}}→ the vault name from Step 1{{DOMAIN_DESCRIPTION}}→ a one-line description derived from Step 3{{DOMAIN_TAGS}}→ generate 5-8 domain-relevant tags as a bullet list based on the domain from Step 3{{WIKI_SCHEMA}}→ read<skill-directory>/references/wiki-schema.mdand insert everything from## Architectureonward
Write the generated config to the vault.
3. Update wiki/log.md
Append the setup entry:
## [YYYY-MM-DD] setup | Vault initialized
Created vault "{{VAULT_NAME}}" for {{DOMAIN_DESCRIPTION}}.
Agent configs: {{list of generated config files}}.
4. Install CLI tools (if selected)
For each tool the user selected in Step 5, run the install command:
- summarize:
npm i -g @steipete/summarize - qmd:
npm i -g @tobilu/qmd - agent-browser:
npm i -g agent-browser && agent-browser install
After each install, verify with <tool> --version. Report success or failure for each.
5. Print summary
Show the user:
- What was created — directory tree and config files (highlight
.obsidian/app.json,docs/obsidian-setup.md, agent config) - READ THIS first —
<vault>/docs/obsidian-setup.md:§6b explains why entity/concept pages MUST have an
aliases:field. Without it, clicking[[Title Case]]wikilinks creates stray files at vault root because Obsidian resolves wikilinks by filename basename (kebab-case), NOT by H1 (Title Case). The ingest skill auto-applies this — but if you ever hand-write entity pages, follow the rule. - Required next step — install the Obsidian Web Clipper browser extension:
Install the Obsidian Web Clipper to easily save web articles into your vault: https://chromewebstore.google.com/detail/obsidian-web-clipper/cnjifjpddelmedmihgijeibhnjfabmlf
- How to start — open the vault folder in Obsidian, clip an article to
raw/, then run/wiki-ingest
Reference Files
These files are bundled with this skill and available at <skill-directory>/references/:
wiki-schema.md— canonical wiki rules (single source of truth for all agent configs)tooling.md— CLI tool details, install commands, and verification stepsobsidian-setup-template.md— Obsidian config checklist (substituted with{{VAULT_NAME}}and copied to<vault>/docs/obsidian-setup.md)obsidian-app-json-template.json— Obsidian sane defaults (copied to<vault>/.obsidian/app.json)agent-configs/claude-code.md— CLAUDE.md templateagent-configs/codex.md— AGENTS.md templateagent-configs/cursor.md— Cursor rules templateagent-configs/gemini.md— GEMINI.md template
Q11: Memory capture (optional add-on)
Runs at the end of the wizard, after Steps 1–5. Pre-creates raw/sessions/ and wiki/qa/ dirs unconditionally (schema-ready even if user declines).
Asks if user wants wiki-memory skill activated for session capture. Default is N (off). If yes, one follow-up:
- Q11a: Scope —
global(user-wide, stored in~/.config/wiki/sidecar.json— v1.2+ JSON format; legacy~/.config/wiki-memory/vault-pathalso supported for v1.1 installs) orproject(this vault only, stored in<vault>/.claude/wiki-memory.conf). Default:global.
(Auto-compile mode deferred to v1.2 per red-team C-1.)
After enable, prints privacy warning reminding user that transcripts contain full conversation history including any pasted secrets. Calls enable-hooks.sh --scope <scope> --vault <vault> from the wiki-memory skill.
Idempotent: re-running the wizard when hooks are already active for the vault silently skips Q11. Skill guard: if wiki-memory skill is not installed, Q11 is skipped with an install hint. Failure-safe: if enable-hooks.sh exits non-zero, the wizard continues and prints a manual retry hint.
Next Steps
After setup is complete, the user's workflow is:
- Clip articles to
raw/using the Obsidian Web Clipper - Ingest sources with
/wiki-ingest— processes raw files into wiki pages - Ask questions with
/wiki-query— searches and synthesizes from the wiki - Health-check with
/wiki-lint— run after every 10 ingests or monthly