--- name: brain-ingest description: The process for digesting a conversation, document, or research result, classifying it, and writing it down as brain content (a root-page update or a new/updated page) through the `brain` CLI. --- # brain-ingest This skill is about "turning scattered input into structured brain knowledge". The input can be a conclusion from a conversation, an external document, a piece of research, or the decisions behind a set of code changes. The goal is to land that knowledge in the **right place, the right category, and the right structure** — and to write it through the `brain` CLI so it is correct by construction. Reach for this process not only when explicitly asked to "ingest" something. The brain is the project's persistent memory (see `BRAIN.md`), so **trigger it proactively whenever knowledge crystallizes** — a decision settled in discussion, a requirement or constraint agreed, an insight that will still matter in six months. Capture it as it surfaces rather than waiting to be told. Every read and write below is a `brain` CLI subcommand (`list-pages` / `read-page` / `read-root` to read; `create-page` / `update-truth` / … to write). The command details and the category taxonomy live in the **brain-page** skill — read it before creating or modifying any page. > **NEVER hand-edit any file under the brain directory. All reads and writes MUST go through the `brain` CLI. Manual edits are unsupported and illegitimate.** There is no validator and nothing at the file layer can catch a bad manual edit; correctness is guaranteed only by going through the CLI, so a hand edit silently breaks the brain's invariants. ## Process ### 1. Break down the input Split the input into individual **atomic knowledge points**. A knowledge point = one judgment / fact / decision that stands on its own. Ignore purely procedural chatter. ### 2. Place each knowledge point (see "Choosing where to write" in `BRAIN.md`) - Changes the project's overall positioning / architecture / stack / roadmap → **rewrite the corresponding root page** with `brain update-root ` (`background` / `architecture` / `flow` / `mindmap` / `stack` / `roadmap`). - About a specific entity (a decision / concept / person / reference / sub-project) → **create or update a page**. - It's common for one knowledge point to touch both — write to both sides. ### 3. Decide between "create" and "update existing" - First run `brain list-pages` (and `brain read-page ` on likely hits) to look for an existing page on the same topic. - Found → update it: `brain update-truth --id ` (rewrites compiled_truth and appends a timeline entry atomically), or `brain append-timeline` for a new piece of evidence that doesn't change the conclusion. - Not found → create it: read the **brain-page** skill, then `brain create-page`, then fill in the real understanding with `brain update-truth`. - **Avoid duplication**: don't scatter one topic across multiple pages. ### 4. Write - All writes go through the `brain` CLI — see **brain-page** for exact commands. Never hand-edit frontmatter or timelines. - Root pages are rewritten wholesale via `update-root`; they have no timeline. - Write the body in the user's working language; keep technical identifiers (ids, slugs, field names, paths) verbatim. - Connect related pages explicitly with `[[page-id]]`. ### 5. Verify The write commands reindex for you, and correctness is guaranteed by construction — there is no validator to run. To optionally confirm that every `[[page-id]]` resolves: ``` node /bin/brain.mjs lint-links ``` The CLI makes "compiled_truth changed but the timeline entry was forgotten" structurally impossible; the only way to break it is a hand edit, which is why you must never make one. ## Principles - **Prefer less but accurate.** Only capture knowledge that still matters in six months and is hard to reconstruct from the code / git. - **Every compiled_truth rewrite carries its own timeline trace** — `update-truth` guarantees this, keeping the chain of evidence unbroken. - **Keep the category boundaries clear** — the taxonomy lives in the **brain-page** skill.