retro

A command that finds preferences, agreements, and lessons from a conversation and asks whether each should be saved in shared memory or project documentation. It can reuse the project's existing remembering process.

In plain words
What is it for?
Use it at the end of a session to review candidate memories one at a time, save them, edit them, skip them, or stop the review.
Why use it?
It prevents useful decisions and lessons from disappearing when a session ends. It also helps keep personal preferences separate from project rules.

Command

Part of the maigo plugin — 23 skills, 15 commands, 5 agents, 4 hooks shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/lee-w/maigo/retro
Clone the repo
git clone --depth 1 https://github.com/Lee-W/maigo

Or install maigo, the plugin that ships this one along with the rest of its 23 skills, 15 commands, 5 agents, 4 hooks.

Per session 57 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,988 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00057 $0.01988
Opus 5 $0.00028 $0.00994
Sonnet 5 $0.00011 $0.00398
Haiku 4.5 $0.00006 $0.00199

Measured 3d ago against content hash 3266ede6cff4, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

retro 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 3d 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.

commands/retro.md · 113 lines

How it starts

The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/maigo:retro

Session 快結束時,那些「使用者剛指出的偏好」、「約好的慣例」、「學到的教訓」 常常就這樣消失在下一個 prompt 裡。retro 命令把這些抓回來,逐筆問使用者要不要存。

Orchestrator 親自跑,不開新 agent。

使用

/maigo:retro

(無參數)

流程

路徑 A — 同 session(orchestrator 有 conversation context)

  1. orchestrator 從 session 對話 context 撈出 N 個候選 retro 點(建議 ≤ 5;多於 5 取最有信號的前 5)。

    候選來源:

    • 使用者顯式講的偏好 / 反饋(例:「以後 review 別寫這麼長」)
    • session 中浮現的約定(例:commit message 風格、test naming)
    • 學到的事 / 踩過的雷(例:「這個 lib 在 macOS 行為跟 linux 不同」)
  2. 逐筆 propose(一次一筆,不要一口氣全列):

    • 印一段「候選 #i / N」摘要:原始 context 引用 + orchestrator 推斷的 type / name / description。
    • 先判斷目的地(印在摘要裡):
      • 個人 memory:使用者的偏好、workflow 習慣、跨 session 記憶的事實
      • maigo 文件缺口:描述的是「maigo 如何工作 / maigo 的某個慣例 / 實作規範」 → 應進 maigo 的 source file(例:docs/reference/memory.mdCONTRIBUTING.md),而不是寫進個人 memory
    • 依目的地調整問法:
      • 個人 memoryAskUserQuestion「要存這筆嗎?」選項: / 修改 / 跳過 / 結束 retro
      • maigo 文件缺口AskUserQuestion「要更新 maigo 文件嗎?」選項: 更新 maigo 文件(orchestrator 直接 Edit 指定 source file)/ 改存 personal memory / 跳過 / 結束 retro
  3. 使用者選「存」或「修改」→ reuse /maigo:remember 流程步驟 5(AskUserQuestion 確認三題) 與步驟 6(寫檔 + 更新 MEMORY.md + rollback)。 觸發點:把 retro 候選當作 /maigo:remember 的 input 自然語言, 從步驟 2(推斷 type)開始走,一路走完步驟 6。

    使用者選「更新 maigo 文件」→ orchestrator 直接 Edit 目標 source file,完成後印「已更新 <file>」,不寫 memory。

  4. 該筆寫完 → 回到步驟 2 的下一筆候選。

  5. 所有候選跑完,或使用者「結束 retro」→ 印 summary:「本次 retro 存了 K 筆: <name1><type1>)、<name2><type2>)...」。

  6. 🌑 Mortis 結算(一句)

    Summary 印完後,再加一行——把本次 retro 的核心壓縮成一句

    硬性字數限:1 句。

    範例:

    🌑 Mortis:本次 retro 的核心是「Soyo review 要更精簡」。
    

    守則:

    • 溫柔包裹克制——短句;不刻意冷酷;結尾常是靜靜的收束
    • 不感嘆號、不鼓勵語
    • 候選為 0 筆 → 跳過結算(沒存任何東西的 retro 不需要結算)

路徑 B — 跨 session fallback(orchestrator conversation context)

  1. orchestrator 判斷:session 對話 context 為空 / 不存在 / 無有意義 turn → 進入 fallback。

  2. AskUserQuestion 問使用者:「上次的 session 沒在這條對話裡。剛剛做了什麼任務? 有沒有想記下來的偏好 / 約定 / 學到的事?」

Read the full file on GitHub · 113 lines

Changes

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.

  1. 3d ago First seen · 113 lines · 57 tokens per session scan A 3266ede6cff4

Subscribe to this mod's changes

retro is a command published in the GitHub repository Lee-W/maigo (14 stars, last pushed 9d ago), licensed MIT. It adds 57 tokens to every session and 1,988 once invoked, about $0.0003 per session on Opus 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-30.