wiki-ingest
Ingest new source material into the wiki. Use when the user drops files into `wiki/raw/`, pastes content to archive and summarize, wants a flat raw inbox instead of category folders, or asks to optionally include an Obsidian `Clippings` folder during source discovery.
Wiki Ingest
Workflow
- Treat
wiki/raw/as the default immutable inbox. Do not require category subfolders. If the user already placed a file inwiki/raw/, leave it there unchanged. - If the user wants external scanning, run
python skills/wiki-ingest/scripts/scan_pending_sources.py --include-obsidian-clippings. If no Obsidian installation orClippingsfolder is found, continue without error. - If the scan reports multiple Obsidian
Clippingscandidates, ask the user which one to include. If it reports exactly one, confirm before using it as an input source. - Create one
wiki/sources/YYYY-MM-DD-slug.mdpage per source with frontmatter that points back to the immutable raw file path. - Update existing entity and concept pages for referenced items. Ask before creating new entities or concepts that do not already exist.
- Append the ingest event to
wiki/_log.md, updatewiki/inbox-digest.md, and runpython scripts/wiki_index.py --lintwhen the ingest batch is complete.
Source Handling
- Keep the original file immutable after it enters
wiki/raw/. - Prefer
sources: [raw/<filename>]for files stored directly underwiki/raw/. - If the user intentionally keeps nested folders under
wiki/raw/, preserve the relative path instead of flattening it during ingest. - If pasted content has no backing file, write a new timestamped Markdown file into
wiki/raw/before summarizing it.
Obsidian Clippings
- Obsidian
Clippingssupport is optional. - The scan script first checks common Windows locations for Obsidian and likely vault roots, then looks for
Clippingsdirectories. - If Obsidian is not installed or no candidate folder exists, treat that as "feature unavailable" and proceed with
wiki/raw/only. - Do not silently ingest from a detected external folder unless the user opted in.
Outputs
Each source-summary should include:
- short TL;DR
- key facts or data
- direct quotes when they matter
- implications for existing entity or concept pages
- verifiable predictions only when the source itself makes dated, falsifiable claims
Validation
- Run
python scripts/wiki_index.py --lintafter updating the wiki. - If the scan script was used, prefer
--jsonso its output is easy to inspect or pipe into other tooling.