Borrowing it
Nothing to install: this file belongs to JanoshMoshiri/MarkdownLLM. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/JanoshMoshiri/MarkdownLLM/main/.claude/commands/retrospective.mdgit clone --depth 1 https://github.com/JanoshMoshiri/MarkdownLLMWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/janoshmoshiri/markdownllm/retrospective)<a href="https://agentmods.dev/commands/janoshmoshiri/markdownllm/retrospective"><img src="https://agentmods.dev/badge/commands/janoshmoshiri/markdownllm/retrospective/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/janoshmoshiri/markdownllm/retrospective"><img src="https://agentmods.dev/badge/commands/janoshmoshiri/markdownllm/retrospective.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00032 | $0.01167 |
| Opus 5.5 | $0.00013 | $0.00467 |
| Sonnet 5.5 | $0.00006 | $0.00233 |
| Haiku 4.5 | $0.00003 | $0.00117 |
Grade A, and why
retrospective scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 16d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Write a type: retrospective thing for this domain (periodic quality reflection;
see {framework_root}/retrospective.md), then run the reflexive scans that spec binds to this
ritual. retrospective.md → Reflexive Scans At Retrospective owns each scan's
definition and its number; this file is the invocation, and until 2026-09-08 it
fired three of the seven — the net beneath the net was never wired to the hand
that casts it.
- If the cadence chase fired at session start (the digest's fired-trigger
line on the latest retrospective) — first check the gate: if
things/has not moved since that retrospective'speriod_end, re-date the chase and stop. Otherwise run the mechanical scans now (3 and 4 below, the orphan findings fromvalidate, and the held reasons for 7) and offer the rest as the session's first item; "not now" defers it and the trigger stays fired. An unattended run performs the whole ritual but writes the retrospective asstatus: draft, raises cues for what it modified, and files every ruling to the seat — it never answers a cue and never marks itcomplete(retrospective-cadence-is-a-dated-chase-2026-09-13). detect-conflicts(scan mode; spec scan 1) — sweep everylinked_thingsedge across the domain for contradictions;{framework_root}/templates/prompts/detect-conflicts.md.- Triage every open conflict (spec: What A Retrospective Produces, item 3) —
walk
things/conflicts/atstatus: open, the whole set and not only what the floor aged, and force a disposition on each: rule (superseded / both-valid / dismissed →status: resolved), link it from the work that will resolve it, or hold it withdisposition: keep-active+ adisposition_reasonnaming what would resolve it. Creation runs at three cadences; this and the end-session brake are the two that read. review-schema-coherence(spec scan 2) — audit the emergent frontmatter vocabulary for fields that have drifted apart in name but converged in meaning;{framework_root}/templates/prompts/review-schema-coherence.md.- Index rebuild (spec scan 3) —
python {framework_root}/tools/mdllm.py index . rebuild. The floor refuses a drifted index at every commit, so this resets the provenance anchors to the period's end; content parity never depended on it. - Change-driven reconciliation (spec scan 4) — for every change the period
landed without a declared inflection, run the backward pass
(
{framework_root}/change-reconciliation.md→ Retrospective Reconciliation): freeze a baseline, reconstruct the delta fromgit logover the period, assimilate each changed thing's affected set (mdllm touchpoints), walk it, and seal contradictions astype: conflictthings. This is the only pass that catches an inflection nobody declared — including every change an unattended agent commits. - Insight triage and consolidation (spec scan 5) — a read of the reckoning:
mdllm reckonnames the insights that have earned a disposition (orphaned, cited-and-never-promoted, promotable) andmdllm reckon --compositionthe merge candidates — pairs sharing two or morelinked_thingstargets, a shared spec counting for nothing (a pair sharing only specs needs three). Judge each: promote (promoted_to), dismiss, consolidate into one survivor, or hold with--keep. - Conditions-met pass (spec scan 6) — the holds
mdllm reckonlists as due, plus any hold the period's events plainly met before its date: read eachdisposition_reasonand rule on it;--keepre-dates the rest. review-skill-coherence(spec scan 7) — read the skills and the entry file against the commit stream since the last retrospective and force a per-skill disposition (confirm-current / update / park / retire); fold what the reckoning says to promote into the skill that carries it,promoted_toset — the walk gate takes it from there;{framework_root}/templates/prompts/review-skill-coherence.md.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 16d ago Changed · +4 lines c889e2bf0ec0
- 1mo ago Changed · +16 lines ad0176d7e874
- 1mo ago Changed · +29 lines · +16 tokens per session a0ea33d80371
- 2mo ago First seen · 20 lines · 16 tokens per session scan A 3cd04114ac06
retrospective is a command published in the GitHub repository JanoshMoshiri/MarkdownLLM (5 stars, last pushed 4d ago), licensed MIT. It adds 32 tokens to every session and 1,167 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
retrospective compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| retrospectiveJanoshMoshiri/MarkdownLLM | Command | 5 | 4d ago | MIT | A | 32 | Claude Code |
| checklistgithub/spec-kit | Command | 148k | yesterday | MIT | A | 13 | Claude Code |
| clarifygithub/spec-kit | Command | 148k | yesterday | MIT | A | 27 | Claude Code |
| specifygithub/spec-kit | Command | 148k | yesterday | MIT | A | 13 | Claude Code |
| analyzegithub/spec-kit | Command | 148k | yesterday | MIT | A | 26 | Claude Code |
| convergegithub/spec-kit | Command | 148k | yesterday | MIT | A | 35 | Claude Code |
| implementgithub/spec-kit | Command | 148k | yesterday | MIT | A | 14 | Claude Code |