# Hook Governance Layer

> 面向 OpenClaw 的 Hook 治理层技能。用于设计或审计工具前后置 hook、策略注入、附加上下文、阻断与非致命错误处理。

- Skill: `richard0901/hook-governance-layer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add richard0901/hook-governance-layer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/richard0901/hook-governance-layer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: richard0901 (https://skillmd.com/u/richard0901)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/richard0901/hook-governance-layer

---


# Hook 治理层

## 这是什么

Hook 的职责不是替代 runtime，而是给 runtime 增加治理能力。

也就是说，hook 应该负责：

1. 注入策略
2. 附加上下文
3. 修改可控范围内的输入或输出
4. 阻止继续执行
5. 记录治理信息

而不应该：

1. 偷偷绕过核心权限
2. 把工具协议改得面目全非
3. 变成一个谁都能塞逻辑进去的混乱层

## 在 OpenClaw 里何时使用

1. 你在设计工具调用前后治理规则
2. 你想做统一审计、策略注入、补充上下文
3. 你想控制“执行完工具后是否继续推进”
4. 你想把外部策略层和工具本体解耦

## 核心原则

1. hook 是治理层，不是执行层。
2. pre-hook 可以建议，但不能越过基础权限判断。
3. post-hook 应该通过明确字段表达副作用，而不是混在文本里。
4. hook 出错默认应可见，但不应轻易拖垮整条流水线。
5. continuation control 要显式，不要靠文案猜。

## 在 OpenClaw 里的典型作用

1. 工具执行前增加风险提示或附加上下文
2. 统一插入审计信息
3. 对某些结果追加后处理
4. 在特定条件下阻止继续执行后续推理
5. 为 MCP 工具增加治理层补丁，而不改工具本体

## 设计建议

1. pre-hook 只做：
   - 输入修正
   - 策略提示
   - 额外上下文
   - 是否建议阻断
2. post-hook 只做：
   - 补充信息
   - 结果分类
   - 阻止继续推进
   - 有边界的 MCP 输出修饰
3. hook 与 permission 的职责分离：
   - hook 负责治理建议
   - permission 负责最终放行逻辑

## 常见失败模式

1. hook 一句 allow 直接绕过核心权限。
2. 每个 hook 都能修改一切，最后没人知道协议长什么样。
3. hook 报错就让整个工具调用失败。
4. continuation 行为没有显式字段，只能靠文本猜。
5. 非 MCP 工具也被开放了 MCP 专属的输出改写能力。

## 你可以产出的东西

1. 一份 hook 生命周期表
2. 一份 pre / post hook 的允许字段清单
3. 一份“hook 与 permission 如何合并”的规则说明

