用途:在会话结束前捕获那些下次坐下时不会自动浮现的遗留事项,防止对话中商定的后续工作被遗忘。触发词为“wrap up”“session wrap”“done for now”。
主要能力:先读取项目级 .claude/session-plugin.local.md(优先)或用户级 ~/.claude/session-plugin.local.md 配置;两者都不存在时仅写入 taskwarrior 和 GitHub issue,不写日志。目的地包括 taskwarrior(每次收尾都执行)、日志(仅在配置且会话匹配 journal_scopes 时)、GitHub issue(当前目录有 github.com origin 且 PR 合并或即将合并并有合并后跟进时)、上游 issue/PR 候选。
使用方式:执行五步流程。Step 1 运行只读收集脚本:bash "${CLAUDE_SKILL_DIR}/../../scripts/session-survey.sh" --with-commits --with-dedup,必要时加 --project <name>。Step 2 分类:已完成任务标记 done,进行中任务加注释,已被 PR/issue 跟踪的不新建任务,未跟踪的松散线索建 taskwarrior 任务或日志待办。Step 3 用 AskUserQuestion 预览并确认,避免以自由文本“Apply? (y/n)”结束回合。Step 4 应用:task <uuid> done、task <uuid> annotate "..."、task add project:<name> priority:M +<tag> '<description>',先注释再关闭;日志按配置标题追加;GitHub 每个跟进建一个 issue 并从 PR 描述链接。上游候选用 AskUserQuestion 选择“稍后跟踪”或“立即提交”,立即提交需先经 workflow-verify-before-filing 验证并去重,再经 cold-read-gate 检查,最后用 github-issue-writing 提交。Step 5 报告写入内容及被过滤为噪音的数量。
限制:只记录用户明天会注意到的缺口,且没有已存在的 PR 或 issue 承载;每次收尾 3-6 项为宜,10 项以上说明过滤太松。不记录干净完成的工作、已有 PR/issue 跟踪的事项、例行操作、自解决项、对话上下文和猜测。任务 ID 会变动,操作应使用 UUID。GH_READY=false 表示 PRS/GITHUB_DRIFT 未查询,不能当作没有开放项。若 workflow-orchestration-plugin 未安装,回退到 github-issue-writing 加手动验证,或改为稍后跟踪,绝不未经验证就提交。Stop hook 会在真实收尾措辞时每会话提示一次 session-end,本技能运行期间保持静默;可用 touch ~/.cache/claude-session-end-nudge/<session_id> 预先静默。