eiirp

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

EIIRP — Everything In Its Right Place

EIIRP — 各归其位(Everything In Its Right Place)

"Everything in its right place" — Radiohead, Kid A
"各归其位" — Radiohead,《Kid A》

Contract

约定

After any significant work, EIIRP organizes ALL outputs across two domains:
Knowledge domain (brain):
  1. Every piece of knowledge lands in the correct brain location.
  2. All sources are cited and linked.
  3. The active schema pack is updated if a new content type emerged.
  4. Entity pages created/updated with cross-links.
Capability domain (skills): 5. Every reusable pattern becomes a composable skill. 6. Existing skills are audited for DRY violations. 7. Skill graph is MECE — no gaps, no overlaps, no ambiguous routing.
The meta-guarantee: Nothing produced during significant work lives only in chat. Knowledge → brain. Patterns → skills. Everything in its right place.
在完成任何重要工作后,EIIRP会整理两个领域的所有产出物:
知识域(brain):
  1. 每一项知识都被放置到brain的正确位置。
  2. 所有来源都被引用并添加链接。
  3. 如果出现新的内容类型,更新当前使用的schema pack。
  4. 创建/更新实体页面并添加交叉链接。
能力域(skills): 5. 每一个可复用模式都成为可组合的skill。 6. 审核现有skills是否违反DRY原则。 7. 技能图谱符合MECE原则——无遗漏、无重叠、无模糊路由。
元保障: 重要工作中产生的内容不会仅存于聊天记录中。知识存入brain,模式转化为skills。所有内容各归其位。

When to Use

使用场景

  • After completing a deep research thread.
  • After building something new (code, pipeline, workflow).
  • After a multi-source analysis that produced significant findings.
  • When the user says "EIIRP", "organize this", "DRY this up", "make this re-doable".
  • When a work session produced both knowledge AND new capabilities.
  • When you notice skill overlap, duplication, or gaps.
  • 完成深度研究线程后。
  • 构建新事物(代码、流水线、工作流)后。
  • 完成多源分析并产生重要结论后。
  • 用户说出"EIIRP"、"整理这个"、"优化重复内容"、"让这个可复用"时。
  • 工作会话同时产生知识和新能力时。
  • 发现skill重叠、重复或存在缺口时。

Phase 1: INVENTORY — What did we produce?

阶段1:清点——我们产出了什么?

Scan the current session/thread and identify ALL outputs across both domains.
扫描当前会话/线程,识别两个领域的所有产出物。

Knowledge outputs

知识产出物

□ 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)
□ 核心结论(综合成果)
□ 来源文档(URL、PDF、文章、推文)
□ 实体提及(人物、公司、组织、地点)
□ 概念/框架(可复用思维模型)
□ 数据工件(结构化数据、时间线、统计数据)

Capability outputs

能力产出物

□ 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)
Produce a manifest:
markdown
undefined
□ 创建或修改的新skills
□ 编写的脚本/代码(应放入lib/还是scripts/?)
□ 使用的方法论(搜索模式、来源链、验证步骤)
□ 可自动化的工作流(cron、流水线、webhook)
□ 会重复出现的模式(→ 可转化为skill的候选)
生成清单:
markdown
undefined

EIIRP Manifest

EIIRP清单

  • Topic: [topic]
  • Date: [date]
  • Knowledge outputs: [count] (sources, entities, concepts)
  • Capability outputs: [count] (skills, scripts, patterns)
  • Reusable methodology: [yes/no — describe if yes]
undefined
  • 主题:[主题]
  • 日期:[日期]
  • 知识产出物:[数量](来源、实体、概念)
  • 能力产出物:[数量](skills、脚本、模式)
  • 可复用方法论:[是/否 — 若是请描述]
undefined

Phase 2: TAXONOMY — Where does each piece go?

阶段2:分类体系——每一项内容归属于哪里?

