关于 shadscan-pre-commit
将 Shadscan 用作 Agent 管理的提交前质量检查点。它把 JSON 审计分数与任务分数下限比较,不添加仓库自动化。
主要功能
- 01检查仓库说明和工作区状态
- 02使用本地或包管理器命令运行 Shadscan JSON 审计
- 03依据基线或用户要求设定分数下限
- 04每次 Agent 创建提交前重新审计
- 05除非明确获准,否则阻止分数低于下限的提交
适用场景
- 01避免代码任务降低现有 Shadscan 分数
- 02要求 Agent 提交前达到指定最低分
- 03提交前审查审计发现并修复范围内问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ theorcdev/ skills --skill shadscan-pre-commit安装后在 Claude Code 中输入/shadscan-pre-commit确认已加载。
附带文件agents/openai.yaml
详细介绍
Shadscan 提交前检查
将 Shadscan 用作由 Agent 管理的检查点。此技能仅更改 Agent 的提交工作流;不会添加仓库自动化。
工作流
- 在更改文件前激活:
- 阅读仓库说明并运行
git status。 - 检测包管理器,以及是否存在
node_modules/.bin/shadscan。 - 绝不还原、暂存或重写无关更改。
- 阅读仓库说明并运行
- 确定任务基线:
- 如果本地二进制文件存在,使用
--json运行。 - 否则使用下方对应的一次性命令。
- 从 JSON 中读取顶层
score。不要解析人类可读的报告。 - 如果
score为null,停止并说明适用性问题。
- 如果本地二进制文件存在,使用
- 设定任务底线:
- 默认采用基线分数,确保任务不会引入回归。
- 用户要求更高的整数底线时,采用较高值。
- 除非用户明确接受回归,否则绝不降低基线。
- 在任务上下文中保留基线和底线;不要写入配置文件。
- 完成所请求的工作及其常规验证。
- 在每次由 Agent 创建的提交之前,立即执行以下操作:
- 使用相同的 JSON 审计,对完整工作树重新运行审计。
- 要求分数为数值且不低于任务底线。
- 如果未通过,根据每项发现提供的证据和修复指导修复范围内的问题,然后重新运行审计。
- 如果通过审计需要进行范围外工作,停止并报告发现的问题。未经用户明确覆盖,不要提交。
- 仅在审计通过后提交。除常规任务摘要外,还要报告基线、底线、最终分数和提交信息。
一次性命令
仅当本地不存在 Shadscan 二进制文件时使用以下命令:
- pnpm:
pnpm dlx @shadscan/cli@next --json - npm:
npx --yes @shadscan/cli@next --json - Yarn:
yarn dlx --quiet --package @shadscan/cli@next shadscan --json - Bun:
bunx @shadscan/cli@next --json
直接运行检测到的本地二进制文件:node_modules/.bin/shadscan --json,或使用包管理器的本地执行命令。
防护规则
- 不要安装依赖,也不要更改
package.json或锁文件。 - 不要配置 Git,也不要添加仓库自动化。
- 不要修改已暂存的文件,也不要运行 Shadscan 自动修复。
- 审计整个项目的工作树,而不只是暂存的差异。
- 不要声称此流程能拦截手动提交,或尚未加载此技能的 Agent 的提交。
- 除非用户在当前对话中明确覆盖,否则不要提交未经评估或低于底线的结果。
完成格式
返回简洁摘要,包含基线分数、执行底线、提交前分数、审计命令、提交信息,以及任何明确覆盖。如果用户未要求提交或未创建提交,请说明最终审计仅供参考,并非提交检查点。
评论
支持 Markdown