用途:在用户结束一次会话(如“wrap up”“今天到此为止”)或调用 /session-end 时,统一编排多个收尾环节,只运行真正符合条件的部分。
主要能力:一次共享调查(检测、git 状态、PR、带稳定 UUID 的 taskwarrior 任务、近期提交、blueprint 追踪状态、GitHub 去重),随后逐项判定是否符合条件:wrap 捕获未了结线索;distill 固化可复用学习(规则、技能更新、justfile 配方等);feedback 提交插件/技能交互问题;taskwarrior 同步关闭已完成任务、更新状态、添加后续项;blueprint 追踪同步排空已关闭 WO 关联任务。
使用方式:先运行共享收集器 bash "${CLAUDE_SKILL_DIR}/../../scripts/session-survey.sh" --with-commits --with-blueprint --with-dedup,可用 --project <name> 覆盖检测到的项目;distill 判定另跑 distill-survey.sh --session-id "${CLAUDE_SESSION_ID}" --summary。然后给出一次紧凑预览与一次 AskUserQuestion 多选确认,再按顺序执行:taskwarrior 同步(内联)→ session-wrap → blueprint 追踪同步 → session-distill → feedback-session。任务用稳定 UUID 操作(task +LATEST uuids、task <uuid> done),不用易变的数字 ID。
适用场景:一次会话可能触发多个收尾环节时;Stop 钩子提示且用户确认时;用户主动调用 /session-end 时。若只有单一环节,可直接用对应子技能。
限制:设计上非全自动,提交 GitHub issue 和写日志不可 git 恢复,因此必须经过一次确认门。若没有任何环节符合条件,只说明一行并结束。blueprint 或 feedback 插件未安装时需注明并跳过。GitHub 未查询(GH_READY=false)时相关计数视为未查询而非零,不能作为去重依据。项目 slug 为目录名猜测,可能出错,低置信度时需在预览中说明实际范围并提供 --project 覆盖。