Read the active schema pack first (the single source of truth for filing decisions in v0.39+):
bash
gbrain schema show --json
The pack's
page_types[]
lists every directory the brain accepts plus the primitive each maps to. Walk it for each output and pick the directory whose
path_prefixes
matches the content's primary subject.
If
brain-taxonomist
is installed, INVOKE IT for ambiguous cases. It runs the same decision protocol against the active pack and gives you a single recommended filing path with reasoning.
Output: a filing plan table:
| 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) |
| ... | ... | ... |
先阅读当前使用的schema pack(v0.39+版本中归档决策的唯一事实来源):
bash
gbrain schema show --json
该pack的
page_types[]
列出了brain接受的所有目录及其对应的基础类型。针对每个产出物梳理分类体系,选择
path_prefixes
与内容主题匹配的目录。
如果已安装
brain-taxonomist
,在遇到模糊情况时调用它。它会根据当前pack执行相同的决策流程,并给出带推理过程的唯一推荐归档路径。
输出:归档计划表:
| 内容 | Brain路径 | 操作 |
|---------|-----------|--------|
| 核心研究内容 | reference/.../page.md | 创建 |
| 人物X | people/x-slug.md | 创建 |
| 人物Y | people/y-slug.md | 更新(已存在) |
| ... | ... | ... |

Phase 3: SCHEMA CHECK — Does the active pack cover this content?

阶段3:Schema检查——当前pack是否覆盖该内容?

This is where EIIRP closes the schema-derivation loop. If the work produced content that doesn't fit any existing
page_types
, propose adding a new type via the v0.39 cathedral:
bash
undefined
这是EIIRP闭合schema推导循环的环节。如果工作产出的内容不符合任何现有
page_types
,通过v0.39 cathedral提议添加新类型:
bash
undefined

What's emerging in the brain that the active pack doesn't cover?

brain中出现了哪些当前pack未覆盖的内容?

gbrain schema detect --json
gbrain schema detect --json

LLM-refined suggestions (heuristic when no API key set).

LLM优化的建议(未设置API密钥时的启发式方案)。

gbrain schema suggest --json
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>

