| name | ingest |
| description | Process new source material into an LLM wiki — a persistent, interlinked collection of markdown files that accumulates knowledge over time. Use this skill whenever the user wants to add a source to their wiki: "add this to my wiki", "ingest this article/paper/document/URL", "process this for my knowledge base", "read this and update my notes", or any time they drop a file/link and want it integrated into a structured knowledge store. Even if the user doesn't say "wiki" explicitly, trigger this skill when the intent is clearly to absorb a source into a persistent knowledge system rather than just summarize it once.
|
Ingest
Ingest processes a new source — an article, paper, URL, file, or pasted text —
and integrates its knowledge into the wiki. The key distinction from a one-off
summary: you're not just producing a standalone note. You're weaving the new
knowledge into the existing fabric of pages, updating what's already there and
building cross-references so future queries can find this information through
multiple paths.
A single ingest typically touches 5–15 wiki pages.
Wiki location
Look for the wiki in this order:
- A path the user explicitly specifies
- A
wiki/ subdirectory in the current working directory
- The current working directory itself (if it looks like a wiki — has
index.md or log.md)
If none of these exist, ask the user where their wiki lives or offer to initialize one (see Initializing a new wiki below).
Files to read first
Before touching anything, orient yourself:
schema.md (if it exists) — the user's conventions: page types, naming rules, tag vocabulary, what categories exist. This is the constitution. Read it and follow it.
index.md — the catalog of all existing pages, organized by category. Use this to find pages that might need updating and to know what already exists so you don't duplicate.
If neither file exists yet, proceed with sensible defaults (see Initializing a new wiki).
Ingest workflow
1. Read and understand the source
Read the full source material carefully. Identify:
- The main thesis or topic
- Key entities: people, organizations, concepts, datasets, tools, events
- Claims that might update, confirm, or contradict things you've seen in other wiki pages
- Relationships between entities
2. Create the source summary page
Write a dedicated page for this source. Good filename: the source's title in kebab-case, or a short descriptive slug. Place it wherever the schema says (often a sources/ subdirectory).
A good source page includes:
- What it is: type, author, date, origin URL or path
- Core claims: the substance — what does it actually say? Be specific enough that someone reading only this page would understand the content.
- Key entities: wikilinks
[[like this]] to entity pages (create stubs if they don't exist yet)
- Implications: what does this change or confirm in the wider knowledge base?
- Cross-references: links to other wiki pages that this source supports or complicates
3. Update entity and concept pages
For each significant entity or concept the source touches, find (or create) its wiki page and integrate the new information:
- Add what the source says about this entity
- Cite the source page:
([[source-slug]]) or inline
- Note any contradictions with what was already written, and flag them (see also: the Lint skill handles these, but surface them now)
- Update cross-reference links if they were missing
Don't rewrite entity pages from scratch — add to them. The whole point is accumulation.
4. Update index.md
Add the new source page (and any new entity/concept pages you created) to the index with a one-line summary. Follow the existing category structure from schema.md, or create a sensible new category if needed.
5. Append to log.md
Add an entry at the top (newest first) or bottom (chronological), consistent with existing entries:
## [YYYY-MM-DD] Ingested: <source title>
- Created: [[source-slug]]
- Updated: [[entity-1]], [[entity-2]], [[entity-3]]
- Notes: <anything worth flagging — contradictions found, stubs created, etc.>
6. Report back
Tell the user:
- What source page was created
- Which existing pages were updated (and what changed)
- Which new stubs were created (pages that need filling out)
- Any contradictions or gaps you noticed
Initializing a new wiki
If no wiki exists yet, offer to set one up. A minimal wiki needs:
schema.md — define the conventions. Start with:
# Wiki Schema
## Page types
- **Source pages** (`sources/`): one per ingested document. Summarizes content, links to entities.
- **Entity pages** (`entities/`): one per significant person/org/concept/tool. Accumulates what the wiki knows about it.
- **Topic pages** (`topics/`): synthesis pages on broader themes.
## Naming
- Filenames: kebab-case, no spaces
- Wikilinks: [[exact-filename]] (Obsidian-compatible)
## Tags
TBD — add as patterns emerge.
index.md — start empty with just a heading and timestamp.
log.md — start empty with just a heading.
Then proceed with the ingest.
Quality principles
- Wikilinks over bare references: always use
[[page-name]] so the knowledge graph is navigable. If a page doesn't exist yet, create a stub or at minimum use the link — broken links are a linting issue, not an ingest blocker.
- Cite, don't assert: when adding claims from a source, note the source. Future you will want to know where something came from.
- Flag contradictions inline: if the source says X but an existing page says not-X, note the tension right there. Don't silently overwrite.
- Keep source pages immutable summaries: the source page describes what the source says. Entity pages synthesize across sources.