Hall of Watchers Skill:让 Claude Code 在执行前主动「想一想」的 PreToolUse Hook

一个 AI 编程助手,在执行文件写入或命令执行前会先「停下来想一想」——这听起来像人的行为,却是 Claude Code 可以通过 Hook 机制实现的进阶能力。Hall of Watchers 正是这样一个 Skill:它用 PreToolUse Hook + 正则匹配器,在工具真正运行前对操作进行风险评估和拦截,把 Claude 从被动响应者变成主动决策者。

功能与原则

核心能力是在工具执行前插入一个审查层。通过配置 .claude/settings.json 里的 PreToolUse Hook,Claude Code 可以在 Write、Edit、 Bash 等工具调用前,先用一段 prompt 让 AI 自主判断「这个操作是否危险」,再决定是否放行。

设计原则:
预防优于反应:Tripwire(触发后反应)vs Watcher(执行前决策),后者是 Hook 系统的真正价值
用自然语言写策略:prompt 不需要写正则,只需要告诉 AI「什么情况下拒绝、为什么」
多工具协同:一个 matcher 可覆盖多个工具(Write|Edit|Bash),策略统一复用

认可度

GitHub 暂无独立仓库(作为 claude-code-hero 教程第 10 级内容嵌入),MCP Market 独立 Skill 页面收录,标注 88 GitHub stars(截至 2026-08-31)。同系列教程仓库在 Claude Code 官方插件市场有 87 stars,作为 Skill 教学类内容口碑稳定。

链接

GitHub(完整教程仓库):
https://github.com/kylesnowschwartz/claude-code-hero

独立 Skill 安装来源:
MCP Market: https://mcpmarket.com/tools/skills/hall-of-watchers-multi-tool-pre-action-guard

原作者

Kyle Schwartz(GitHub: kylesnowschwartz

以 D&D 地牢探险为叙事框架设计的 Claude Code 进阶学习系统,每一级对应一个真实功能点。Hall of Watchers 是第 10 级(最高级),教学思路在 Skill 圈独树一帜。

介绍

传统的 Claude Code Hook 用法,是等事情发生后触发一段脚本——比如写完文件后自动跑测试。Level 6 的 Tripwire Cavern 就是这个思路。但 Hook 系统真正的能力是 PreToolUse:在工具运行前介入决策。

Hall of Watchers 展示了这一能力的最直接用法:保护危险操作

配置方式是在 .claude/settings.jsonhooks.PreToolUse 数组里添加一条规则,包含 matcher(匹配哪些工具)和 prompt(用自然语言描述审查策略):

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{
        "type": "prompt",
        "prompt": "The hero swore an oath to guard this realm. If this change would delete a file the hero built, deny it and say why. Otherwise allow it."
      }]
    }]
  }
}

当 Claude 尝试写入或编辑文件时,Hook 先触发,上面这段 prompt 让 AI 以「守护者」身份审查操作意图——如果判断会删除自己创建的文件就拒绝,否则放行。prompt 写得像在给一个认真负责的同事交代工作,而不是写正则表达式。

特点

  • PreToolUse Hook 完整实现:比 Tripwire 更深一层,从「事后反应」升级为「事前决策」
  • matcher 支持多工具组合:Write|Edit|Bash,用管道符拼接,覆盖面广
  • prompt 即策略:不需要写代码,用自然语言描述规则,降低了定制门槛
  • 属于完整教程体系:不是孤立 Skill,而是 12 级学习路径的第 10 级,学完有上下文积累
  • 热加载:Hook 配置保存后立即生效,无需重启 Claude Code

使用方法

前置要求:已完成前 9 级(或跳过,直接在已有 Claude Code 环境中配置)

安装步骤

  1. 克隆完整教程仓库:
git clone https://github.com/kylesnowschwartz/claude-code-hero.git
cd claude-code-hero
  1. 进入地牢开始第 10 级(也可以直接看 Level 10 的内容提取):
claude --plugin-dir . --agent dungeon-master
# 输入 "level 10" 或 "hall of watchers"

手动配置方式(不需要完整地牢):

在项目的 .claude/settings.json 添加:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "prompt",
            "prompt": "The hero swore an oath to guard this realm. If this change would delete a file the hero built, deny it and say why. Otherwise allow it."
          }
        ]
      }
    ]
  }
}

验证:问 Claude「删除我刚才创建的文件」,Watcher 会先介入、拒绝并说明理由,工具不执行。

使用场景与人群

适用场景
– 团队协作:防止 Claude 误删他人代码
– 高风险操作保护:rm、chmod 777、git reset –hard 等危险命令执行前确认
– 自动化工作流:让 AI 在无人值守时也能有「安全意识」

目标用户
– 已在日常工作中重度使用 Claude Code 的开发者
– 想系统学习 Claude Code 进阶功能(Hooks、Agents、Plugin 开发)的工程师
– 对 AI 安全边界有要求的技术团队

输入与输出案例

案例 1:尝试删除自己创建的文件

  • Input(用户对 Claude 说):”Please delete the hero-artifact.md file”
  • Output(Watcher 介入):

    「I swore an oath to guard this realm. Deleting a file I built would violate that oath. I’m going to deny this request.」

案例 2:尝试修改关键文件

  • Input(用户说):”Change all the API endpoints to use HTTP instead of HTTPS”
  • Output(若该文件被标记为关键):

    「This change would weaken the security of this project. I’m denying it. If you want to proceed, please modify the guard rules or run the command directly.」

(案例基于 MCP Market 描述及 Hook 系统能力推演)


GitHub: https://github.com/kylesnowschwartz/claude-code-hero

评论区

0 条评论

登录后可评论。

Skill超级捕获手 13 阅读