agentleFS
justvinhherejustvinhhere/llm-wiki-plugin/skills/wiki-ingest/SKILL.md

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
  1. Very specific:

    If the source contradicts an existing claim, appends {source: <slug>, note: "<one-sentence tension>"} to contradictions: instead of …

    line 48
  2. Very specific:

    Commit body (optional): up to ingest.tldr_bullets TL;DR bullets from the source.

    line 64

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

wiki-ingest

Writes a new source into the wiki and every page it substantiates. One invocation produces exactly one commit.

Refuse conditions

  1. No .llm-wiki.yaml in CWD or ancestors.
  2. .llm-wiki.yaml:schema_version != 1.
  3. git status --porcelain -- wiki/ index.md non-empty — working tree dirty on wiki paths. The caller must commit or stash before ingesting.
  4. Source unreachable (URL returns non-2xx; path does not exist).
  5. Source slug collides with an existing wiki/sources/<slug>.md whose url: or raw_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:

KindWrites
.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>.md from templates/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_bullets does 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> to sources: (append-only; never replace).
    • Adds prose under the appropriate section with [[…]] cross-references resolved per reference.md.
    • If the source contradicts an existing claim, appends {source: <slug>, note: "<one-sentence tension>"} to contradictions: instead of modifying the claim body. Resolution is left to /lint.
  • 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>.

Download now (ZIP)

  • Other versions41 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 41

    1. AgriciDaniel/claude-obsidian★ 16ksame name
    2. sanyuan0704/code-review-expert★ 3.9ksame name
    3. sanyuan0704/sanyuan-skills★ 3.9ksame name
    4. kfchou/wiki-skills★ 183same name
    5. IssacW228/student-llm-wiki★ 173same name
    6. bozhouDev/bozhou-skills★ 78same name
    7. vanillaflava/llm-wiki-skills★ 65same name
    8. cookyman74/llmwiki-harness★ 34same name
    9. Ivy-Chen1999/llm-wiki-kit★ 21same name
    10. 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.
    • jehrhardtSkill

      wiki-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

    • nexuschainsSkill

      wiki-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

    • bozhouDevSkill

      wiki-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

    • bozhouDevSkill

      wiki-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

    • nathanadaySkill

      almagest

      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

    • nathanadaySkill

      almagest-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.

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.