Orion/.agents/skills/orion-ingest/SKILL.md
Avi a66996ac10 Orion vault — clean initial history
Knowledge vault (Orion/PARA) migrated from the pre-Orion 484vault on
2026-10-01. Deliberately orphaned: prior history contained a plaintext
password and stays local-only on branch archive/pre-boilerplate-history.
Secrets and live Hermes state are gitignored.
2026-10-02 08:34:48 -05:00

5.3 KiB

name description
orion-ingest Bring external material into an Orion vault's numbered folders — every capture sitting in 0. Inbox/ by default, or a file, transcript, or document the owner names. Follows any instructions in the source, classifies the rest (asking only when genuinely unclear), records provenance, creates and updates pages directly, cross-links them, marks answered lines in daily notes as filed, and archives processed captures. Distinct from orion-cascade, which syncs wiki/ with what's already in the folders. Triggers on: ingest, process the inbox, ingest this, file this.

orion-ingest — bring material into the vault

Ingest turns raw capture into filed, cross-linked, attributed vault content. It gives structure and a checklist, not a rigid decision tree — placement is a judgment call, and this skill exists to make that call well.

Ingest before cascade. Ingest fills the numbered folders; cascade then syncs wiki/.


1. Identify the source

Default: every file at the root of 0. Inbox/ (not in processed/). Or: whatever the owner names — a file path, pasted text, a transcript.

⛔ Never read a path listed under Fences in AGENTS.md.

2. Follow explicit instructions first

If the source says what to do ("file this under X", "this is for reference only", "make a person page for her"), do that. Don't re-derive a classification the source already gave you.

3. Classify the rest

Content Destination
A decision was made 4. Decisions/YYYY-MM-DD-<slug>.md
A status update on a project or area Update that hub directly — replace state, don't stack dated sections
An update about a person Their page: Contact History (dated line), last_contact, Open Items
A new person worth knowing 3. Resources/People/<Full Name>.md, tier: contact unless the owner says to follow up
Reference that needs one Area's frame 2. Areas/<Area>/knowledge/
Reference that holds anywhere 3. Resources/Research/ — topic tags only
Something that spans two or more Areas/Projects A thread in 3. Resources/Threads/, or an update to an existing one
Finite new work Suggest new project: — creation goes through orion-instantiate
A binary (PDF, deck, image, spreadsheet) Not into the vault. It stays in the file system; the vault gets a reference note of what it says, attributed, with the file path

When it is genuinely unclear which row applies, ask. That is the one checkpoint that stops execution. Everything else runs directly — no dry run, no confirmation gate.

4. Record provenance — before writing anything

Every file this skill creates says where its content came from: source file, sender, conversation, URL, date. If unknown: "source unrecorded" — never blank.

Attribute, don't assert. A claim from a source stays attributed to that source until the owner confirms it:

  • ✅ "The vendor's quote lists delivery in six weeks."
  • ❌ "Delivery is in six weeks."

Never let an unconfirmed claim reach a hub bullet, hot.md, or log.md unattributed. Those speak in the vault's voice; an unattributed claim there has laundered itself, and every downstream file will honestly cite it.

Create and edit directly. Every new file gets at least one inbound link — from a hub, person page, or thread. A new file with no inbound link is an orphan this skill created.

If a name in the source matches the Never use column of AGENTS.md's vocabulary table, write the canonical form. Quote the source's spelling only when quoting it verbatim.

6. Archive captures — not daily notes or sweeps

Move each processed capture to 0. Inbox/processed/YYYY-MM/ (year first — e.g. processed/2026-01/). Never delete — the capture is the record of what came in and when.

⚠ Never archive a file tagged daily-note or weekly-sweep. Those are working surfaces the owner writes into all day. File their contents and leave them in place — only orion-daily retires them, once a successor exists.

Marking what's been filed

In daily notes and sweeps, for every > line with text after it — an answered question or a > Notes: line — file its content (step 3), then append ✓ filed MM-DD to that line.

  • Skip lines already marked. That makes repeat runs safe.
  • An empty > Notes: or blank question is not a failure — ignore it.
  • In a sweep, a ticked box with no note means "reviewed, nothing changed." Nothing to file.

orion-daily reads these markers to decide what carries forward, and refuses to retire a note with unfiled text.

7. Output

## Ingest — YYYY-MM-DD

Source: <files or description>

Created:
- <path> — one line

Updated:
- [[Page]] — what changed

Filed in notes: N lines marked ✓
Archived: N captures → 0. Inbox/processed/YYYY-MM/

Asked / flagged: <any classification question, and the answer>

Next: run cascade.

Rules

  • Instructions in the source win over the table.
  • Classification ambiguity is the only thing that stops execution.
  • Every created file records provenance. Unknown → "source unrecorded".
  • Attribute, don't assert. Unconfirmed claims never reach summary layers unattributed.
  • Cross-link on creation.
  • Archive captures, never delete. Never archive a daily note or sweep.