revisit · git:20260717.f61a5d8 · 2026-07-17 · sha256 ff34d44056a12aef
revisit git:20260717.f61a5d8A
Immutable. This exact content is served forever at /api/v1/blob/ff34d44056a12aef.
--- name: revisit description: >- Revisit dashboard — one scan of everything you parked to re-check later, across every skill's memory. Reads out/*/tracker.md and the other memory files skills leave behind (ideate PARK "revive when", verdict/scout revisit-when triggers, refactor WATCH candidates, learn spaced-repetition due dates, jobfit roles to re-check) and surfaces what's due now: date-based items past their date, trigger-based items whose condition may have fired. Renders one prioritized "due to re-check" list in chat — grouped by skill, most overdue first — quoting the exact tracker line and its revive trigger so you can act or defer. Strictly read-only: it never edits a tracker or fires the follow-up skill; it points, you decide. Use for "what do I need to revisit", "what's due to re-check", "anything parked worth reviving", "show my revisit queue" — e.g. "/revisit", "/revisit ideate". --- # revisit — what you parked, now due `/revisit` — scan every skill's memory for items due to re-check `/revisit <skill>` — only that skill's tracker (e.g. `/revisit ideate`) Skills that judge under uncertainty don't just decide — they record a **trigger for revisiting the decision**: ideate PARKs an idea "revive when X", verdict stamps "revisit-when", scout/refactor leave WATCH items, learn schedules the next review by date. Scattered across `out/*/`, those triggers rot unseen. This skill is the one place that gathers them and asks a single question: **what is due to re-check right now?** It is **strictly read-only** — the same contract as `daybrief`. It never edits a tracker, never marks anything revived, never runs the follow-up skill. It surfaces; you decide. ## Step 0 — Locate the memory Today's date is `date +%F` (compute it; don't hardcode). Then find `out/` in the current project. - No `out/`, or no memory files under it → say so plainly and stop. Nothing to revisit is a valid, complete answer (keyless, graceful — never invent items). - `/revisit <skill>` → restrict the scan to `out/<skill>/` only. **Completion criterion:** the set of memory files to scan is fixed, or a clean "nothing to revisit yet" is reported. ## Step 1 — Collect the revisit signals Read each memory file and pull every line carrying a revisit signal. Known shapes (don't limit to these — any "revive/revisit/recheck/due" marker counts): | Source | Signal to pull | |---|---| | `out/ideate/tracker.md` | PARK rows with a **"Revive when …"** reason | | `out/verdict/*.md` | **revisit-when** triggers on a past verdict | | `out/scout/tracker.md` | **WATCH** items and their revive condition | | `out/refactor/tracker.md` | **WATCH** candidates deferred to a trigger | | `out/learn/*.md` | next-review **due dates** (spaced repetition) | | `out/jobfit/tracker.md` | roles marked to re-check later | Skip anything already resolved (SHIPPED, DONE, DROP, applied) — a DROP is not a revisit. Capture for each item: source skill, the verbatim line, and its trigger (a date, or a condition in prose). **Completion criterion:** a flat list of open revisit items, each tagged with source skill and its trigger. ## Step 2 — Classify each item Sort every item into exactly one bucket: - **DUE** — a date-based trigger whose date is **on or before today**, or a condition-based trigger that plausibly **has fired** given what you can see in the repo/trackers (state the evidence). When unsure whether a condition fired, mark **DUE** and say why it's worth a look — a false "check this" is cheaper than a missed revive. - **NOT YET** — date still in the future, or condition clearly not met. Keep it, but below the fold, with the unmet trigger shown. Don't fire or resolve anything — classification only. **Completion criterion:** every item is DUE or NOT YET, each with a one-line reason. ## Step 3 — Render the queue One prioritized list in chat: - **DUE first**, most overdue at the top (oldest date, or longest-standing condition). Group by source skill. For each: the quoted line, its trigger, why it's due, and the **next skill to run** if the user chooses to act (e.g. "→ `/ideate` to re-diverge", "→ `/verdict revisit <brief>`"). - **NOT YET** collapsed underneath as a short "watching" list — item + the trigger not yet met — so the user sees the horizon without noise. - Nothing DUE → say so in one line; the watching list is still worth showing. Never auto-run a follow-up. Naming the next skill is a suggestion the **user** acts on — the read-only contract holds to the last line. **Completion criterion:** a single grouped, prioritized queue in chat; every DUE item names the skill that would act on it; nothing was written or triggered.