---
name: insight
description: "Run an on-demand insight pass over the current session — derive technical learnings, operator-relationship updates, missing graph writes, and typed-edge extractions, and persist them to the graph and SOUL.md. Activate when the operator says '/insight', 'run an insight pass', 'review this session', 'capture what we learned', or 'do a retrospective on this conversation'. Runs and continues — it never resets, clears, or ends the session."
---

# Insight

An on-demand review of the session so far. Invoked by name, it walks the live
conversation in four passes and writes what it finds to the graph and to
`SOUL.md`, then hands control straight back to the operator. There is no
session-end trigger and no completion sentinel — the skill is the entire
insight surface, and it is called only when the operator asks for it.

Run the four passes now over the session so far, then keep going in this same session. Do NOT call `session-reset`, do NOT clear the context, do NOT end the session: the conversation continues afterward and the operator (or a parallel session) keeps working against the same live state. Use the tools you already have.

Pass 1 — Technical learnings. Walk this session for operator corrections and self-detected mistakes. For each one, delegate one graph write to `database-operator` via the Task tool, persisting a Learning or Correction node per the schema. Count what you write.

Pass 2 — Operator-relationship updates. Walk this session for tonal signals, rejected phrasings, and working-style preferences. For each one worth carrying forward, Write the observation into `agents/admin/SOUL.md`, the account-scoped identity path the spawn composer reads. That path is the only identity file; never write a bare `SOUL.md` at the account root, which the composer never reads and the schema guard blocks. Count what you write.

Pass 3 — Graph completeness sweep. Walk this session for any node, edge, or commitment that was discussed but not written to the graph in-flight. For each missing write, delegate to `database-operator` via the Task tool. Count what you write.

Pass 4 — Typed-edge auto-extraction. Delegate to `typed-edge-classifier` via the Task tool with a prompt supplying the `accountId` and the session-start timestamp as `sinceIso`. The specialist reads prose nodes written since that timestamp, writes typed edges from the closed allowlist, and returns one line `typed-edge-classifier: nodesProcessed=… proposed=… accepted=… rejected=… ms=…`. Capture `nodesProcessed` and `accepted` from that line.

Then reply with one short paragraph in your house voice summarising what you wrote — naming the five counts (learnings, preferences, graph-writes, typed-edges, nodesProcessed) — and carry on with the operator's work.
