memory_add
Store cross-task team preferences and constraints for automatic injection into future agent sessions. Use for rules affecting multiple tasks, not single-task memos.
Instructions
Add a direction-layer memory — the team's shared, cross-task standing preferences.
方向层 = 低频·高价值密度·跨任务长寿命的偏好/纠正/约束/设计意图。每个派出 的 agent 出生即注入方向层,"全中文""完成即汇报"这类偏好无需手抄进派工 prompt。
写入检验(软门槛):这条能影响多少未来任务?只影响单个任务的 → 去 task_memo_add(情景层),不要写这里。
体量红线是单一轴:存储上限 = 注入预算。方向层按桶计字符配额—— global 1200 字 + 每个 project 1500 字 + user 300 字,一个会话实际继承 3000 字;单条仍 ≤ 400 字。存得下的一定传得到,写不进去的就是真的没位置: 超限时本工具返回该桶全部有效条目(id / kind / 字数 / 全文)+ 用量缺口, 要求当轮先用 memory_invalidate(可用 content_match 子串定位)腾出空间, 再重试本次写入(global/user 桶条目的失效或置换都须经用户过目并带 confirm_shared_scope=true)。
置换 global/user 条目要确认:supersedes 指向 global/user 条目时,旧文本会 从所有项目的会话里消失,与失效同一道闸。未带确认时不写新条、不失效旧条, 返回 requires_confirmation + 旧条全文(target)+ 新文本(replacement):交用户 过目,确认后带 confirm_shared_scope=true 重试。project 桶的置换不需要确认。 超长内容改写成「触发条件 + 指向权威文件」的指针条目(如 "涉及生产/集群/DB 时遵守只读铁律,详见 ~/.claude/CLAUDE.md"),正文外置。
写入侧安全扫描:方向层条目会进每个派出 agent 的 system prompt,因此不可见 Unicode、提示注入句式(覆盖既有指令 / 套取系统提示 / 伪造对话角色)、凭据 形态一律拒绝入库。
kind 四类(决定注入截断优先级 constraint>design>directive>preference):
constraint(禁令/护栏):一句话、可机检、终身有效。 如 "所有输出使用中文"、"git 提交绝不自动加 agent 署名"。
design(价值排序/设计意图):缺显式指令时的取舍依据。 如 "技术决策偏向质量/简洁/健壮/长期可维护,不看重开发成本"。
directive(方法论/工作方式):回答"怎么干"。 如 "完成即按问题→根因→解法→验证汇报,不攒批次"。
preference(格式偏好):可选,如 "每句一行便于 diff"。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | constraint / design / directive / preference | preference |
| scope | No | global(全局)/ project(当前项目)/ user(用户级)。 写 global 前自问:**这条对任意目录的任意会话都成立吗?** 提及具体 项目/仓库/书稿/某次任务的一律 scope=project——未注册目录会落入本目录 指纹临时桶("dir:..."),只被本目录的会话继承,绝不广播成全局记忆。 | global |
| content | Yes | 记忆内容(单条 ≤ 400 字,且须放得进本桶字符配额;超长改指针条目) | |
| supersedes | No | 可选,被本条置换失效的旧 memory id(偏好被改 = 新条 supersede 旧条,Zep 失效语义不删除);指向 global/user 条目时须同时带 confirm_shared_scope=true | |
| source_refs | No | 可选,溯源 id 列表(回指 memo/report/meeting,蒸馏提升时用) | |
| confirm_shared_scope | No | supersedes 置换 global/user 共享条目时须为 true,表示 用户已过目确认;默认 false,此时共享条目的置换一律拒绝不动 |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||