**Confidence floor (codex finding #9):** when `gbrain schema suggest`
returns confidence < 0.6 on a proposed type, DO NOT auto-apply. Surface
the suggestion to the user and let them choose. The schema-cathedral
ships the primitives; EIIRP enforces the human-in-the-loop gate.

If schema needs change:
- Propose the addition to the user before running `review-candidates --apply`.
- Document the change in the commit message of the next sync.
- The schema-pack engine writes the delta to
  `~/.gbrain/schema-pack-deltas/` — review and merge into the active
  pack via `gbrain schema edit` (or hand-edit the YAML).
gbrain schema review-candidates --json gbrain schema review-candidates --apply <prefix-or-type-name>

**置信度下限(法典发现#9):** 当`gbrain schema suggest`返回的提议类型置信度<0.6时,请勿自动应用。将该建议提交给用户,由用户选择。schema-cathedral提供基础类型;EIIRP强制执行人工审核环节。

若需要修改schema:
- 在执行`review-candidates --apply`前,向用户提议添加新类型。
- 在下次同步的提交信息中记录该变更。
- schema-pack引擎会将差异写入`~/.gbrain/schema-pack-deltas/` — 通过`gbrain schema edit`(或手动编辑YAML)审核并合并到当前pack中。

Phase 4: FILE — Create enriched brain pages

阶段4:归档——创建经过丰富的brain页面

For each item in the filing plan:
针对归档计划表中的每一项:

4a. Primary research page

4a. 核心研究页面

Use the brain page template. MUST include:
  • Proper frontmatter (
    type
    ,
    title
    ,
    date
    ,
    tags
    , sources)
  • State section — current status/key findings
  • Sources section — every source with URL, author, date, language
  • Timeline section — chronological development
  • Entity links — backlinks to all related brain pages
  • See Also — related concepts, reference pages
使用brain页面模板。必须包含:
  • 正确的前置元数据(
    type
    title
    date
    tags
    、来源)
  • 状态部分——当前状态/核心结论
  • 来源部分——每个来源的URL、作者、日期、语言
  • 时间线部分——按时间顺序的发展历程
  • 实体链接——指向所有相关brain页面的反向链接
  • 另请参阅——相关概念、参考页面

4b. Entity pages (people, companies)

4b. 实体页面(人物、公司)

For each entity mentioned:
  • Check if a brain page exists (
    gbrain search "<name>"
    or
    gbrain get_page people/<slug>
    ).
  • If exists: update State, append Timeline entry citing this research.
  • If not: create with enrichment.
针对每个提及的实体:
  • 检查是否存在brain页面(
    gbrain search "<名称>"
    gbrain get_page people/<slug>
    )。
  • 若存在:更新状态,添加引用本次研究的时间线条目。
  • 若不存在:创建并丰富页面内容。

4c. Commit and verify

4c. 提交并验证

After ALL pages are written, run
gbrain sync
(or commit + push in the brain repo). Verify every link resolves.
完成所有页面编写后,执行
gbrain sync
(或在brain仓库中提交+推送)。验证所有链接均可解析。

Phase 5: SKILL GRAPH AUDIT — DRY + MECE on capabilities

阶段5:技能图谱审核——能力域的DRY + MECE检查

This phase operates on the SKILL graph, not just the research.
本阶段针对SKILL图谱而非仅研究内容进行操作。

5a. New pattern identification

5a. 识别新模式

Ask: did this work reveal REPEATABLE patterns that will recur?
Indicators of a reusable pattern:
  • You used a specific sequence of searches across multiple sources.
  • You followed a specific verification/cross-referencing methodology.
  • You wrote code that could be parameterized for different inputs.
  • The output format is generalizable.
  • The user is likely to ask for similar work on a different topic.
For each identified pattern:
  1. Identify the composable pieces (DRY, MECE):
    • Shared logic →
      lib/
      (not copy-pasted into skills)
    • Search methodology → skill or lib function
    • Output template → brain template or skill phase
    • Filing logic → already covered by brain-taxonomist + active pack
  2. DRY check via the v0.19 resolver:
    bash
    gbrain check-resolvable
    Look for overlapping triggers or unreachable skills.
思考:本次工作是否揭示了会重复出现的可复用模式?
可复用模式的指标:
  • 你在多个来源中使用了特定的搜索序列。
  • 你遵循了特定的验证/交叉引用方法论。
  • 你编写的代码可针对不同输入进行参数化。
  • 输出格式可通用化。
  • 用户可能会针对不同主题要求类似的工作。
针对每个识别出的模式:
  1. 识别可组合的组件(符合DRY、MECE原则):
    • 共享逻辑 →
      lib/
      (不要复制粘贴到skills中)
    • 搜索方法论 → skill或lib函数
    • 输出模板 → brain模板或skill阶段
    • 归档逻辑 → 已由brain-taxonomist + 当前pack覆盖
  2. 通过v0.19解析器进行DRY检查:
    bash
    gbrain check-resolvable
    查找重叠触发器或无法访问的skills。

5b. Existing skill audit

5b. 现有skill审核

For ALL skills used or touched during this work, check:
  1. Were any skills BYPASSED? (did you do something manually that a skill should handle?)
  2. Are there skills that OVERLAP with what you just did? (merge candidates)
  3. Is shared code copy-pasted between skills? (extract to
    lib/
    )
The MECE question: If someone asked for this exact work again tomorrow on a different topic, which skills would they invoke? Is the path clear and unambiguous? If not, fix the routing.
针对本次工作中使用或涉及的所有skills,检查:
  1. 是否有skills被绕过?(你手动完成了某个skill应处理的工作?)
  2. 是否有skills与你刚完成的工作重叠?(合并候选)
  3. skills之间是否存在复制粘贴的共享代码?(提取到
    lib/
MECE问题: 如果明天有人针对不同主题要求完全相同的工作,他们会调用哪些skills?路径是否清晰明确?若否,修复路由。

5c. Present the plan

5c. 提交计划

undefined
undefined

Skill Graph Changes

技能图谱变更

New skills to create

待创建的新skills

  1. [skill-name] — [what it does]
    • DRY check: [clean / overlaps with X]
    • Recommendation: [create / merge into X]
  1. [skill名称] — [功能描述]
    • DRY检查:[无重复 / 与X重叠]
    • 建议:[创建 / 合并到X]

Existing skills to update

待更新的现有skills

  1. [skill-name] — [what changed, why]
  1. [skill名称] — [变更内容及原因]

Code to extract to lib/

待提取到lib/的代码

  1. lib/[name].ts — [what it does, which skills use it]
  1. lib/[名称].ts — [功能描述,涉及哪些skills]

Skills to merge or deprecate

待合并或弃用的skills

  1. [skill-A] + [skill-B] → [merged-skill] — [why]

On approval: invoke `/skillify` for each new/modified skill.
  1. [skill-A] + [skill-B] → [合并后的skill] — [原因]

获得批准后:针对每个新/修改的skill调用`/skillify`。

Phase 6: CHECK_RESOLVABLE — Verify everything routes

阶段6:可解析性检查——验证所有路由

After all filing and skillification:
bash
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?
Confirm:
  • All brain pages have proper frontmatter against active schema pack
  • All entity pages are cross-linked
  • Any new skills have routing entries in
    skills/RESOLVER.md
  • No DRY violations (no duplicated logic across skills)
  • No MECE violations (no ambiguous routing between skills)
  • Active schema pack updated if new content types emerged
  • gbrain doctor
    reports
    schema_pack_consistency: ok
完成所有归档和skill转化后:
bash
gbrain check-resolvable                         # 路由表可达性
gbrain doctor --json                            # 健康状态检查
gbrain search "<主题关键词>"                # brain页面可搜索性
gbrain orphans                                  # 是否存在无入链的页面?
确认:
  • 所有brain页面均包含符合当前schema pack的前置元数据
  • 所有实体页面均已添加交叉链接
  • 所有新skills均在
    skills/RESOLVER.md
    中有路由条目
  • 无DRY违规(skills间无重复逻辑)
  • 无MECE违规(skills间无模糊路由)
  • 若出现新内容类型,已更新当前schema pack
  • gbrain doctor
    报告
    schema_pack_consistency: ok

Phase 7: REPORT — Summary

阶段7:报告——总结

markdown
undefined
markdown
undefined

EIIRP Complete: [Topic]

EIIRP完成:[主题]

Brain pages created/updated

创建/更新的brain页面

  • [path] — [description]
  • ...
  • [路径] — [描述]
  • ...

Entity pages

实体页面

  • [path] — [created/updated]
  • ...
  • [路径] — [创建/更新]
  • ...

Schema changes

Schema变更

  • [none / description of changes + which pack delta file]
  • [无 / 变更描述 + 对应的pack差异文件]

Skills identified

识别出的skills

  • [skill-name] — [status: created / merged / deferred]
  • ...
  • [skill名称] — [状态:已创建 / 已合并 / 已推迟]
  • ...

Resolver status

解析器状态

  • DRY check: [clean]
  • MECE audit: [clean]
  • Active pack: [name] v[version]
  • schema_pack_consistency: [ok / warn — pct untyped]
undefined
  • DRY检查:[无违规]
  • MECE审核:[无违规]
  • 当前pack:[名称] v[版本]
  • schema_pack_consistency: [正常 / 警告 — 未分类内容占比]
undefined

Output Format

输出格式

EIIRP produces a single Phase 7 report block. Plain markdown:
markdown
undefined
EIIRP生成单个阶段7报告块。纯markdown格式:
markdown
undefined

EIIRP Complete: [topic]

EIIRP完成:[主题]

Brain pages created/updated

创建/更新的brain页面

  • [path] — [description]
  • [路径] — [描述]

Entity pages

实体页面

  • [path] — [created|updated]
  • [路径] — [创建|更新]

Schema changes

Schema变更

  • [none | description of changes + which pack delta file]
  • [无 | 变更描述 + 对应的pack差异文件]

Skills identified

识别出的skills

  • [skill-name] — [status: created|merged|deferred]
  • [skill名称] — [状态:已创建|已合并|已推迟]

Resolver status

解析器状态

  • DRY check: [clean|N violations]
  • MECE audit: [clean|N overlaps]
  • Active pack: [name] v[version]
  • schema_pack_consistency: [ok|warn — N% untyped]

Always machine-readable: stable section headers + bullet-per-item. The
report doubles as a sync checkpoint for downstream skills (skillpack-check
reads it; doctor cross-references the pack version).
  • DRY检查:[无违规|N项违规]
  • MECE审核:[无违规|N项重叠]
  • 当前pack:[名称] v[版本]
  • schema_pack_consistency: [正常|警告 — N%未分类]

始终保持机器可读:固定的章节标题 + 每项内容对应一个项目符号。该报告同时作为下游skills的同步检查点(skillpack-check会读取它;doctor会交叉引用pack版本)。

Anti-Patterns

反模式

  • Hardcoding directory tables in EIIRP's logic. Every filing decision reads
    gbrain schema show --json
    . Users on
    gbrain-recommended
    AND custom packs MUST get the right behavior automatically. Pinned by D9 from /plan-eng-review.
  • Auto-applying low-confidence schema suggestions. Confidence < 0.6 from
    gbrain schema suggest
    is "manual review required" per codex finding #9. EIIRP surfaces it; the user accepts.
  • Skipping Phase 5 SKILL GRAPH AUDIT because "this was a one-off." If the work took >10 minutes, the methodology is probably reusable. Audit anyway; defer the skillify decision to the user.
  • Filing synthesis output by topic alone. Synthesis pages tied to a single source + reader are sui generis; they file under
    media/<format>/<slug>-personalized.md
    . See _brain-filing-rules.md "Sanctioned exception" section.
  • Treating non-English sources as secondary citations. Multilingual sources are first-class.
  • 在EIIRP逻辑中硬编码目录表。 所有归档决策均读取
    gbrain schema show --json
    。使用
    gbrain-recommended
    和自定义pack的用户必须自动获得正确行为。由/plan-eng-review中的D9约束。
  • 自动应用低置信度的schema建议。 根据法典发现#9,
    gbrain schema suggest
    返回置信度<0.6时需"人工审核"。EIIRP仅提交建议,由用户确认。
  • 因"这是一次性工作"而跳过阶段5技能图谱审核。 如果工作耗时超过10分钟,其方法论很可能可复用。无论如何都要审核,将skill转化决策推迟给用户。
  • 仅按主题归档综合产出物。 与单一来源+读者绑定的综合页面属于特殊情况;应归档到
    media/<格式>/<slug>-personalized.md
    。请参阅_brain-filing-rules.md的"认可例外"章节。
  • 将非英文来源视为次要引用。 多语言来源是一等公民。

Hard Rules

硬性规则

Knowledge domain

知识域

  • Never leave research only in chat. If it took >10 minutes to produce, it gets a brain page.
  • Every source gets a citation. No "according to reports" without a URL.
  • Entity pages get updated, not just created. If a brain page exists, UPDATE it.
  • Schema changes require confirmation. The active pack is load-bearing.
  • Multilingual sources are first-class. Never treat non-English sources as secondary.
  • 绝不让研究内容仅存于聊天记录中。 如果产出耗时超过10分钟,必须创建brain页面。
  • 每个来源都必须被引用。 禁止无URL的"据报道"表述。
  • 实体页面需更新而非仅创建。 如果brain页面已存在,必须更新它。
  • Schema变更需确认。 当前pack是核心支撑。
  • 多语言来源是一等公民。 绝不能将非英文来源视为次要。

Capability domain

能力域

  • DRY is sacred. If the same logic appears in two skills, extract it to
    lib/
    .
  • MECE is sacred. Every trigger phrase routes to exactly one skill.
  • Composability over monoliths. Small skills that compose > one giant skill that does everything.
  • Skillify only what recurs. One-off work doesn't need a skill. Patterns that repeat 2+ times do.
  • DRY原则不可侵犯。 如果相同逻辑出现在两个skills中,需提取到
    lib/
  • MECE原则不可侵犯。 每个触发短语仅路由到一个skill。
  • 组合性优于单体化。 可组合的小型skills > 包办一切的巨型skill。
  • 仅将重复出现的内容转化为skill。 一次性工作无需skill;重复2次及以上的模式需要。

Meta

元规则

  • EIIRP is idempotent. Running it twice on the same work should produce no changes the second time.
  • EIIRP consumes the active schema pack as data. Never hard-code directory tables in EIIRP's logic — read from
    gbrain schema show --json
    so users who picked
    gbrain-recommended
    OR custom packs get the right behavior automatically.
  • EIIRP具有幂等性。 对同一工作运行两次EIIRP,第二次不应产生任何变更。
  • EIIRP将当前schema pack作为数据使用。 绝不在EIIRP逻辑中硬编码目录表——读取
    gbrain schema show --json
    ,确保使用
    gbrain-recommended
    或自定义pack的用户都能自动获得正确行为。

Changelog

更新日志

v1.0.0 — gbrain v0.39.0.0

v1.0.0 — gbrain v0.39.0.0

  • Initial port from upstream OpenClaw. Genericized — no references to private fork names per CLAUDE.md privacy rules.
  • Phase 3 SCHEMA CHECK rewritten to consume the v0.39 cathedral CLI (
    detect | suggest | review-candidates
    ) instead of a private
    brain/schema.md
    .
  • Phase 5 SKILL GRAPH AUDIT calls
    gbrain check-resolvable
    instead of upstream
    scripts/skill-dry-check.mjs
    .
  • Phase 6 verification uses
    gbrain doctor
    's schema_pack_consistency check (T7) for the persistent surface.
  • 从上游OpenClaw首次移植。通用化处理——根据CLAUDE.md隐私规则,移除所有私有分支名称引用。
  • 阶段3 Schema检查重写为使用v0.39 cathedral CLI(
    detect | suggest | review-candidates
    ),而非私有
    brain/schema.md
  • 阶段5技能图谱审核调用
    gbrain check-resolvable
    ,而非上游
    scripts/skill-dry-check.mjs
  • 阶段6验证使用
    gbrain doctor
    的schema_pack_consistency检查(T7)作为持久化状态检查。