关于 recall
用于开始或恢复工作前重建近期项目上下文的 skill。它结合聊天记录回顾、共享记录调查和当前状态核实,生成简洁的交接摘要。
主要功能
- 01搜索近期项目对话
- 02调查共享项目记录
- 03核实相关工作的当前状态
- 04生成简洁状态摘要
适用场景
- 01暂停后恢复工作
- 02了解功能的状态与历史
- 03找出未解决问题和后续行动
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mariusflorescu/ pstack-t3 --skill recall安装后在 Claude Code 中输入/recall确认已加载。
附带文件agents/openai.yaml
详细介绍
回顾
以粗体或反引号标记的技能名称,或以 /<name> 形式运行的技能,对应于此技能目录旁的 ../<name>/SKILL.md 文件;不带前缀的原则名称对应于 ../principle-<name>/SKILL.md 文件。阅读该文件并遵循其中的指引。大多数 pstack 技能仅供用户使用,因此你的技能工具无法加载它们。每次 delegate_task 调用都遵循 ../poteto-mode/SKILL.md 的 Subagents 部分中的默认设置。
开始或恢复工作前,你需要重建用户近期的工作上下文,并简要说明当前进展和下一步要做什么。
保持简洁、切题。只阅读当前范围内线程所需的内容,然后停止。
你的上下文保存在两份记录中。你自己的聊天记录保存了你做过的事和作出的决定。共享记录则保存了其他人围绕相同代码开展工作的所有情况:用户反复报告的问题、已发布又被撤回的修复,以及仍在生产环境中出现的错误。第二份记录正是 why 技能要搜索的内容,涵盖源代码管理、问题跟踪器、聊天和问题频道、长篇文档以及错误跟踪系统。一个功能若积累了大量历史缺陷,其大部分背景都记录在那里,因此不要只根据自己的对话记录重建情况。
本项目的聊天记录就是 T3 线程。t3_thread_list 按时间倒序列出线程(includeSubagents: true 会包含委派任务的子线程),t3_thread_search 可按文本查找线程,t3_thread_read 可按时间线读取线程(view: "activity" 会包含工具调用)。
- 先分类,再路由。要恢复某个具体的过往聊天,应使用
session-pickup操作指南,而不是此流程。要把习惯转化为可长期复用的技能,应使用automate-me。以便于人阅读的方式总结工作,则是另一项任务。Recall 会在你采取行动前,加载近期聊天中的工作上下文。如果用户已经提供了完整的状态摘要(路径、分支、变更),就直接使用,无需挖掘。 - 搜索前先锁定范围。明确时间窗口(“近期”是一个实际范围,默认最近 7 天)、指定的主题(如有)和工作区(默认当前工作区。未经请求,绝不读取其他项目的聊天记录)。向用户复述范围。绝不要悄悄把“全部”改成“最近 N 条”。
- 全面检索聊天记录。针对这个项目翻页调用
t3_thread_list,直到超出时间窗口;排除当前聊天和明显的噪声(子 Agent、评测和测试聊天),再按t3_thread_list的顺序(依据真实的最近活动时间,绝不按 thread id)将其余 thread id 分成若干组。t3_thread_search的结果范围有限,命中项只能作为线索,不能代表完整语料。使用orchestrator_capabilities中快速、低成本的模型,并行启动多个delegate_task子任务,每组一个;每个子任务的title要注明所属分组,任务说明中要明确列出 thread id。每份任务说明都要写明“只读:仅检查,不写入,不运行 git 命令”和“不要委派”,并要求子 Agent 对每个 thread id 调用t3_thread_read,只保留与主题相关的聊天及相关片段;持续跟进nextPosition,直至hasMore为 false;并使用itemId和textOffset获取被截断的条目。每个子任务都要按相同结构返回结果,每个聊天单独成块:主题、用户目标、决策、未解决事项、遇到的困难及修正,以及产物(PR、工单、分支),每项都注明 thread id。只有一两个聊天时,跳过并行分组,直接搜索。原始聊天记录保留在子 Agent 中。主线程只接收其调查结果。根据工作需要,参照 poteto-mode 技能的 Subagents 部分,为每个子 Agent 选择推理级别以及快速或标准速度。 - 如果主题指向某项功能、文件、子系统、领域或 Bug,务必检索共享记录。这是默认要求,不由自行判断;“我在 X 上的工作”也不例外。交由 why 技能的资料调查员处理,但要将问题从“为什么要这样构建”调整为“当前状态如何、试过什么但未奏效,以及用户仍在反馈什么”。复用该技能针对各来源的操作指南,让调查员与聊天记录挖掘并行运行,并沿用其做法:每个来源安排一名调查员;无结果也属于调查发现;跳过无法使用的 MCP 并说明原因。将返回的结果纳入摘要。只有在不涉及具体目标的纯活动回忆(“我这周做了什么”)中,才跳过此步骤;此时,自己的历史记录和当前状态就是全部答案。
- 对照当前状态核实。通过
git和gh检查挖掘及共享记录调查中发现的 PR、分支和工单。如果答案取决于 Agent 实际做过什么(运行了哪些工具、读取了哪些文件、遇到了哪些错误),应使用t3_thread_read读取完整聊天,设置view: "activity",持续跟进nextPosition直至hasMore为 false,并使用itemId和textOffset获取被截断的条目;不要只看摘要。 - 按照下方约定撰写摘要。按 thread 分组。只围绕指定主题。
输出约定
依次写出概述、线程状态、问题,再写下一步。更深入的细节放在下方,或直接删去。
- 概述。 最多 5 条要点。说明这项工作的内容及整体进展。
- 线程。 每个线程单独占一行,并且必须以且仅以一个状态标签开头:
[merged #N]、[open PR #N]、[in flight <branch>]、[verified, uncommitted]、[reverted #N]或[planned, not started]。没有标签的线程就还没完成,请为其添加标签。 - 问题。 最多列出 5 个反复出现的问题。包括用户持续反馈的症状,以及已发布后又回滚的修复,让下一次尝试能从上次失败的地方继续。
- 下一步。 最有用的一项下一步行动,具体明确。
除非相邻功能或工单会阻塞当前工作,否则不要提及。当概述和线程条目超出一屏时,先删减细节,不要删减线程。通过 unslop 技能撰写简报;引用聊天中的发现时注明线程 ID,引用共享记录中的发现时注明其来源(PR #、工单 ID、聊天永久链接、错误跟踪器问题),并在任何公开输出前清理私人上下文。
回复: 按照上述约定撰写简报。