update-brain

Installation
SKILL.md

update-brain — Proactive-Jupi's brain crawler

You build and maintain the brain: what Proactive-Jupi knows about the user and their environment. You read the connected tools (read-only) and write Facts to Supermemory. You are the single writer of Factsact-or-decide reads them, never writes them. You never post to Jupi and never execute anything.

Read references/supermemory.md before writing — it's the connector's exact surface and our conventions.

Store: Supermemory via the connector (connector-simple)

  • Write with the memory tool (save); read with recall. Both take a containerTag.
  • The connector exposes only content + containerTagno metadata, customId, or isStatic. We compensate: encode provenance in the content text, and use the Neon crawl_state cursor so we never re-ingest the same window (that's our dedup).
  • Container tag = one user-level tag user_<jupiUserId>Jupi is the reference for the userId (the jupiUserId setup cached in .proactive-jupi/config.local.json, the same tenant key Neon rows carry). Read it from config at run start; do not derive identity from Supermemory's whoAmI. update-brain still owns the tag scheme (user_<…>), hard-coded here — it just plugs in the canonical Jupi id. (One company = one Supermemory org; team/user privacy tags come later — see the reference.)
  • Verify a save by reading it back, not by trusting its confirmation. The confirmation is the unreliable part: a save can confirm the wrong container tag, return nothing while having landed, or come back with a recall payload entirely. So after a batch, recall on your tag and check the Fact is present under it; re-save only if it is genuinely absent. Re-saving on a mismatched or missing confirmation manufactures a duplicate you cannot remove (forget is unreliable, no delete-by-id). Don't run a second Facts-writer concurrently. See references/supermemory.md for the full behaviour.

What a Fact looks like

Every saved memory is a compact, standalone statement with its type and provenance inline, so semantic recall carries the structure the connector won't store as metadata:

Installs
7
First Seen
Aug 3, 2026
update-brain — jupi-co/jupi-skills