# 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. Use when this capability is needed.

- Skill: `tomevault-io/wiki-ingest` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/wiki-ingest`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/wiki-ingest/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/wiki-ingest

---


# Wiki Ingest

## Workflow

1. Treat `wiki/raw/` as the default immutable inbox. Do not require category subfolders. If the user already placed a file in `wiki/raw/`, leave it there unchanged.
2. If the user wants external scanning, run `python skills/wiki-ingest/scripts/scan_pending_sources.py --include-obsidian-clippings`. If no Obsidian installation or `Clippings` folder is found, continue without error.
3. If the scan reports multiple Obsidian `Clippings` candidates, ask the user which one to include. If it reports exactly one, confirm before using it as an input source.
4. Create one `wiki/sources/YYYY-MM-DD-slug.md` page per source with frontmatter that points back to the immutable raw file path.
5. Update existing entity and concept pages for referenced items. Ask before creating new entities or concepts that do not already exist.
6. Append the ingest event to `wiki/_log.md`, update `wiki/inbox-digest.md`, and run `python scripts/wiki_index.py --lint` when 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 under `wiki/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 `Clippings` support is optional.
- The scan script first checks common Windows locations for Obsidian and likely vault roots, then looks for `Clippings` directories.
- 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 --lint` after updating the wiki.
- If the scan script was used, prefer `--json` so its output is easy to inspect or pipe into other tooling.

---
> Source: [Benboerba620/karpathy-claude-wiki](https://github.com/Benboerba620/karpathy-claude-wiki) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-21 -->

