藏在《Tool Permission System》里的Skill

技能描述

为 agent 工具设计可配置的分层权限/安全系统:用一条权限流水线统一决定 allow / ask / deny,支持企业 / 用户 / 项目多作用域规则覆盖,并通过 hook 系统扩展。

Skill.md

Tool Permission System

每个能改文件、跑命令、调外部 API 的 agent,迟早都要回答同一个问题:这次工具调用,该自动放行、该问用户、还是该直接拒绝?如果把这个判断散落在各个工具代码里,安全策略会越积越乱,也没人说得清边界在哪。这个 skill 把它收敛成一条权限流水线——每次工具调用执行前都走同一条管道,它是唯一决定 allow / ask / deny 的地方。

核心架构

流水线的顺序是刻意设计的,从最硬的拦截到最宽松的默认逐层短路:

作用
deny rules硬否决,立即拒绝
ask rules强制确认,绕过模式也跳不过
checkPermissions()工具自身的特定逻辑
safetyCheck危险路径(.git/.claude/、shell 配置)弹框,免疫 bypass
bypass 模式快速通过,立即允许
allow rules白名单,立即允许
默认passthrough → 询问用户

决策只有三种行为:allowdenyask。不要发明新状态。

分层规则来源

规则按作用域分层,优先级从高到低:policySettings(企业管理员,不可覆盖)→ userSettingsprojectSettingslocalSettingscliArgcommandsession。关键在于,冲突由行为顺序裁决:管道先查所有来源的 deny,再查 ask,最后才查 allow——所以企业的强制规则永远压得过用户的白名单。

适用场景

当你要构建或审查这些能力时使用:

  • 工具调用的 allow / ask / deny 决策
  • 跨项目 / 用户 / 企业多作用域的规则配置
  • 工具级 checkPermissions() 接口设计
  • 不可绕过的危险操作护栏(safetyCheck)
  • Hook 系统的配置格式与生命周期
  • 无人值守 / CI 场景的自动 deny 与 AI 分类器 circuit breaker

如何使用

  1. 先实现 hasPermission(tool, input, context),按上面的顺序短路返回。
  2. 为每个工具实现 checkPermissions(),处理工具特定规则和危险路径。
  3. 用 settings.json 配置分层规则与 hooks;无人值守场景叠加 dontAsk 外层包装。

边界

这个 skill 只负责权限决策的设计与实现,不负责具体工具的业务逻辑、确认弹框的 UI、用户身份认证,也不涉及 AI 分类器的具体 prompt 工程。

安装使用

安装指令

npx skills add simbajigege/book2skills/skills/tool-permission-system
OR

直接下载

相关技能

LangChain Tool Builder AI Skill

用 Claude Code 的 fail-closed 设计模式定义 LangChain(Python)工具——name、schema、权限、执行逻辑统一写在一个类里,自动走 validate → permission → call ...

Query Loop Implementation AI Skill

为 AI 应用实现可上线的 LLM query loop:工具调用、结构化 tool_result 回传、ReAct 循环、最大轮次退出、权限检查、超时、预算控制和 fatal error 终止路径。

Claude Code 记忆架构实现指南 AI Skill

将混乱的 MEMORY.md 重构为 Claude Code autoDream 内部使用的 2 层记忆架构 —— 保持常驻索引精简、主题文件按需加载,让 autoDream 提取代理正确去重和维护记忆。

Compact with Memory AI Skill

正确执行 /compact——生成高质量的对话摘要,完整保留推理过程、决策背景和当前状态,同时在压缩前通过记忆预处理持久化机构知识。

Session Dream AI Skill

会话结束时的手动记忆提炼——从当前对话中提取关键决策、失败路径、新发现和当前阻塞,写入 MEMORY.md topic 文件。Claude Code autoDream 后台服务的手动触发版本。

Compact Memory 实现指南 AI Skill

用 Anthropic API 或 Claude Agent SDK 为 Agent 实现 compact memory 的开发者指南——涵盖触发时机、fork compactor 模式、compact JSON schema 设计、...

Harness Step 1 — 创建 AGENTS.md 与知识库 AI Skill

扫描项目代码库,自动生成 AGENTS.md(agent 工作指南)和完整的 docs/ 知识库骨架,让 Claude Code 在任意新会话中 30 秒内定向,无需重复解释项目结构。

Harness Step 2 — 填充 docs/ 知识库内容 AI Skill

深度阅读项目代码,将隐藏在代码里的架构知识、命名约定、技术决策显式写入 docs/ 各文件,让 agent 在任何 session 都能快速理解项目全貌,而不是靠猜测。

Harness Step 3 — 建立跨 Session 状态管理 AI Skill

创建 init.sh(环境健康检查)、tasks.json(结构化任务队列)和 progress.md(会话日志),解决 Claude Code 每次新对话失忆的问题,让任意 session 在 30 秒内完全恢复工作状态。

一本书读懂财报 AI Skill

用肖星的三表联动框架分析企业财务报表,判断一家公司是否真正赚钱。适用于:解读资产负债表、分析现金流健康度、ROIC vs WACC好公司测试、跨行业财务比较。