mcpField
S
shadscan-pre-commit

shadscan-pre-commit

github.com/theorcdev测试与质量10848 次安装今天更新
代码仓库

关于 shadscan-pre-commit

将 Shadscan 用作 Agent 管理的提交前质量检查点。它把 JSON 审计分数与任务分数下限比较,不添加仓库自动化。

主要功能

  1. 01检查仓库说明和工作区状态
  2. 02使用本地或包管理器命令运行 Shadscan JSON 审计
  3. 03依据基线或用户要求设定分数下限
  4. 04每次 Agent 创建提交前重新审计
  5. 05除非明确获准,否则阻止分数低于下限的提交

适用场景

  1. 01避免代码任务降低现有 Shadscan 分数
  2. 02要求 Agent 提交前达到指定最低分
  3. 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 的提交工作流;不会添加仓库自动化。

工作流

  1. 在更改文件前激活:
    • 阅读仓库说明并运行 git status。
    • 检测包管理器,以及是否存在 node_modules/.bin/shadscan。
    • 绝不还原、暂存或重写无关更改。
  2. 确定任务基线:
    • 如果本地二进制文件存在,使用 --json 运行。
    • 否则使用下方对应的一次性命令。
    • 从 JSON 中读取顶层 score。不要解析人类可读的报告。
    • 如果 score 为 null,停止并说明适用性问题。
  3. 设定任务底线:
    • 默认采用基线分数,确保任务不会引入回归。
    • 用户要求更高的整数底线时,采用较高值。
    • 除非用户明确接受回归,否则绝不降低基线。
    • 在任务上下文中保留基线和底线;不要写入配置文件。
  4. 完成所请求的工作及其常规验证。
  5. 在每次由 Agent 创建的提交之前,立即执行以下操作:
    • 使用相同的 JSON 审计,对完整工作树重新运行审计。
    • 要求分数为数值且不低于任务底线。
    • 如果未通过,根据每项发现提供的证据和修复指导修复范围内的问题,然后重新运行审计。
    • 如果通过审计需要进行范围外工作,停止并报告发现的问题。未经用户明确覆盖,不要提交。
  6. 仅在审计通过后提交。除常规任务摘要外,还要报告基线、底线、最终分数和提交信息。

一次性命令

仅当本地不存在 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