mcpField
B
brief

brief

github.com/davepoonAgent 工作流3.7k60 次安装2 天前更新
代码仓库

关于 brief

brief 是供 Agent 使用的 Origin 技能,用于会话开始或主题切换时整理背景。它结合项目状态文件、相关记忆和待审核修订,并以状态文件作为当前任务记录。

主要功能

  1. 01优先读取项目状态文件
  2. 02获取主题相关的上下文记忆
  3. 03检查待处理的记忆修订
  4. 04区分当前任务与背景信息

适用场景

  1. 01在会话开始时了解进展
  2. 02主题切换后回顾背景
  3. 03检查拟议的记忆修订

MCP 相关

调用 Origin MCP 服务的 context 和 list_pending_revisions 工具,收集背景信息并检查待处理项目。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davepoon/buildwithclaude --skill brief

安装后在 Claude Code 中输入/brief确认已加载。

详细介绍

/brief

从 Origin 获取经过整理的会话简报。按以下顺序使用三个来源:

  1. 项目状态文件 — /handoff 上次写入的内容。它是当前“尚待完成事项”的权威来源。
  2. context MCP — 身份、偏好、与主题相关的记忆。作为背景,而非记录。
  3. list_pending_revisions — 等待审核、由守护进程标记的记忆。

关于“下一步做什么”,以状态文件为准,因为记忆是按主题相似度排序的,可能会将过时内容和最新内容一起呈现;状态文件则是按会话维护的实时记录。

1. 先读取项目状态文件

检测项目根目录:

Bash: cd_repo=$(git -C "$PWD" rev-parse --show-toplevel 2>/dev/null); echo "${cd_repo:-no-git}"
  • 如果输出是路径 → <project> = basename(例如 origin)。
  • 如果是 no-git → <project> = cwd basename。

读取 ~/.origin/sessions/_status/<project>.md:

Bash: cat ~/.origin/sessions/_status/<project>.md

如果文件存在,请在简报输出顶部的类似 Status (last session <date>) 标题下,逐字呈现其中的 ## Last session、## Active 和 ## Backlog 部分。这是“尚待完成事项”的权威框架。

如果文件不存在,不要提及。首次处理的项目尚未进行过交接。

2. 调用 context

调用 origin MCP 服务的 context 工具。如果用户传入了主题参数,请传递该参数。否则,根据工作目录和目前为止的对话推断范围——不要询问用户。

context(topic="<args or inferred>", space=<inferred from cwd or recent turns>)

范围推断规则:

  • topic:如果用户未提供参数,则传入对话中最近的主题(正在讨论的文件或功能);如果是会话开始时的全新通用简报,则省略。
  • space:根据 cwd 确定。~/Repos/origin/... → "origin"。其他仓库 → 仓库名称。不在任何仓库中 → 省略。范围明确时始终传入;如果不确定,稍后再运行 list_spaces(PR-C 之后),或省略。

何时使用

  • 会话开始时——在调用任何其他 Origin 工具之前调用。
  • 会话中主题发生重大转变时。
  • 用户说“帮我补充下背景”“X 的背景是什么”“提醒我一下 Y”时。
  • 会话中途确认假设时。

何时不要使用

  • 查询具体事实 → 使用 /recall(更有针对性)。
  • 存储新记忆 → 使用 /capture。
  • 会话结束时 → 使用 /handoff。

如何使用结果

将状态文件视为实时记录(下一步做什么),将 context 记忆视为背景(用户的思考方式)。如果状态文件显示某事项已完成,但记忆仍显示待处理,请相信状态文件——记忆不会自动被新信息取代。如果发现信息不一致,请在相关位置指出,而不要照搬过时记忆。

了解用户的思考方式。用户的偏好、纠正和过往决定,能告诉你他们希望如何获得帮助,而不仅仅是他们已经知道什么。不要只查找信息,也要据此调整你的行为。

3. 检查待处理的修订

加载上下文后,调用:

list_pending_revisions(limit=10)

如果结果为空,什么也不要说。不要输出“0 条待处理修订”或任何表示“一切正常”的内容。简报里已经有足够多的噪声了。

如果 MCP 调用出错,记录一条单行警告并继续。不要因此中止简报。

如果结果不为空,请在简报末尾(上下文摘要之后、交还给用户之前)显示一个区块。守护进程返回的行已按 last_modified DESC 排序;只需截取前 3 条。

每个 PendingRevisionItem 都包含 target_source_id、revision_source_id、revision_content、source_agent 和 last_modified。此响应中不包含原始记忆的内容。该区块会显示建议的修订文本和目标记忆 ID;如果用户想在决定前查看原文,可以先运行 /recall <target_source_id>。

Pending revisions (<N> total, top 3 shown):

1. target: mem_abc123  (proposed by <source_agent or "daemon">)
   revision: "Origin uses Turso libSQL fork (libSQL-server) for vectors..."
   Action: accept (replace original) | dismiss (drop revision) | skip

2. ...

内联的接受/驳回操作对应:

  • 接受:accept_revision(target_source_id="<id>")
  • 驳回:dismiss_revision(target_source_id="<id>")
  • 跳过:不调用;该修订会继续保持待处理状态,留待下次 /brief 处理

如果 <N> > 3,请在区块末尾加上一行:

Run `/review revisions` to walk the rest.

不要自动执行任何操作。由用户逐项选择。

注意:此区块会显示所有待处理的修订,不仅限于当前会话中的修订,因为无论矛盾何时被标记,这些修订涉及的记忆都可能是你此刻仍在使用的内容。

评论

支持 Markdown