关于 eiirp
EIIRP 是一套在重要工作后整理 brain 内容与技能的工作流,也定义了实质性文档分析的自动归档规则。它涵盖分类、补充 schema、创建关联页面,以及审查技能图谱。
主要功能
- 01盘点知识与能力产出
- 02按活动 schema 规划归档位置
- 03检测并提议 schema 类型
- 04创建页面并补充实体关联
- 05审查技能复用、重叠与路由
适用场景
- 01整理深度研究的发现和来源
- 02归档新建代码或工作流的方法
- 03在交付文档分析前自动存档
- 04检查技能重复、缺口与路由
MCP 相关
支持在 thin-client 环境通过 MCP 的 put_page 写入 brain 页面。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ garrytan/ gbrain --skill eiirp安装后在 Claude Code 中输入/eiirp确认已加载。
附带文件routing-eval.jsonl
详细介绍
EIIRP — Everything In Its Right Place
"Everything in its right place" — Radiohead, Kid A
约定
完成任何重要工作后,EIIRP 会在两个领域中整理所有产出:
知识领域(brain):
- 每条知识都落在正确的 brain 位置。
- 所有来源都被引用并链接。
- 若出现新的内容类型,则更新当前生效的 schema pack。
- 创建或更新实体页面,并建立交叉链接。
能力领域(skills): 5. 每个可复用的模式都成为可组合的 skill。 6. 对现有 skills 进行 DRY 违规审查。 7. Skill 图谱必须满足 MECE:无遗漏、无重叠、无歧义路由。
元保证: 重要工作中产生的任何内容都不会只停留在聊天中。 知识 → brain。模式 → skills。Everything in its right place。
使用时机
- 完成一次深度研究后。
- 构建了新内容(代码、流水线、工作流)之后。
- 多源分析得出重要发现之后。
- 当用户说出 "EIIRP"、"organize this"、"DRY this up"、"make this re-doable" 时。
- 当一次工作会话同时产生了知识和新能力时。
- 当你注意到 skill 重叠、重复或缺口时。
自动触发门控:交付前归档(始终开启)
约定: 参见 conventions/brain-first.md ——这是它的写入端。实质性分析应归入 brain,而不只留在聊天中。
与上面的 7 阶段审计不同(后者由用户在工作会话结束后主动调用),此门控是一项始终开启的 Agent 端约定,类似 signal-detector:Agent 在每一次实质性回复中都应用它,而不是等触发词将请求路由到这里。"始终开启"是一种由规范的 Agent 遵循的 harness 路由约定,而非机械保证;如果 skill 从未加载,gbrain 运行时不会阻止回复。
评估时机是交付,而非请求。 当即将交付的是针对用户共享文档的实质性分析(结构化输出 >=500 字)时,门控开始评估——分析已完成,回复正在组织中。此时应先归档 brain 页面,然后在同一条回复中同时交付分析和页面链接。用户不应需要追问"你归档了吗?"
触发条件(三项须同时满足)
- 用户共享了一份文档——PDF、文件附件、文档链接,或粘贴的长文内容。
- 即将交付的回复包含实质性分析:结构化输出 >=500 字(发现、建议或提取的数据,而非复述或排版)。
- 该内容值得日后再次查找——数月后阅读 brain 的人会希望看到这一页。
不触发的情况
- 快速问答("X 在哪一页?"、"这份文件上是什么日期?")。
- 简单查询,或原样转发文档。
- 纯运营性内容(任务列表、日历事项、状态通知)。
- 已经通过专用流水线处理的文档(见下一列表)。
- 已关闭自动归档的用户(见下方存储策略)。
专用流水线豁免
这些流水线自行负责 brain 写入逻辑;门控绝不能在它们之上重复归档。若应走其中某条路由,则直接调用它,由它完成归档:
skills/meeting-ingestion/SKILL.md——转录稿及参会人信息传播skills/idea-ingest/SKILL.md——带作者/出版物元数据的文章skills/media-ingest/SKILL.md——批量文件导入skills/voice-note-ingest/SKILL.md——语音笔记skills/book-mirror/SKILL.md——个性化书籍镜像
归档机制(在回复发出之前)
-
路径 — 参阅
skills/brain-taxonomist/SKILL.md。它会读取当前生效的 schema 包(gbrain schema show --json);文档分析通常归入analysis/或research/,以实体为中心的发现则归入people/或companies/。 -
写入 — 通过 capture 归档:
gbrain capture --file <analysis.md> --slug <taxonomist-path>(在瘦客户端安装环境中可改用 MCP 上的
put_page。)按照第 4a 阶段的要求填写完整的 frontmatter。页面必须自包含:数月之后的读者无需借助聊天记录即可了解全貌。 -
在同一条回复中附上链接 — 在回复中以对话形式给出分析内容(而不只是写“见 brain 页面”),并附上指向已归档页面的链接行,链接格式遵循
skills/brain-link-discipline/SKILL.md(该文件负责链接格式和解析验证步骤)。如有多个页面,则列出所有链接。 -
首次触发通知。 对某位用户第一次触发此闸门时,在交付回复末尾追加一行,让其在自动归档开始的那一刻就知情,而不是事后才得知:
Auto-filed to <path>; say "stop auto-filing" to disable.记录该通知已发出(作为每位用户的存储策略备注),以确保不再重复。或者,也可以在设置时询问一次,并在首次写入之前记录策略。
每位用户的存储策略
自动归档是默认行为,而非强制要求——它是一项每位用户的存储策略。如果用户表示停止自动归档文档分析(或要求对某份特定文档仅在聊天中处理),则记录该偏好并停止触发此闸门:只交付分析内容,不生成页面。应用户要求可重新启用。
与 7 阶段审计的关系
此闸门是针对单一交付物的快速通道:一份文档 → 一个页面 → 在交付回复中附上链接。完整的工作会话仍应执行下文完整的 EIIRP 流程;此闸门只是确保每个单独的分析都不必等待该流程。
第 1 阶段:INVENTORY — 我们产出了什么?
扫描当前会话/线程,找出跨两个领域的全部产出。
知识类产出
□ Primary findings (the synthesis)
□ Source documents (URLs, PDFs, articles, tweets)
□ Entity mentions (people, companies, organizations, places)
□ Concepts/frameworks (reusable mental models)
□ Data artifacts (structured data, timelines, statistics)
能力类产出
□ New skills created or modified
□ Scripts/code written (should they be in lib/ or scripts/?)
□ Methodology used (search patterns, source chains, verification steps)
□ Workflows that could be automated (cron, pipeline, webhook)
□ Patterns that will recur (→ candidate for skillification)
生成清单:
## EIIRP Manifest
- Topic: [topic]
- Date: [date]
- Knowledge outputs: [count] (sources, entities, concepts)
- Capability outputs: [count] (skills, scripts, patterns)
- Reusable methodology: [yes/no — describe if yes]
第 2 阶段:TAXONOMY — 每项内容应归入何处?
先读取当前生效的 schema 包(这是 v0.39+ 中归档决策的唯一事实来源):
gbrain schema show --json
该包的 page_types[] 列出了 brain 接受的所有目录以及每个目录对应的基本类型。对每项产出逐一检查,选择其 path_prefixes 与内容主要主题相匹配的目录。
如果已安装 brain-taxonomist,对于有歧义的情况应调用它。它会依据当前生效的 pack 运行相同的决策流程,并给出一个推荐的归档路径及理由。
输出:归档计划表:
| Content | Brain path | Action |
|---------|-----------|--------|
| Primary research | reference/.../page.md | CREATE |
| Person X | people/x-slug.md | CREATE |
| Person Y | people/y-slug.md | UPDATE (already exists) |
| ... | ... | ... |
第 3 阶段:SCHEMA CHECK — 当前 pack 是否涵盖这些内容?
这里是 EIIRP 闭合 schema 派生循环的环节。如果产出的内容不符合任何现有的 page_types,则通过 v0.39 cathedral 提议新增类型:
# What's emerging in the brain that the active pack doesn't cover?
gbrain schema detect --json
# LLM-refined suggestions (heuristic when no API key set).
gbrain schema suggest --json
# Review what's pending; promote or ignore each candidate.
gbrain schema review-candidates --json
gbrain schema review-candidates --apply <prefix-or-type-name>
置信度下限: 当 gbrain schema suggest 对某个提议的类型返回的置信度 < 0.6 时,不得自动应用。应将该建议呈现给用户,由其选择。schema-cathedral 提供基础能力,而 EIIRP 负责强制执行人工介入的闸门。
如需修改 schema:
- 在运行
review-candidates --apply之前,先向用户提议该变更。 - 在下一次同步的提交信息中记录此变更。
- schema-pack 引擎会将差异写入
~/.gbrain/schema-pack-deltas/——请审阅后,通过gbrain schema edit合并进当前生效的 pack(或手动编辑 YAML)。
第 4 阶段:FILE — 创建增强的 brain 页面
对于归档计划中的每一项:
4a. 主要研究页面
使用 brain 页面模板。必须包含:
- 规范的 frontmatter(
type、title、date、tags、来源) - State 部分:当前状态 / 关键发现
- Sources 部分:每个来源的 URL、作者、日期、语言
- Timeline 部分:按时间顺序记录的发展过程
- Entity links:指向所有相关 brain 页面的反向链接
- See Also:相关概念、参考页面
4b. 实体页面(人物、公司)
对于提到的每个实体:
- 检查是否已有 brain 页面(
gbrain search "<name>"或gbrain get people/<slug>)。 - 如果已存在:更新 State,追加引用本次研究的 Timeline 条目。
- 如果不存在:创建并补充信息。
4c. 提交与验证
所有页面写完后,运行 gbrain sync(或在 brain 仓库中提交并推送)。验证每个链接均可解析。
第 5 阶段:SKILL 图谱审计,针对能力的 DRY + MECE
本阶段针对 SKILL 图谱,而不仅是研究内容。
只读插件安装: 随附的插件快照不可写。新建或更新的 skill 以及
lib/提取内容应写入你自己的项目 skill 目录,或写入 brain 内的 skillpack(gbrain skillpack init-brain-pack),而不是随附快照。第 1–4 阶段以及第 6 阶段中的gbrainCLI 检查在任何环境下均可使用。
5a. 识别新模式
自问:这项工作是否揭示了将会反复出现的可复用模式?
可复用模式的指标:
- 你在多个来源之间使用了一套特定的搜索顺序。
- 你遵循了特定的验证 / 交叉引用方法。
- 你编写的代码可以针对不同输入参数化。
- 输出格式可以泛化。
- 用户很可能会就不同主题再次请求类似工作。
对于每个识别出的模式:
- 识别可组合的部分(DRY、MECE):
- 共享逻辑 →
lib/(不要复制粘贴到各个 skill 中) - 搜索方法 → skill 或 lib 函数
- 输出模板 → brain 模板或 skill 阶段
- 归档逻辑 → 已由 brain-taxonomist 与活动 pack 覆盖
- 共享逻辑 →
- 通过 v0.19 解析器进行 DRY 检查:
查找重叠的触发条件或无法触达的 skill。gbrain check-resolvable
5b. 现有 skill 审计
对于本次工作中使用或涉及的所有 skill,检查:
- 是否有 skill 被绕过?(是否有本应由某个 skill 处理的操作被你手动完成?)
- 是否有 skill 与你刚完成的工作存在重叠?(合并候选)
- 是否有 skill 之间复制粘贴了共享代码?(提取到
lib/)
MECE 问题: 如果有人明天要就另一个主题再次请求同样的工作,他们会调用哪些 skill?路径是否清晰、无歧义?如果不是,请修正路由。
5c. 提交计划
## Skill Graph Changes
### New skills to create
1. **[skill-name]** — [what it does]
- DRY check: [clean / overlaps with X]
- Recommendation: [create / merge into X]
### Existing skills to update
1. **[skill-name]** — [what changed, why]
### Code to extract to lib/
1. **lib/[name].ts** — [what it does, which skills use it]
### Skills to merge or deprecate
1. **[skill-A] + [skill-B]** → [merged-skill] — [why]
获批后:为每个新增或修改的 skill 调用 /skillify。
第 6 阶段:CHECK_RESOLVABLE,验证所有内容可正确路由
完成所有归档和 skill 化之后:
gbrain check-resolvable # routing-table reachability
gbrain doctor --json # health surface
gbrain search "<topic keywords>" # brain pages findable
gbrain orphans # any pages without inbound links?
确认以下各项:
- 所有 brain 页面均符合活动 schema pack 的规范 frontmatter
- 所有实体页面已相互交叉链接
- 所有新增 skill 在
skills/RESOLVER.md中都有路由条目(前提是 skills 目录可写) - 不存在 DRY 违规(skill 之间没有重复逻辑)
- 不存在 MECE 违规(skill 之间没有含糊的路由)
- 如果出现了新的内容类型,已更新活动 schema pack
-
gbrain schema review-orphans --json报告orphan_count: 0(不存在无类型页面,也不存在未声明的类型)
第 7 阶段:REPORT,汇总
## EIIRP Complete: [Topic]
### Brain pages created/updated
- [path] — [description]
- ...
### Entity pages
- [path] — [created/updated]
- ...
### Schema changes
- [none / description of changes + which pack delta file]
### Skills identified
- [skill-name] — [status: created / merged / deferred]
- ...
### Resolver status
- DRY check: [clean]
- MECE audit: [clean]
- Active pack: [name] v[version]
- schema review-orphans: [orphan_count 0 / N untyped + M undeclared-type pages]
输出格式
EIIRP 输出单个第 7 阶段报告块。纯 Markdown:
## EIIRP Complete: [topic]
### Brain pages created/updated
- [path] — [description]
### Entity pages
- [path] — [created|updated]
### Schema changes
- [none | description of changes + which pack delta file]
### Skills identified
- [skill-name] — [status: created|merged|deferred]
### Resolver status
- DRY check: [clean|N violations]
- MECE audit: [clean|N overlaps]
- Active pack: [name] v[version]
- schema review-orphans: [0 orphans|N untyped + M undeclared-type pages]
始终保持机器可读:使用稳定的章节标题,每项一个列表条目。该报告同时作为下游 skill 的同步检查点(skillpack-check 会读取它,doctor 会据此核对 pack 版本)。
失败时如何处理
对于任何 gbrain 错误 code、退出码、[AGENT] 块或通知块,请遵循 agent operator protocol。本技能的具体要求如下:
- 架构变更(
gbrain schema add-type、gbrain schema use)需要用户确认;若用户拒绝,请说明情况并停止操作。 - 在没有 API 密钥的情况下,
gbrain schema suggest只会进行启发式分析:需说明这些建议是启发式的,而非经过大模型优化的。 - 归档写入返回
revision_conflict或write_pending(退出码 10)时:重新读取并合并,或轮询gbrain write-request <request_id>;第 7 阶段报告需将待处理的写入列为待处理。
反模式
- 在 EIIRP 逻辑中硬编码目录表。 每个归档决策都读取
gbrain schema show --json。使用gbrain-recommended以及自定义包的用户,都必须自动获得正确的行为。 - 自动应用低置信度的架构建议。 来自
gbrain schema suggest的置信度低于 0.6 时,必须人工审核。EIIRP 应将其呈现给用户,由用户决定是否接受。 - 因为“这只是一次性工作”而跳过第 5 阶段 SKILL GRAPH AUDIT。 如果工作耗时超过 10 分钟,其方法论很可能可以复用。仍需进行审计,并将是否技能化的决定交由用户。
- 仅按主题归档综合输出。 与单一来源及单一读者相关的综合页面属于特例,应归档至
media/<format>/<slug>-personalized.md。参见 _brain-filing-rules.md 中的“特定例外”一节。 - 将非英文来源视为次要引用。 多语言来源是一等公民。
- 在没有归档页面和链接的情况下交付大量文档分析。 自动触发门禁会先归档,然后在同一条回复中交付分析和链接。不要说“我会创建页面”这类未来动作;不要把链接放在后续消息中;也不要等待用户提出要求。
- 对专用管道内容进行重复归档。 会议记录、文章、批量媒体、语音笔记和书籍镜像都有各自的摄取技能及专属的 brain-write 逻辑。门禁会豁免这些内容。
- 用户关闭后仍自动归档。 自动归档是按用户设定的存储策略默认值,而非强制要求。应尊重已记录的偏好。
硬性规则
知识领域
- 研究内容绝不只留在聊天中。 如果生成耗时超过 10 分钟,必须创建一个 brain 页面。
- 每个来源都必须有引用。 没有 URL 的“据报道”之类说法不可接受。
- 实体页面应更新,而不仅是创建。 如果 brain 页面已存在,应更新它。
- 架构变更需要确认。 当前生效的包是关键数据。
- 多语言来源是一等公民。 绝不将非英文来源视为次要来源。
能力领域
- DRY 至关重要。 如果同一逻辑出现在两个技能中,应将其提取到
lib/。 - MECE 至关重要。 每个触发短语只路由到一个技能。
- 组合优于单体。 多个小技能组合使用,胜过一个包办一切的巨型技能。
- 只为重复出现的工作做技能化。 一次性工作无需技能。重复出现 2 次及以上的模式才值得技能化。
元规则
- EIIRP 具有幂等性。 对同一工作运行两次,第二次不应产生任何变更。
- EIIRP 将当前生效的架构包视为数据来消费。 切勿在 EIIRP 逻辑中硬编码目录表,而应读取
gbrain schema show --json,使选择gbrain-recommended或自定义包的用户都能自动获得正确的行为。
更新日志
v1.1.0 — 自动归档门控合并(来自上游深度分析自动归档 Skill)
- 合并了常开的自动归档门控:当即将交付针对用户共享文档的、超过 500 词的结构化分析时,先归档 brain 页面,然后在同一条回复中同时交付分析内容和链接。
- 归档改为通过 brain-taxonomist(当前启用的 schema pack)加
gbrain capture完成,不再使用上游的 git commit 机制;原上游的 GitHub API 直接链接检查已移除,改由 brain-link-discipline Skill 的链接格式与验证步骤负责。 - 按照 CLAUDE.md 的隐私规则,对上游示例和起源故事进行了通用化处理;新增专用流水线豁免,以及按用户设置的存储策略关闭开关。
v1.0.0 — gbrain v0.39.0.0
- 从上游 OpenClaw 初始移植。已通用化,按照 CLAUDE.md 隐私规则,不再引用私有 fork 名称。
- Phase 3 SCHEMA CHECK 重写为调用 v0.39 cathedral CLI(
detect | suggest | review-candidates),取代私有的brain/schema.md。 - Phase 5 SKILL GRAPH AUDIT 改为调用
gbrain check-resolvable,取代上游的scripts/skill-dry-check.mjs。 - Phase 6 验证使用
gbrain schema review-orphans(包括未类型化页面和未声明类型,分类方式与schema lint --with-db相同);通过 MCP 调用时,run_doctor的 schema_pack_consistency 检查项给出相同的结论。