关于 recall
recall 是一项 Cursor 技能,可在开始或继续任务前重建近期工作背景。它结合限定范围的聊天记录与代码管理、问题跟踪、文档和错误报告等共享记录,并生成简明状态摘要。
主要功能
- 01按时间、主题和工作区限定搜索
- 02并行挖掘相关聊天记录
- 03检索共享项目记录
- 04根据实时状态核实相关工作
- 05生成结构化背景摘要
适用场景
- 01中断后继续先前工作
- 02回顾特定功能或缺陷的近期记录
- 03梳理当前状态与下一步行动
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ cursor/ plugins --skill recall安装后在 Claude Code 中输入/recall确认已加载。
详细介绍
回顾
在开始或恢复工作之前,重建用户近期的工作上下文,并简要说明当前进展和接下来要做什么。
保持简洁,紧扣主题。只阅读当前范围内各个主题所需的内容,然后停止。
你的上下文存在两份记录中。你自己的聊天历史记录了你做过什么、做过哪些决定。共享记录则记录了围绕同一代码、以其他名称发生的一切:用户反复报告的症状、已发布又被撤回的修复,以及仍在生产环境中触发的错误。第二份记录正是 why 技能要搜索的内容,涵盖源代码管理、问题跟踪器、聊天和问题频道、长篇文档以及错误跟踪系统。某项功能如果遗留了大量 Bug,其大部分历史都在那里,所以不要只靠自己的聊天记录重建。
聊天记录位于 ~/.cursor/projects/<slug>/agent-transcripts/<uuid>/<uuid>.jsonl,其中 <slug> 是去掉开头斜杠,并将每个 "/" 替换为 "-" 后的工作区路径(因此 /Users/you/proj 会变成 Users-you-proj)。每一行都是一条聊天消息。
- 先分类,再路由。要恢复某一段具体的先前聊天,应使用
session-pickup操作手册,而不是本技能。将习惯转化为持久技能,应使用automate-me。以人类可读的方式总结工作,是另一种任务。Recall 会在你采取行动前加载近期聊天中的工作上下文。如果用户已经提供了完整的状态摘要(路径、分支、改动),就直接使用并跳过挖掘。 - 搜索前锁定范围。明确时间窗口(“近期”是一个实际范围,默认最近 7 天)、指定的主题以及工作区(默认为当前工作区。未经允许,绝不读取其他项目的聊天记录)。明确告知用户范围。绝不要悄悄把“全部”缩小为“最近 N 天”。
- 并行挖掘聊天历史。派出多个子 Agent,使用快速、低成本的模型,各自负责语料库的一部分。指示每个子 Agent 按真实修改时间排序候选项(使用
ls -t),绝不要按 UUID 名称排序;先搜索主题,再只读取匹配的聊天及其中相关部分;跳过当前聊天和明显的噪声(子 Agent、评估和测试聊天)。每个子 Agent 都要对每条聊天按相同格式返回一个区块:主题、用户目标、决策、未解决事项、困难与修正,以及成果(PR、工单、分支),每项都要注明聊天 UUID。对于一两条聊天,跳过并行分发,直接搜索。原始聊天记录留在子 Agent 中,主线程只接收其发现。根据任务选择子 Agent 的推理级别和快速或标准速度,遵循 poteto-mode 技能的“Subagents”部分。 - 只要主题提及某项功能、文件、子系统、领域或 Bug,就要检查共享记录。这是默认要求,不由你自行判断;“我在 X 上的工作”也不例外。交由 why 技能的来源调查员处理,但要把问题从“为什么会这样构建”调整为“当前状态如何、尝试过哪些但未奏效的方案、用户仍在报告什么”。复用其针对各来源的操作手册,与聊天历史挖掘并行运行调查员;遵循其原则:每个来源安排一名调查员,无结果本身也是发现;跳过不可用的 MCP 并说明情况。将调查结果纳入摘要。只有在纯粹回顾活动、没有指定目标(“我这周做了什么”)时才跳过此步骤,此时自己的历史记录和实时状态就是全部答案。
- 对照实时状态进行核实。使用
git和gh检查挖掘和调查中发现的 PR、分支和工单。如果答案取决于某个 Agent 实际做过什么(运行过哪些工具、读取过哪些文件、遇到过什么错误),就读取完整聊天记录,而不是精简后的本地副本。 - 按以下规范撰写摘要。按主题分组。始终围绕指定主题。
输出约定
先写摘要,再写线程状态,然后写问题,最后写下一步。更深入的细节放在下面,或直接删掉。
- 摘要。 最多 5 个项目。说明这项工作是什么,以及整体进展如何。
- 线程。 每项占一行,并且必须以且仅以一个状态标签开头:
[merged #N]、[open PR #N]、[in flight <branch>]、[verified, uncommitted]、[reverted #N]或[planned, not started]。没有标签的线程尚未完成,请添加标签。 - 问题。 最多 5 项,列出反复出现的问题。包括用户持续报告的症状,以及已发布后又回退的修复,让下一次尝试能从上次失败之处继续。
- 下一步。 最有价值的单一后续操作,具体说明。
除非相邻功能或工单会阻碍当前事项,否则不要提及。当摘要和线程行超出一屏时,应先删减细节,而不是删减线程。使用 unslop 技能撰写简报;引用聊天发现时注明 UUID,引用共享记录发现时注明其来源(PR #、工单 ID、聊天永久链接、错误跟踪器问题),并在任何公开输出前清理私人上下文。
回复: 按照上述约定撰写简报。