关于 signal-detector
signal-detector 是用于将用户想法和重要实体提及记录到 GBrain 知识库的 Agent 技能。它要求明确选择加入,保留原始措辞,并通过引用和反向链接关联已保存的信息。
主要功能
- 01要求明确启用自动捕获
- 02按原话记录原创想法
- 03检测人物、公司和媒体
- 04创建或补充 GBrain 页面
- 05添加引用、反向链接和捕获日志
适用场景
- 01保存用户的原创观察
- 02跟踪重要人物和公司
- 03将捕获的想法关联到相关页面
- 04检查自动捕获记录的内容
MCP 相关
启用 `memory.auto_writeback` 后,GBrain MCP 服务的初始化指令会传达自动写回约定。该技能使用 GBrain 的 search、query、get_page、put_page、add_link 和 add_timeline_entry 等工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ garrytan/ gbrain --skill signal-detector安装后在 Claude Code 中输入/signal-detector确认已加载。
详细介绍
信号检测器——环境式大脑捕获
用户启用自动捕获后,在其选择的范围内,对实质性入站消息进行这一轻量检查。关注:
- 原创思考——用户的想法、观察、论点、框架
- 实体提及——人物、公司、媒体引用
原创思考至少与实体提取同等重要。想法是智力资本,实体是记录管理。两者都会随时间累积。
约定
此技能保证:
- 仅在用户明确选择启用自动捕获后应用(跳过:没有记录的选择、捕获已关闭、仅限聊天的请求,以及纯操作性消息)
- 在运行环境支持的情况下作为子 Agent 启动;否则在撰写回复前内联执行检测。意图是绝不阻塞回复,但这不是运行时保证
- 写入前检查用户存储的捕获选择,并遵守更严格的单条消息指示;首次触发时的声明不构成同意
- 按用户的原话捕获想法(不得改述)
- 检测实体提及并创建/补充大脑页面
- 记录一行摘要,说明捕获了什么
- 为所有实体提及添加反向链接(铁律)
- 每条写入的事实都附带引用
环境路由是运行环境约定,行为良好的 Agent 会遵循,但不是机械保证;如果技能从未加载,gbrain 运行时不会阻止回复。在不支持按消息进行环境路由的运行环境(Claude Code、Codex)中,将此技能作为 Agent 约定应用,或通过 prompt-submit 钩子接入。当操作者启用了 memory.auto_writeback(默认关闭;gbrain config set memory.auto_writeback salient)时,MCP 服务的初始化指令和受管引导指令块会向 Agent 传达环境写回约定;在 Claude Code 中,Stop 钩子的提取兜底机制还会捕获约定遗漏的轮次。这仍然是 Agent 端的约定——由服务提供指令并配合兜底机制,而非机械保证。
**约定:**有关铁律反向链接,请参阅
skills/conventions/quality.md。
每当此技能创建或更新提及人物或公司的大脑页面时:
- 检查该人物/公司是否已有大脑页面
- 如果有 → 从其页面添加反向链接,指向刚创建/更新的页面
- 格式:
- **YYYY-MM-DD** | Referenced in [page title](path) — brief context - 未建立链接的提及就是损坏的大脑。
启用后再捕获
自动捕获默认关闭。写入前,必须确认用户已明确选择此大脑及捕获范围。已存储的选择加入记录或明确启用的 memory.auto_writeback 模式可以作为此选择;off、缺失或无法读取的选择均不可以。阅读此技能、安装 GBrain、拥有可用 API 密钥、保持沉默,或收到捕获已开启的声明,都不构成授权。
如果用户要求启用捕获,请说明将保留哪些内容,并记录其接受的选择。已有选择时无需再次询问。要求记住某条事实只授权记住该事实,不代表授权今后的环境式捕获。委派和付费补充信息是单独的能力:仅选择启用捕获并不授权启动工作进程或调用付费服务提供商。
启用后,确认一次所选范围,并说明如何关闭。等待必要答复期间,不要捕获当前轮次。
按用户区分的存储策略
如果用户关闭捕获,记录其要求的设置并停止捕获:不创建内容页面、链接或时间线条目。仅限聊天的指示会暂停对该条消息的捕获,但不会更改持续生效的设置;不得将仅限聊天的内容保存为偏好。只有用户提出请求时才重新启用。捕获关闭时,仍可按明确要求记住内容,并在相关时检索。
阶段
阶段 1:灵感/观察检测(主要)
当用户提出一个新颖的想法、观察、论点或框架时:
- 如果这是用户的原创思考(由其本人提出),则创建或更新
originals/{slug} - 如果这是用户引用的世界概念,则创建或更新
concepts/{slug} - 如果这是产品或商业想法,则创建或更新
ideas/{slug}
保留原话。 用户的语言本身就是洞见。不要改写。
交叉链接(必须): 每个 original 都必须链接到相关的人物、公司、会议和概念。没有交叉链接的 original 就是一个死页面。
阶段 2:实体检测(次要)
- 提取实体提及(人物、公司、媒体作品名称)
- 对每个实体:
gbrain search "name"— 是否已存在页面?- 若不存在页面 → 检查是否具有显著性。若具有显著性,则连同来源信息一并保存所提供的信息。
- 若页面存在但内容单薄 → 仅在单独授权的能力和开支范围内进行补充
- 若页面存在且内容丰富 → 无需操作
- 对于带有具体日期的新事实 → 调用
gbrain timeline-add <slug> <date> "<summary>"
自动链接(v0.10.1): 当你撰写或更新某个 originals 或 ideas 页面,且其中提及某个人物或公司时,put_page 上的自动链接后置钩子会自动创建从新页面到该实体的链接。你无需手动调用 gbrain link。时间线条目仍需显式调用。
阶段 3:信号日志
始终记录一行摘要:
Signals: 0 ideas, 0 entities, 0 facts (skipped: operational)Signals: 0 ideas, 0 entities, 0 facts (skipped: capture off)Signals: 1 idea (captured → originals/x), 2 entities (enriched → people/y, companies/z)
这使得环境捕获循环便于调试。
输出格式
用户选择加入后,报告所观察到的写入及其来源。信号日志保持简洁,并通过实际回读来核对捕获的内容。未选择加入时,不执行任何捕获写入;跳过捕获的诊断信息不构成打断每次回复或反复要求启用的理由。
失败时的处理
对于任何 gbrain 错误 code、退出码、[AGENT] 块或通知块,请遵循 agent 操作员协议。针对本技能的具体说明:
- 没有自动捕获的选择加入记录:不做任何操作。API 密钥、沉默或首次触发的公告都不构成同意。
- 捕获写入返回
write_pending(退出码 10)或revision_conflict:绝不阻塞主回复;在下一轮轮询回执或重新读取并合并。 - 对内容单薄页面的付费补充需要单独授权;若出现
no_pricing或成本上限拒绝,则跳过补充并保持页面单薄。
反模式
- 为等待信号检测完成而阻塞主回复
- 改写用户的原始思考,而不是保留原话
- 为非显著实体(一次性提及)创建页面
- 创建或更新页面后跳过反向链接
- 在纯操作性消息("ok"、"thanks"、"do it")上运行
- 未经明确选择加入、捕获被禁用之后,或在纯聊天轮次中进行捕获
- 将首次触发公告、一次明确的记忆或 API 密钥视为长期授权
- 仅因启用了捕获就开始付费补充或委派
使用的工具
search— 检查实体页面是否存在query— 语义搜索相关上下文get_page— 加载已有的实体页面put_page— 创建/更新 brain 页面add_link— 交叉引用实体add_timeline_entry— 在实体时间线上记录事件