用途:审计仓库中的权限授予是否真正生效,回答“allow 规则与 allowed-tools 授予能否跨机器移植、进入 auto 模式后是否仍持久、生效规则是否处在可工作的位置”。规则原则、反模式与正确模式见市场约定文档(https://raw.githubusercontent.com/melodic-software/claude-code-plugins/main/docs/conventions/permission-rule-hygiene/README.md),机械检查定义 P1/P2/P3、严重级别与检测器调用方式在 reference/criteria.md。
范围边界:本技能只负责授予的可移植性、auto 模式持久性及由谁添加生效规则;配置文件的正确性(基线 deny/ask、废弃 :* 语法、过宽模式、插件漂移)属于同级审计技能;指令层(CLAUDE.md/rules/auto-memory)由 claude-memory 插件中的审计技能负责。
参数:解析 $ARGUMENTS 可选范围过滤——frontmatter(仅 allowed-tools)、settings(仅 permissions.allow)、plugins(仅插件 self-grant,P3)、all(默认)。仅报告,无 --fix;P3 修复需操作者手动写入用户全局 ~/.claude/settings.json,P1/P2 重写需操作者判断确认。
检测:运行 bash "${CLAUDE_PLUGIN_ROOT}/skills/audit-permission-grants/scripts/permission-rule-check.sh",输出每项脆弱授予的严重级别、检查项与来源,--count 打印数量;依赖 jq,缺失时退出码 2,应报告环境缺口而非视为通过。settings.local.json 只解析其 permissions.allow 数组。给出范围过滤时仍运行完整检测器,只呈现匹配项。
报告:按 reference/criteria.md“Output format”的严重级别表格呈现,并给出对应检查的具体建议:用约定中的“PATH 上裸名称”模式替换脆弱授予;若需用户全局规则则附 Operator 设置说明。严重级别:error 为不可移植、泄露用户名或在其他机器失效(P2);warning 为解释器/运行器引导的、auto 模式会丢弃的宽泛形式或无效自我授予(P1、P3)。无发现(“No fragile permission grants found.”)也是有效结果。消费仓库可在自身 CLAUDE.md/.claude/rules/ 声明额外的脆弱 token、路径形态或豁免,存在时应读取。