wiki-ingest
Skill1 starsChanged 7 months agoMITView on GitHub
Use when the user runs /ingest <path-or-url>, says "add this source", "ingest this article", "read and file this", or drops a URL/PDF/markdown file for incorporation into the wiki. Reads a source in full, executes all page edits, and commits with an ingest(<source-slug>) subject — fully automatic. Conventions, frontmatter schema, slug rule, and link resolution live in reference.md.
We split this skill into the rules it gives an agent
2 rules. 0 are common, 0 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 34 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 48
If the source contradicts an existing claim, appends {source: <slug>, note: "<one-sentence tension>"} to contradictions: instead of …
- Very specific: line 64
Commit body (optional): up to ingest.tldr_bullets TL;DR bullets from the source.
“Common” is measured: kept by at least 6 in 10 of the 34 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
wiki-ingest
Writes a new source into the wiki and every page it substantiates. One invocation produces exactly one commit.
Refuse conditions
- No
.llm-wiki.yamlin CWD or ancestors. .llm-wiki.yaml:schema_version != 1.git status --porcelain -- wiki/ index.mdnon-empty — working tree dirty on wiki paths. The caller must commit or stash before ingesting.- Source unreachable (URL returns non-2xx; path does not exist).
- Source slug collides with an existing
wiki/sources/<slug>.mdwhoseurl:orraw_path:matches — the source is already ingested. To re-ingest a revised version, the caller picks a versioned slug explicitly.
Workflow
1. Park the source in raw/ (immutable)
Derive <slug> per the rule in reference.md. Route by kind using .llm-wiki.yaml:ingest.raw_layout:
| Kind | Writes |
.md / .txt local | <raw_layout.article>/<slug>.<ext> |
| URL (HTML) | <raw_layout.article>/<slug>.html and <raw_layout.article>/<slug>.md (markdown extraction) |
.pdf | <raw_layout.paper>/<slug>.pdf and <raw_layout.paper>/<slug>.md (best-effort transcript) |
transcript (.vtt, .srt, video URL) | <raw_layout.video>/<slug>.md |
| other | <raw_layout.note>/<slug>.<ext> + markdown alongside |
The chosen path is raw_path in sources/<slug>.md frontmatter. raw/ is immutable after this step.
2. Read the source in full
Complete read. Partial reads are forbidden — they produce partial claims that bake into commit history.
3. Compute the edit set
Build, internally, the list of file mutations:
- New
wiki/sources/<slug>.mdfromtemplates/source.md, frontmatter filled. - New entity / concept / topic pages from the matching template, where the source introduces a subject the wiki does not yet cover. Cap
ingest.tldr_bulletsdoes not apply to this list — ingest creates as many pages as the source substantively introduces. - Updates to existing entity / concept / topic pages the source substantiates. Each update:
- Bumps
updated:to today. - Appends
<slug>tosources:(append-only; never replace). - Adds prose under the appropriate section with
[[…]]cross-references resolved perreference.md. - If the source contradicts an existing claim, appends
{source: <slug>, note: "<one-sentence tension>"}tocontradictions:instead of modifying the claim body. Resolution is left to/lint.
- Bumps
- Update
index.md: new entries under their category, alphabetical within category.
4. Execute the edit set
Single batch. Any write failure (permission, disk, invalid frontmatter) aborts the entire ingest and rolls back partially-written raw/ artifacts.
5. Commit
git add <explicit-paths-from-edit-set>
git commit -m "ingest(<slug>): add source, update N page(s)"N from git diff --cached --numstat | wc -l minus the source page itself. Singular page when N=1.
Commit body (optional): up to ingest.tldr_bullets TL;DR bullets from the source. Useful for git log --grep; not required.
No Co-Authored-By trailer.
6. Output
Single line: Ingested <slug>: N page(s) updated. Commit <short-sha>.
Other versions41 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 41
- AgriciDaniel/claude-obsidian★ 16ksame name
- sanyuan0704/code-review-expert★ 3.9ksame name
- sanyuan0704/sanyuan-skills★ 3.9ksame name
- kfchou/wiki-skills★ 183same name
- IssacW228/student-llm-wiki★ 173same name
- bozhouDev/bozhou-skills★ 78same name
- vanillaflava/llm-wiki-skills★ 65same name
- cookyman74/llmwiki-harness★ 34same name
- Ivy-Chen1999/llm-wiki-kit★ 21same name
- CarbeneAI/Forge★ 9same name
31 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use wiki-capture, wiki-status and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
jehrhardtSkillwiki-capture
Quickly capture raw thoughts, links, images, or notes to today's Obsidian daily note from anywhere in Pi. Use when the user wants to jot something down for later wiki processing.
Also in 5 projects that use this
nexuschainsSkillwiki-status
Reports the current state of the wiki vault — page counts, category breakdown, hub pages, orphans, stale entries, and a delta showing what has changed since the last ingest. Use this skill when the operator asks "what's the status", "wiki dashboard", "how many pages", "what's stale", "what's been ingested", "show me the delta", or "wiki health overview". Also surfaces structural insights (top hubs, fragmented clusters, bridge pages) when the operator asks "wiki insights", "what's central", or "show me the hubs". Read-only: this skill reports and recommends; it does not modify any files.
Also in 4 projects that use this
bozhouDevSkillwiki-update
Use when revising existing wiki pages because knowledge has changed, a new piece of information updates or contradicts existing content, or the user wants to directly edit wiki content with LLM assistance.
Also in 7 projects that use this
bozhouDevSkillwiki-init
Use when bootstrapping a new personal wiki for any knowledge domain — research, codebase documentation, reading notes, competitive analysis, or any long-term knowledge accumulation project.
Also in 5 projects that use this
nathanadaySkillalmagest
Orient in the Almagest vault, say what waits for the user, do the work a request asks in a linked repository, and route any other request to the skill that owns it. Use for /almagest, what is going on, status, what waits for me, where do I work on X, work on X, fix this, implement, build, note this, remember to, publish my journal, what is in my journals, and any request when the right skill is not clear. Keeping part of this conversation is wiki-save; files to learn from are wiki-ingest.
Also in 3 projects that use this
nathanadaySkillalmagest-onboard
Make a new Almagest vault: ask its name, its folder, and how freely to tag, then link its first repositories. Use for set up almagest, new vault, start a vault here, onboard, make this folder a vault. Linking a repository to a vault that exists is repo-link.
Also in 3 projects that use this
- +5 more from nathanaday
In this repository6 other files it gives its agents.
- stubs/CLAUDE.mdCLAUDE.md
- wiki-bootstrapSkill
- wiki-historySkill
- wiki-lintSkill
- wiki-querySkill
- wiki-reviewSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

