技能策略执行器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,将规范名为 @user_55161a2d/skill-policy-enforcer 的技能安装到你的 AI 助手中。
技能介绍
它解决什么问题
在团队内部分发 Agent Skill 时,安全审查往往靠人工:有人扫一眼 SKILL.md 觉得没异常就合并,有人漏看隐藏文件和嵌套资源目录,规则也没有沉淀成可执行的形式。等到技能真正被 Agent 加载时,才暴露 .env 泄漏、递归删除、管道安装、编码执行这类危险模式。skill-policy-enforcer 把这类判断变成可重复的策略执行:规则写在文件里,结论只有 pass/fail,适合放进 CI 流水线,而不是依赖评审者的个人经验。
它如何工作
核心是脚本 scripts/enforce_skill_policy.py,输入为候选技能文件夹和策略文件:
- 不传
--policy时应用默认保守策略;传了就以策略文件为准。 - 策略结构不清楚时查阅
references/policy-schema.md。 - 默认策略覆盖:必需文件与允许的 frontmatter 字段、最大文件大小与
SKILL.md字数上限、禁止的敏感路径(.env、.ssh、私钥)、危险 shell 模式(递归删除、管道安装、编码执行)、策略禁用时的网络访问、未完成标记与模板残留。 deny级发现阻断安装或发布,warn级发现作为评审项;每条发现都会引用触发它的规则 id。- 加
--json可获得机器可读结果,最终状态以机器结果为准。
适用边界
- 策略是约束而非建议,不能因为某条发现「看起来不方便」就绕过,也不能临时编造例外;需要调整时应更新策略文件。
- 审查范围是技能文件夹下的每一个文件,包括点文件与嵌套资源目录,只看
SKILL.md会漏掉风险。 - 不要把某一家公司的规则硬编码进脚本,本地规则放进
policy.yaml。 - 输出契约只有三种:
PASS、PASS_WITH_WARNINGS、FAIL。
使用场景
- 把新技能合并进团队仓库前,对整个技能文件夹跑一遍策略检查,确认没有 deny 项。
- 发布技能包前,用默认保守策略扫描隐藏文件和嵌套资源目录里的危险脚本。
- 在 CI 流水线中对技能仓库执行带 --json 的检查,失败时阻止合并。
- 发现策略规则不适用了,不绕过检查,而是更新 policy.yaml 后重新执行。
适合人员
- 维护 Agent 技能仓库的工程师:需要在合并或发布前得到一致、可重复的 pass/fail 结论。
- 搭建技能分发流水线的 DevOps 工程师:要把策略校验接入 CI 并按机器结果卡住合并。
- 制定团队安全基线的技术负责人:想把敏感路径与危险 shell 模式固化为可执行策略文件。
- 新增技能的作者:希望提交前本地跑一遍检查,避免被 deny 项打回。