| name | ref-supersede |
| description | Handle a validity transition on a reference entity — a contract renewal, role change, or re-termed price where a full prior snapshot matters. Creates the new status:active note (with valid_from/valid_until), marks the old note status:superseded + superseded_by:[[New]], keeps both for history, and reindexes. Human-gated. Distinct from ref-ingest overwrite (which replaces the body + logs one line); use supersede only when the prior snapshot must be preserved. Company is the default scope. |
| automation | gated |
| allowed-tools | ["Read","Write","Edit","Bash","Glob","Grep","AskUserQuestion"] |
| user-invocable | true |
| argument-hint | [scope=Company] <entity or engagement being superseded> |
| metadata | {"version":"1.0","created":"2026-07-08T00:00:00.000Z","author":"Cornelius","changelog":["1.0: Initial version — validity-transition supersede: new active note + old superseded + superseded_by chain, valid_from/until, Change Log both, reindex"]} |
Ref Supersede
ℹ️ First, set expectations: before anything else, print one short line with this skill's version and its most recent change — the top entry of metadata.changelog above — e.g. ref-supersede v1.0 — recent: initial version. Then proceed.
A validity transition with history preserved. Overwrite-in-place (ref-ingest) is right when the latest fact simply replaces the old one. Supersede is right when the old snapshot itself matters — you want to be able to answer "what was the term of the 2026 Acme Corp engagement?" after the 2027 renewal exists. It keeps both notes: old superseded, new active, linked by superseded_by:.
Read first: resources/layered-brains/COMPANY-BRAIN-SCHEMA.md → "Canonical source of truth" (overwrite body vs. supersede-with-snapshot) + "The temporal model"; resources/layered-brains/REFERENCE-SCOPE-SCHEMA.md → "History".
Human-gated in every scope. Even in market/, a supersede (a structural, two-note change) is a human act — the autonomous market path overwrites, it never supersedes (ref-ingest flags such cases here instead).
State Dependencies
| Source | Location | Read | Write | Description |
|---|
| Company family | Brain/Company/*/*.md | ✓ | ✓ (gated) | Old + new entity notes |
| LBS index | resources/local-brain-search/data/ | ✓ | ✓ (reindex) | Rebuilt after the write |
Process
Step 1 — Identify the transition
Resolve the note being superseded (Grep by name/alias). Confirm it is a validity transition (a term/window closed, a role or price was re-termed) and that a prior snapshot is worth keeping — otherwise this is an overwrite; route to /ref-ingest instead.
Step 2 — Draft both notes + get approval
Present the before/after and get explicit approval (AskUserQuestion) before writing:
- New note (
status: active): the current fact, with (and if it has a term), fresh /, , and the entity's relations. Give it a name that disambiguates the window when needed (e.g. ).