resume
resume — pick up an interrupted feature pipeline at the right phase
运行环境入口约定:本仓库的
.claude/skills以 Claude Code 为源,示例默认写/tunan:*。若同一 skill 在 Codex 中运行,所有面向 sponsor 的可复制入口在输出前改写为$tunan:*;Claude Code 中保持/tunan:*。
何时触发:用户说 "resume" / "继续这个 feature" / "接着上次的做" / "/tunan:resume #N",或一个
lfg跑到一半被打断、想从断点继续而不是从 step 1 重跑整条流水线。
The feature issue is the state machine. tunan keeps every durable artifact on a single GitHub issue (requirement body + <!-- tunan:plan --> / <!-- tunan:solution --> marker comments + accumulating labels), and a feature's open PR marks the review/CI tail. resume reads that state with a deterministic script and routes to the next skill — it never re-derives progress from the agent's memory of a prior session.
This mirrors comet's /comet auto-detect-and-dispatch, but the state source stays GitHub, not a local .yaml — so resume works across machines and sessions, and never conflicts with tunan's "artifacts are issues, never local files" invariant.
调用语法
/tunan:resume [<feature issue #N>]
<feature issue #N>— the feature issue to resume. If omitted, resolve it (in order): the current branch's open PR body (gh pr view --json body→ first#N), then the branch name (feat/…-Nor a trailing number), then the most recent opentunan:reqissue (gh issue list --label tunan:req --state open --limit 5). If still ambiguous, ask the sponsor which issue to resume.