Process inbox items into the knowledge base. Compiles raw inputs into wiki pages, extracts actions, classifies into PARA. Use when the user wants to process inbox items.
Process inbox items into the knowledge base. This is the core "compilation" operation.
/ingest — process all items in inbox//ingest <file> — process a specific inbox fileList all .md files in inbox/ (exclude attachments/ directory and .gitkeep).
If empty, report "Inbox is empty." and stop.
For each item, run steps 2a through 2h. Process one item fully before starting the next.
Read the capture file. For each element:
Determine where this belongs in raw/:
projects/ — if related to an active project with clear deliverablesareas/ — if related to an ongoing area of responsibilityresources/ — if it's reference material on a topic of interest (most common)archives/ — rarely used during ingest (items don't arrive pre-archived)Decide the subdirectory (e.g., resources/machine-learning/). If the topic is new, create the subdirectory.
Scan for anything actionable: todos, commitments, intentions, things to follow up on. For each action found:
next (do soon), waiting (blocked on someone/something), someday (maybe later)wiki/actions/ using the format from .claude/schema/page-templates/action.mdRead wiki/index.md to understand the current knowledge landscape.
For each key concept, entity, or insight in the content:
_index.md files for existing pages.claude/schema/page-templates/. Fill in all sections.wiki/syntheses/ page connecting the dotsUse templates from .claude/schema/page-templates/ for all new pages.
Follow frontmatter spec from .claude/schema/frontmatter.md.
Guideline: aim to touch ~10-15 pages per ingest, but let the content dictate scope. A simple bookmark might touch 2-3 pages. A dense research paper might touch 20+.
wiki/index.md — stats, recently active lists, recent activity_index.md files — add entries for new pages, update summaries for modified pagesMove the original file from inbox/ to its PARA location in raw/:
# Example
mv inbox/2026-04-09-14-30-attention-thought.md raw/resources/machine-learning/
mv inbox/attachments/screenshot.png raw/resources/machine-learning/
If attachments were referenced, update the paths in the moved file's frontmatter.
Append to log.jsonl:
{"ts":"<now>","op":"ingest","title":"<descriptive title>","source":"inbox/<filename>.md","dest":"raw/<para>/<topic>/","created":["wiki/concepts/new-page.md"],"updated":["wiki/concepts/existing.md"],"actions":[{"type":"next","text":"action description"}]}
Stage only the files changed by THIS item:
git add raw/<dest>/ wiki/ log.jsonl
git commit -m "[ingest] <descriptive title>
- created: wiki/concepts/new-page.md, ...
- updated: wiki/concepts/existing.md, ...
- moved: inbox/<file> → raw/<dest>/"
One commit per inbox item. Not batched.
After all items are processed, output: