wiki-ingest — Claude Code skill: wiki ingestion and setup
Builds a linked wiki knowledge base from articles, documents, and notes. Use it when project material needs to become separate, cross-referenced knowledge pages.
npx skills add sanyuan0704/sanyuan-skills --skill wiki-ingest -a claude-codeWhat wiki-ingest does
The skill accepts pasted text, file paths, and directories for batch processing. It extracts concepts, products, engineering patterns, and comparisons, then gives each knowledge entity its own Markdown page. One entity gets one page.
By default, the wiki lives in wiki/, with index.md, log.md, and directories for concepts, products, patterns, and comparisons. The skill checks the existing index, extends pages rather than replacing them, and maintains links such as [[concepts/agent-loop]].
Every ingest updates the index and operation log. In batch mode, it extracts entities from the full set before changing pages and references. That matters if wiki/ already contains material, because existing pages and cross-references are updated.
What it helps with
- turn notes into structured wiki pages
- split knowledge entities into separate files
- link related concepts and tools
- update a wiki table of contents
- record wiki changes in a log
Example prompts for the agent
- `/wiki-ingest add this text to the project wiki`
- `/wiki-ingest process the files in docs/ and update wiki/`
- `/wiki-ingest build a knowledge base from notes.md`
How to install wiki-ingest
1Skills CLI (Vercel)
npx skills add sanyuan0704/sanyuan-skills --skill wiki-ingest -a claude-code2Manually: put the files in place
~/.claude/skills/wiki-ingest/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/wiki-ingest/
1Skills CLI (Vercel)
npx skills add sanyuan0704/sanyuan-skills --skill wiki-ingest -a codex2Manually: put the files in place
.agents/skills/wiki-ingest/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add sanyuan0704/sanyuan-skills --skill wiki-ingest -a cursor2Manually: put the files in place
.cursor/skills/wiki-ingest/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install sanyuan0704/sanyuan-skills wiki-ingest2Manually: put the files in place
.github/skills/wiki-ingest/SKILL.md1Skills CLI (Vercel)
npx skills add sanyuan0704/sanyuan-skills --skill wiki-ingest -a gemini-cli2Platform CLI
gemini skills install https://github.com/sanyuan0704/sanyuan-skills --path skills/wiki-ingestManually: put the files in place
.devin/skills/wiki-ingest/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add sanyuan0704/sanyuan-skills --skill wiki-ingest -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set6
The whole set →Similar
Questions about wiki-ingest
How do I install wiki-ingest in Claude Code?
Run npx skills add sanyuan0704/sanyuan-skills --skill wiki-ingest -a claude-code, then run npx skills add sanyuan0704/sanyuan-skills --skill wiki-ingest -a claude-code again. The skill file is at ~/.claude/skills/wiki-ingest/SKILL.md.
What does wiki-ingest do?
It turns text, documents, and notes into a structured wiki. It creates or updates entity pages, links between them, an index, and an operation log.
How does wiki-ingest avoid duplicate pages?
It reads wiki/index.md before processing content and checks the existing wiki. When a page exists, it appends new material instead of overwriting it.
Source text
SKILL.md · MIT
--- name: wiki-ingest description: "Compile articles, documents, or notes into a structured wiki knowledge base. Use when user says 'ingest to wiki', 'compile to knowledge base', 'update wiki', 'wiki ingest', 'add this to wiki', or invokes /wiki-ingest. Supports single or batch ingest. Triggers: wiki, ingest, knowledge base, compile, digest, index, catalog." --- # Wiki Ingest — Knowledge Base Compiler Compile any text content (articles, documents, notes) into structured wiki pages with cross-references, building a searchable, interconnected knowledge network. IRON LAW: One wiki page = one knowledge entity. Never cram multiple concepts into one page. ## Wiki Directory Structure Wiki defaults to `wiki/` under the current project root. User may specify a different path. ``` wiki/ ├── index.md # Full table of contents ├── log.md # Append-only operation log ├── concepts/ # Core concept pages ├── products/ # Product/tool entity pages ├── patterns/ # Engineering patterns & design decisions └── comparisons/ # Cross-topic comparison pages ``` ## Workflow ### 1. Confirm Input Accept user-specified content source: - Pasted text directly - File path(s) (md, txt, pdf, etc.) - Directory path (batch processing) If user doesn't specify a wiki path, use `wiki/`. Create the directory if it doesn't exist. ### 2. Check Existing Wiki Read `wiki/index.md` (if exists) to understand existing pages and avoid duplicates. ### 3. Extract Knowledge Entities Extract from content: - **Concepts** (`concepts/`): Abstract ideas, terminology, theories - **Products** (`products/`): Specific products, tools, services - **Patterns** (`patterns/`): Engineering patterns, design decisions, methodologies - **Comparisons** (`comparisons/`): Cross-product or cross-approach analysis Extraction threshold: An entity deserves its own page only if it would be referenced by other pages. ### 4. Create or Update Pages Each entity maps to one wiki page. → Load [references/page-templates.md](references/page-templates.md) for page templates. Rules: - If page already exists → **update** it, append new information, don't overwrite existing content - Keep the one-line definition stable unless the new content provides a clearly better one - Prioritize updating "Sources" and "Related Pages" sections ### 5. Update Cross-References Check all existing wiki pages. If new content involves concepts referenced in other pages: - Update their Related Pages list - Update their Sources list - Supplement new information in their detail sections ### 6. Update index.md Add new page entries to `wiki/index.md`, organized by category. ### 7. Append to log.md Append to `wiki/log.md`: ```markdown ## YYYY-MM-DD: Ingest <source title> **Source**: <file path or "user input"> **New pages**: list newly created pages **Updated pages**: list modified pages **New cross-references**: list newly established links ``` ### 8. Report Results Tell user: what pages were created, what pages were updated, what new cross-references were established. ## File Naming - All lowercase, hyphen-separated: `agent-loop.md`, `kv-cache.md` - Name by entity, not by number ## Cross-Reference Format - Use `[[category/page-name]]` double-link format (Obsidian-compatible), e.g. `[[concepts/agent-loop]]`, `[[products/claude-code]]` - Always include the category prefix to avoid ambiguity across directories - List all related pages at the bottom of each page ## Guidelines - Never create duplicate pages — always check wiki/ first - Don't extract trivial entities — if a concept appears once and won't be referenced elsewhere, skip it - For batch processing: extract all entities first, then create pages and update references in one pass to avoid inconsistent intermediate states - Always update index.md and log.md after every ingest
© sanyuan0704 · MIT · sanyuan0704/sanyuan-skills