retro
Engineering Retro
运行环境入口约定:本仓库的
.claude/skills以 Claude Code 为源,示例默认写/tunan:*。若同一 skill 在 Codex 中运行,所有面向 sponsor 的可复制入口在输出前改写为$tunan:*;Claude Code 中保持/tunan:*。
retro reads git history and GitHub issues/PRs for a given time window and produces a compact, single-page engineering retrospective: what shipped, how fast the team moved, what is still in flight, and what was learned. Each report is stored as a GitHub issue labeled tunan:retro, and the headlines are surfaced in chat. The list of tunan:retro issues is the browseable timeline of past retros.
This is the engineering-cadence complement of product-pulse. product-pulse reports user experience and system performance and deliberately does not report "what shipped." retro is exactly that missing half — shipped work and the cadence behind it — read straight from git and gh. Run pulse to see how users fared; run retro to see how the team moved. They never overlap.
The skill is read-only and zero-config. It never mutates the repo, the database, or any external system — it only reads git log/git shortlog locally and queries GitHub through gh read commands, then writes one report issue. There is no interview and no tunan:config dependency; the only inputs are the repo's own history and the lookback window.
Interaction Method
Default to the platform's blocking question tool: AskUserQuestion in Claude Code (call ToolSearch with select:AskUserQuestion first if its schema isn't loaded), request_user_input in Codex, ask_user in Gemini, ask_user in Pi (requires the pi-ask-user extension). Fall back to numbered options in chat only when no blocking tool exists in the harness or the call errors — not because a schema load is required. Never silently skip the question. In practice retro only asks if the window argument is unparseable; a normal run needs no questions.
Lookback Window
#$ARGUMENTS
Interpret the argument as a time window. Common forms: