mcpField
E
eiirp

eiirp

github.com/garrytan生产力31.3k172 次安装今天更新
代码仓库

关于 eiirp

EIIRP 是一套在重要工作后整理 brain 内容与技能的工作流,也定义了实质性文档分析的自动归档规则。它涵盖分类、补充 schema、创建关联页面,以及审查技能图谱。

主要功能

  1. 01盘点知识与能力产出
  2. 02按活动 schema 规划归档位置
  3. 03检测并提议 schema 类型
  4. 04创建页面并补充实体关联
  5. 05审查技能复用、重叠与路由

适用场景

  1. 01整理深度研究的发现和来源
  2. 02归档新建代码或工作流的方法
  3. 03在交付文档分析前自动存档
  4. 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):

  1. 每条知识都落在正确的 brain 位置。
  2. 所有来源都被引用并链接。
  3. 若出现新的内容类型,则更新当前生效的 schema pack。
  4. 创建或更新实体页面,并建立交叉链接。

能力领域(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 页面,然后在同一条回复中同时交付分析和页面链接。用户不应需要追问"你归档了吗?"

触发条件(三项须同时满足)
  1. 用户共享了一份文档——PDF、文件附件、文档链接,或粘贴的长文内容。
  2. 即将交付的回复包含实质性分析:结构化输出 >=500 字(发现、建议或提取的数据,而非复述或排版)。
  3. 该内容值得日后再次查找——数月后阅读 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 ——个性化书籍镜像
归档机制(在回复发出之前)
  1. 路径 — 参阅 skills/brain-taxonomist/SKILL.md。它会读取当前生效的 schema 包(gbrain schema show --json);文档分析通常归入 analysis/ 或 research/,以实体为中心的发现则归入 people/ 或 companies/。

  2. 写入 — 通过 capture 归档:

    gbrain capture --file <analysis.md> --slug <taxonomist-path>
    

    (在瘦客户端安装环境中可改用 MCP 上的 put_page。)按照第 4a 阶段的要求填写完整的 frontmatter。页面必须自包含:数月之后的读者无需借助聊天记录即可了解全貌。

  3. 在同一条回复中附上链接 — 在回复中以对话形式给出分析内容(而不只是写“见 brain 页面”),并附上指向已归档页面的链接行,链接格式遵循 skills/brain-link-discipline/SKILL.md(该文件负责链接格式和解析验证步骤)。如有多个页面,则列出所有链接。

  4. 首次触发通知。 对某位用户第一次触发此闸门时,在交付回复末尾追加一行,让其在自动归档开始的那一刻就知情,而不是事后才得知: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 阶段中的 gbrain CLI 检查在任何环境下均可使用。

5a. 识别新模式

自问:这项工作是否揭示了将会反复出现的可复用模式?

可复用模式的指标:

  • 你在多个来源之间使用了一套特定的搜索顺序。
  • 你遵循了特定的验证 / 交叉引用方法。
  • 你编写的代码可以针对不同输入参数化。
  • 输出格式可以泛化。
  • 用户很可能会就不同主题再次请求类似工作。

对于每个识别出的模式:

  1. 识别可组合的部分(DRY、MECE):
    • 共享逻辑 → lib/(不要复制粘贴到各个 skill 中)
    • 搜索方法 → skill 或 lib 函数
    • 输出模板 → brain 模板或 skill 阶段
    • 归档逻辑 → 已由 brain-taxonomist 与活动 pack 覆盖
  2. 通过 v0.19 解析器进行 DRY 检查:
    gbrain check-resolvable
    
    查找重叠的触发条件或无法触达的 skill。
5b. 现有 skill 审计

对于本次工作中使用或涉及的所有 skill,检查:

  1. 是否有 skill 被绕过?(是否有本应由某个 skill 处理的操作被你手动完成?)
  2. 是否有 skill 与你刚完成的工作存在重叠?(合并候选)
  3. 是否有 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 检查项给出相同的结论。

评论

支持 Markdown