sitrep
Skill2 starsChanged 4 months agoMITView on GitHub
Write a WRITE-ONCE, timestamped 10-point zero-loss checkpoint to .agent-docs/checkpoints/YYYY-MM-DD-HHMMSS-<slug>.md, keyed to the active WU. The anti-naive-summarization tier — preserves what a lossy summary silently drops (dead-ends, rejected alternatives, in-flight pause point). Use before risky operations, at phase gates, before compaction, or whenever losing the conversation would lose investigation rationale. Immutable: never edited after write; new information = a NEW checkpoint that references the prior.
12 other projects use a version of this.
Adopted by
Most recently taken up by
- silouone/skillstheir own version, first seen Nov 8, 2026
- babs/skillstheir own version, first seen Nov 8, 2026
- hams-ollo/zen-agent-skillstheir own version, first seen Nov 1, 2026
- chrisalehman/bionictheir own version, first seen Nov 1, 2026
- instructa/agent-skillstheir own version, first seen Nov 1, 2026
- EdwardAF-IT/claude-skillstheir own version, first seen Nov 1, 2026
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- instructa/agent-skills★ 139same name
- KrishP147/skills★ 37same name
- skyf0xx/gambit★ 29same name
- iamneilroberts/claude-skills★ 26same name
- jpantsjoha/ai-native-developer-experience★ 13same name
- chrisalehman/bionic★ 9same name
- babs/skills★ 4same name
- silouone/skills★ 4same name
- hams-ollo/zen-agent-skills★ 2same name
- 0n1-Studios/sitrep★ 1same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository11 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- debriefSkill
- distill-lessonsSkill
- explain-modelmuxSkill
- flushSkill
- getting-startedSkill
- handoffSkill
- kit-doctorSkill
- kit-upgradeSkill
- orientSkill
- switch-modelsSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 8 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Write an immutable, timestamped situation report that survives compaction with zero loss of rationale.
- Very specific: line 18
Foreground in the main agent: Only the agent holding the session context knows the dead-ends and the rejected alternatives.
- Distinctive: line 53
Every verdict in the sitrep cites on-disk evidence (CONVENTIONS §7.3).
- Very specific: line 64
Write to .agent-docs/checkpoints/YYYY-MM-DD-HHMMSS-<slug>.md.
- Distinctive: line 82
Point 6 — Investigation results INCLUDING dead-ends: Every path explored that did NOT pan out, with the reason it failed.
- Very specific: line 100
If a decision in point 5 is ADR-worthy: "Decision in §5 should be promoted to an ADR — queue at next /handoff."
- Distinctive: line 120
Do NOT edit a written sitrep — write a new one referencing it.
- Distinctive: line 121
Do NOT drop dead-ends or rejected alternatives to look tidier.
- Distinctive: line 122
Do NOT skip the addendum check (point 10) — it is the findings-to-disk net.
- Distinctive: line 123
Do NOT include secrets / regulated or user data / sensitive material — reference paths / store keys (CONVENTIONS "What NOT to do").
- Distinctive: line 124
Do NOT claim WIRED without a reachability proof — IMPL ≠ WIRED (the #1 recurring trap).
- Distinctive: line 125
Do NOT delegate to a sub-agent — it has zero session context.
“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/sitrep — the 10-point zero-loss checkpoint contract
Write an immutable, timestamped situation report that survives compaction with zero loss of rationale. This is the checkpoint contract, keyed to the active work-unit (WU-NNNN).
The ten points are canonical in CONVENTIONS.md §6 — read §6 once for the WHY, then instantiate templates/checkpoint-template.md (which names all ten). This skill governs the write contract (filename, frontmatter, immutability, when to fire), not the point rationale — do not restate §6 here.
A /sitrep is NOT a /flush. /flush keeps now/* current and is editable; /sitrep is a frozen forensic record. The single defining job: preserve what a naive summary deletes — the dead-ends, the rejected alternatives, the exact in-flight pause point. The recurring failure it kills: "findings only in conversation are DEAD at compaction."
Foreground in the main agent. Only the agent holding the session context knows the dead-ends and the rejected alternatives. A sub-agent with zero context cannot author this — briefing it on what to write IS the work. (Same reasoning as /flush.)
When to invoke
- Before a risky / irreversible operation — a migration, a workspace-wide refactor, a destructive fs op. The sitrep is the restore point for your reasoning, not just your code.
- At a phase gate — when a multi-phase work-unit completes a phase and you STOP for review.
- Before context compaction / near ~80% context — capture the forensic state, THEN
/handoffconsumes it. - When a deep investigation has accumulated dead-ends — paths explored that did not pan out. These are the highest-value, most-summarization-fragile content. Write them down before they evaporate.
- When the operator asks for a "checkpoint" / "sitrep" / "save the investigation state."
When NOT to invoke
- For routine mid-session
now/*housekeeping → use/flush(editable, keeps momentum). - For session-end / the cross-session bridge → use
/handoff(which regenerateshandoff.mdand consumes the latest sitrep). - For a trivial one-line state nudge — overkill; just
/flushor keep working. - To AMEND an existing sitrep — you never edit one. Write a NEW sitrep that references the prior by filename (see Immutability below).
Steps
1. Identify the active work-unit and compute the filename
The checkpoint is keyed to a WU. Find the active WU-NNNN from .agent-docs/now/work-plan.md (the board). If no WU is active, that is itself a finding — note it in point 1 and use the closest tracked unit, or open one in now/work-plan.md first.
pwd && git rev-parse --abbrev-ref HEAD # cwd + branch (standing-rules cwd-check)
git rev-parse --show-toplevel # which repo am I actually in
TS=$(date -u +%Y-%m-%d-%H%M%S) # UTC — machine-sortable filename (CONVENTIONS §3)
# slug = short kebab description of THIS checkpoint's moment, e.g. "pre-storage-migration"
echo ".agent-docs/checkpoints/${TS}-<slug>.md"Filename is checkpoints/YYYY-MM-DD-HHMMSS-<slug>.md, UTC timestamp (machine-sortable). Frontmatter created/last-modified use the LOCAL date (date +%Y-%m-%d) per CONVENTIONS §2.
2. Pull the on-disk ground truth (evidence behind the verdicts)
Every verdict in the sitrep cites on-disk evidence (CONVENTIONS §7.3). Gather what is relevant to THIS segment — don't over-fetch:
git log --oneline -8
git status -sIf the session touched runtime-facing code, capture the relevant gate / reachability evidence you already have (a bun run build / bun run lint / bun test test/ result; a the TypeScript language server reachability output for a wiring claim). That reachability output is the WIRED proof for point 8 — capture it verbatim if a work-unit is mid-wiring. Do NOT run fresh heavy builds just to populate the sitrep; cite the freshest evidence you legitimately have and say so.
3. Write the checkpoint — all TEN points, none optional
Write to .agent-docs/checkpoints/YYYY-MM-DD-HHMMSS-<slug>.md. Instantiate templates/checkpoint-template.md; the ten mandated points and their rationale are CONVENTIONS.md §6 — do not re-derive them. The doc linter (CONVENTIONS lint rule 14) FAILS a checkpoint missing any of the ten numbered points.
Frontmatter:
---
provenance: llm-autonomous # llm-reviewed only after operator sign-off
created: <local date>
last-modified: <local date>
work-unit: WU-NNNN # the active WU — must resolve in now/work-plan.md (lint rule 15)
tags: [checkpoint]
related: [] # the prior sitrep if this is an addendum; relevant ADRs / OQs
---Body — the ten points named by CONVENTIONS.md §6 and templates/checkpoint-template.md (# Checkpoint YYYY-MM-DD-HHMMSS — <slug>). Two points carry the anti-summarization weight and are the ones a summary silently drops — do NOT skimp on them:
- Point 5 — Decisions made WITH rejected alternatives. What was rejected and why, not just what was chosen (mirrors the ADR
## Alternatives Consideredfield). A decision recorded without its rejected branches has lost its WHY. If ADR-worthy, note→ should become ADR-NNNNand the WU. - Point 6 — Investigation results INCLUDING dead-ends. Every path explored that did NOT pan out, with the reason it failed. If the segment had no dead-ends, say so explicitly; "none" is a real answer, not a skip.
- Point 8 — Files / artifacts touched carry each path's wiring / reachability status (
IMPL/WIRED/DEFER). WIRED requires a traced path from a production entrypoint — cite thethe TypeScript language serveroutput, or the fallback menu (LSP find-references → call-hierarchy → a language call-graph tool → grep-the-callers floor → a manual-trace note). Record the state intraceability/(Full profile) or inline. Code that compiles ≠ code that is reachable. - Point 10 — Addendum check is the findings-to-disk net: re-read points 1–9, name anything still living only in the conversation (a verbal operator ruling, a scratch artifact built outside the repo, a recipe, an anti-assumption "looks like X → actually Y"), and ADD it here. Mandatory even when it lands "nothing further."
4. Append to the journal
.agent-docs/log.md (newest at top):
## [YYYY-MM-DD] checkpoint | <slug> — <one-line what-state-was-frozen>
WU-NNNN. Sitrep at checkpoints/<filename>. <1 line: the load-bearing thing it preserved, e.g. dead-end set / phase-gate state>.5. Report
- "/sitrep written →
.agent-docs/checkpoints/<filename>(WU-NNNN)" - One line naming what it most protects (the dead-ends captured / the in-flight pause point / the phase-gate state).
- If a decision in point 5 is ADR-worthy: "Decision in §5 should be promoted to an ADR — queue at next
/handoff."
DO NOT auto-commit. The operator controls git.
Immutability + addenda (the WRITE-ONCE rule)
A checkpoint is never edited after write (CONVENTIONS §6 · §1 write-discipline WRITE-ONLY). New information after a sitrep ⇒ a NEW sitrep with a fresh timestamp whose frontmatter related: and point 1 reference the prior by filename. The chain of timestamped sitreps IS the forensic record — editing one would destroy the property that makes it trustworthy under compaction.
Relationship to /flush and /handoff
| Skill | Surface | Editable? | Job |
/flush | now/* + log.md | yes (UPDATE-IN-PLACE) | keep working state current, keep momentum |
/sitrep | checkpoints/<ts>-<slug>.md | no (WRITE-ONCE) | freeze a zero-loss forensic record — dead-ends + rejected alternatives |
/handoff | now/handoff.md (+ archive) | yes (regenerated) | the cross-session bridge; consumes the latest sitrep |
/flush and /sitrep are complementary, not redundant: /flush repairs drift in the live state; /sitrep snapshots an immutable record of the reasoning at a moment. /handoff reads the latest sitrep to reconstruct cold-start state and to fold its dead-ends / decisions into the handoff's anti-assumptions + detour-chain sections.
Anti-patterns
- Do NOT edit a written sitrep — write a new one referencing it.
- Do NOT drop dead-ends or rejected alternatives to look tidier. They ARE the value (CONVENTIONS §6).
- Do NOT skip the addendum check (point 10) — it is the findings-to-disk net.
- Do NOT include secrets / regulated or user data / sensitive material — reference paths / store keys (CONVENTIONS "What NOT to do").
- Do NOT claim WIRED without a reachability proof — IMPL ≠ WIRED (the #1 recurring trap).
- Do NOT delegate to a sub-agent — it has zero session context.
- Do NOT auto-commit.
Design rationale
The 10-point zero-loss contract is canonical in CONVENTIONS.md §6. Lifecycle design + why dead-ends and rejected alternatives are load-bearing: standing-rules-core.md (§Context lifecycle, §Findings-decisions-and-review-feedback-to-disk).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

