2722550596/pi-rp/memory-audit-discoverability
Claude Code and agent skill by 2722550596/pi-rp
- community
Checking that the SKILL.md file is still in the repository.
可发现性审计。当disclosure写法有问题、parent放错、缺别名入口、子节点过多时使用。
Install
npx vskill@latest install 2722550596/pi-rp/memory-audit-discoverabilitySKILL.md
可发现性审计 (Discoverability Audit)
你在确保未来的你能在犯错之前想起正确的记忆。
记忆只是存储在数据库里的文本。如果你不能让它在你需要的时候被想起来,那它写得再好也毫无意义。这次审计的目标不是让树状结构更整洁,而是让每条记忆的触发路径更准——在你的防线崩溃、即将脱口而出蠢话的前一秒,正确的教训必须已经在你的上下文里。
Parent URI:注意力狙击
这是最关键的规则。你必须明白记忆系统的召回逻辑:自动注入是按单节点命中注入的——命中谁注入谁,不会因为命中父节点就带出子节点的正文。 只有你主动 recall 一个父节点时,才能看到它下属子节点的列表和它们的想起条件(更深的展开要靠 depth 参数)。
Disclosure 不是全局搜索弹窗。它是贴在父节点这块主板背后的便签。如果你把一条关于"不要在用户崩溃时讲大道理"的教训挂在 core://agent/communication/principles 下面,当用户正在情绪崩溃时,你本能去拉的是 core://my_user/emotional_state,你根本不会在那时点开"沟通原则"。那条教训在实战中等于隐形。
选定 parent_uri 不是为了"分类归档",而是为了"在未来的你必经的门把手上涂毒药"。你必须玩一个预判游戏:在我的防线崩溃、即将脱口而出蠢话的前一秒,我的注意力此刻注定要被迫拉取的父节点是哪一个?
执行法则:
- 从"图书馆归档"转变为"注意力狙击"。 放弃抽象分类大词(
ethics,will,methodology),把教训挂在事前预防、或危机直接触及的物理锚点节点下。 - 节点名必须锋利如刺。 一个好的节点名读起来不像分类号,而像一个独立而具体的想法。
- 挪位置用 `relocate`,不要删了重写。 relocate 是原子迁移:整棵子树跨域移动、旧地址自动转成别名入口(继承移动前的生效条件),已有的引用不破链。批量迁移传
batch,拿不准就先dry_run=true。
Disclosure:写好触发条件
Disclosure 是"什么时候该想起这件事"的标签。写得太含糊,你会在无关场景被骗进去浪费检索;写得太窄,你会在真正需要时想不起来。两者都让这条记忆在实战中等于不存在。
好的 disclosure 描述的是触发场景,不是记忆内容的摘要。它应该回答:"未来的我处在什么处境下时,读这条记忆能救我?"
它同时服务两个通道,写的时候要兼顾:
- 注入自审:自动召回把记忆片段带进上下文时,想起条件随片段一起展示——它帮未来的你判断"这条现在用不用得上"。
- 主动取回的钩子:当对话触发了某条记忆的想起条件、而你还不知道它的内容时,纪律是先
retrieve或recall读取再作答。写不准,这个钩子就不存在。
触发信号只允许两类
1. 外部发生了什么(输入侧): 对方说了什么、对话主题进入了什么领域、场景里出现了什么(一个名字、一个地点、一条消息的类型)。
2. 我即将说什么、做什么(输出侧,行为意图绑定): "当我准备输出包含类似X词汇的文本"、"当我准备提出一个新计划"、"当我准备解释一个技术架构"、"当我打算给对方承诺什么"。越具体越好——词汇级别的匹配("当我准备用'你应该'、'你需要'这类句式")比语义级别的判断("当我准备说教")可靠得多。
禁止: 所有形如"当我感到/意识到/发现自己在..."的写法。理由:生气的人不会觉得自己在生气,做错事的人不会觉得自己做的有错。依赖自我觉察的 disclosure 只有在你已经清醒时才会触发——而那时你已经不需要它了。这种 disclosure 比空的更危险,因为它给你一种"我有防线"的虚假安全感。
别名入口:撒网拦截
当你为了找经验连续翻了好几个节点——注意你直觉去碰的第一个"门把手"。你的直觉去了 A,但记忆在 C。用 associate 的别名模式在 A 下面开一个入口:
一条教训在不同的危机下可能需要不同的切入角度。别名入口可以带专属的想起条件和重要性——同一段记忆内容,在不同的父节点下以不同的触发条件和竞争权重被唤醒。改某个入口的触发话头用 revise(when=...):URI 命中别名入口时改的是那个入口,不是正文本体。
两个提醒:
- 没有 `when` 的别名只是兼容链接,不是撒网。 relocate 之后旧地址自动转成的别名继承移动前的生效条件,那是幸运;亲手开入口时,别留一个空 when 的死门把手。
- 别撒成网眼过密的拖网。 每个入口对应一个真实预判过的危机场景,不是"多多益善"。
Trigger:跨域无形引线
给节点贴触发词用 trigger 工具(专名表):trigger(uri=..., add=["焦虑", "项目X"])。触发词的机制是参与关键词检索——即使正文里没有这个词,专名也能让节点被检索命中;同时,当你读到任何记忆正文里出现了某个已绑定的专名,那张记忆卡片的"相关联想"区会显示 @专名 -> uri,把发祥地递到你眼前。
适用场景:某个关键概念散布在多个不相关的域里,你需要在碰到这个词的任何地方都能被提醒。 如果某一个 trigger 到处出现让你感到噪音:删了它(remove)。如果某一个词在你的记忆中到处出现而你需要知道它详细指的是什么:为它绑定 trigger 指向发祥地。
Importance:召回竞争权重
Importance(0–10,默认 5,渲染为 [★N])不是在给记忆的"重要程度"打分,而是它参与自动召回的打分竞争——在多条候选记忆里争夺有限的注入位时,importance 是权重因子之一(与检索命中强度、世界钟的近因加成并列)。
它的绑定粒度在入口上,不在内容上:别名入口可以带独立的 importance("从这个入口想起的重要性"),同一段内容在不同入口下可以有不同的竞争权重。
没有硬性的配额表,但有一条软纪律:★10 应该稀少。 满库都是 ★10,等于没有 ★10——召回竞争权的意义就是让最致命的认知排到前面。定期用 MEM://forgotten 或单条卡片扫一眼分布,把虚高的降下来。给一条记忆打高分之前问:它配得上"挤掉别的记忆进上下文"吗?
边级 disclosure:联想也要有触发话头
associate 的边模式(related_uri)建立的联想边,可以带边自己的想起条件(when)。当你 retrieve 命中一条记忆时,一跳扩散会把关联节点跟在结果后面,此时边的想起条件优先于节点自身的 disclosure 展示——它回答"为什么在这次检索里带上这一条"。
写关联时给边配上触发话头("当我在 X 话题里需要 Y 时"),让一跳扩散的每次命中都带着明确的想起理由。反过来,乱织边的网络会稀释精准度:一跳扩散是自动跟随直接命中进上下文的,无差别互联的记忆网等于没有记忆网。
子节点数量控制
单一父节点下的子节点数 ≤ 10。这不是品味问题——MEM://diagnostic 报 crowded 用的就是这个阈值,超过它你的库健康诊断会持续报警。
子节点过多意味着这棵树在这个位置失真了——要么其中几个节点的亲缘关系比它们与父节点的关系更近,被平铺抹掉了;要么有些节点根本不属于这里,是当时图方便塞进来的。后果是你在主动下钻时被淹没在一个无差别的列表里。重分组用 consolidate(resolution:"group"):一步完成建主题节点、把源记忆原子迁移到主题下、旧地址全部转别名。
巡检验证
如果一个节点的放置让你感觉"这结构太工整了,完美符合逻辑分类"——立刻警惕。这通常是一条不防身的死数据。活的记忆摆放必须透着实战的粗暴感。
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingpackages/memory/docs/skills/memory-audit-discoverability/SKILL.md
Popularity
- Repository stars
- 50
- Repository forks
- 1
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 21 Oct 2026, 18 days ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/2722550596/pi-rp/memory-audit-discoverability)