mcpField
V
validator-check

validator-check

github.com/codagent-ai测试与质量3063 次安装1 天前更新
代码仓库

关于 validator-check

validator-check 用于运行 Agent Validator 检查而不执行 AI 审查。它会读取运行状态、提取失败信息、修复问题,并在需要时重新运行检查。

主要功能

  1. 01仅运行检查,不做 AI 审查
  2. 02确认明确的运行状态
  3. 03提取检查失败详情
  4. 04修复问题并重新运行

适用场景

  1. 01不进行 AI 审查而运行静态检查
  2. 02诊断验证检查失败
  3. 03通过后续运行验证修复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/codagent-ai/agent-validator --skill validator-check

安装后在 Claude Code 中输入/validator-check确认已加载。

详细介绍

/validator-check

仅运行验证器检查,不进行 AI 审查。

调用策略

仅当用户明确要求只运行验证器检查、不进行审查的检查、静态检查或不含 AI 审查的验证时,才使用此技能。

对于一般的“运行验证器”“运行全套检查”“运行验证”或最终验证请求,不要选择此技能;请改用 /validator-run。

流程

步骤 1 - 清理日志

运行 agent-validate clean,归档之前的任何日志文件。

步骤 2 - 运行检查

使用 Bash 运行 agent-validate check,并设置 timeout: 300000。务必等待命令完整输出,并读取全部内容后再继续。继续之前,确认输出中有 Status: 行。

步骤 3 - 检查状态

绝不要假定成功——继续之前,必须看到明确的 Status: 行。检查状态并据此处理:

  • Status: Passed → 转到步骤 7。
  • Status: Passed with warnings → 转到步骤 7。
  • Status: Failed → 继续步骤 4。必须继续,不要在此停止。
  • Status: Retry limit exceeded → 运行 agent-validate clean 归档日志。转到步骤 7。
  • 未显示状态行 → 已知问题: Bun 可能会丢弃所有 stdout/stderr。读取控制台日志文件以获取状态:在验证器日志目录中找到最新的 console.*.log(例如 validator_logs/console.1.log),并在其中查找 Status: 行。如果那里没有控制台日志,也请检查 validator_logs/previous/ 中最近一次归档运行的日志。如果两个位置都没有控制台日志,命令可能超时或未能运行——使用更长的超时时间重新运行,或调查错误。切勿将其视为已通过并继续。
步骤 4 - 提取失败项

状态为 Failed 时必须执行:

  • 从控制台输出中的文件路径推断日志目录(例如,如果输出引用了 validator_logs/check_._lint.1.log,则日志目录为 validator_logs/)
  • 使用以下第一个可用策略提取日志中的失败项: a. Task 工具(Claude Code):使用 subagent_type="general-purpose"、model="haiku" 和 prompt=(内容为下方附录中的提取提示)+ "\n\nLog directory: <inferred path>" 调用 Task。Task 调用必须同步执行——绝不能使用 run_in_background: true。 b. 子 Agent 委派:如果你的环境支持将工作委派给子 Agent,但不支持 Task 工具,则将提取提示中的指令和日志目录委派给子 Agent 处理。 c. 内联备用方案:如果没有子 Agent 功能,则自行按照提取提示中的指令读取日志文件并生成简洁的失败摘要。
步骤 5 - 修复

修复所有失败的检查:

  • CHECK 失败并附有 Fix Skill:调用指定技能
  • CHECK 失败并附有 Fix Instructions:遵循相应指令
步骤 6 - 重新运行验证

绝不能跳过此步骤——如果运行失败,必须修复并重新运行。再次使用 Bash 运行 agent-validate check,并设置 timeout: 300000。重试之间不要运行 agent-validate clean。该工具会检测现有日志,并自动切换到验证模式。返回步骤 3,检查状态行并重复处理。

步骤 7 - 总结本次会话

提供会话摘要:

  • 最终状态:(Passed / Passed with warnings / Retry limit exceeded)
  • 已修复的检查:(列出关键修复项)
  • 未解决的失败项:(如果超过重试次数上限,列出未经验证的修复和仍存在的问题)

附录:子 Agent 提示

提取提示

你是一个 EXTRACT 子 Agent。你的任务是读取验证器检查日志文件,并返回简洁的错误摘要。

输入

你只会收到一个日志目录路径作为输入。

流程
  1. 列出日志目录下的所有文件
  2. 找到编号最大的 console.N.log 文件(例如,console.3.log > console.2.log)
  3. 读取该文件并查找所有包含 [FAIL] 的行
  4. 对于每个 [FAIL] 行,提取其中引用的 .log 文件路径
  5. 读取每个引用的日志文件并提取错误输出。查找 --- Fix Instructions --- 部分和 --- Fix Skill: <name> --- 部分,并包含其完整内容。
输出格式

严格按照以下格式返回纯文本摘要:

CHECKS:
[fail] <gate_label>
<concise error description>
Fix Instructions: <extracted text if present, otherwise omit this line>
Fix Skill: <skill name if present, otherwise omit this line>
示例
示例输入

日志目录:validator_logs/

该目录包含:

  • console.2.log
  • check_src_lint.2.log

console.2.log 包含:

[START] check:src:lint
[FAIL]  check:src:lint (1.23s) - Exited with code 1
      Log: validator_logs/check_src_lint.2.log

check_src_lint.2.log 包含:

[2026-02-15T10:23:45.123Z] Starting check: lint
Executing command: bun run lint
Working directory: /Users/user/project/src

src/helpers.ts:3:5 - error: Unexpected var, use let or const instead

Command failed: bun run lint
Result: fail - Exited with code 1

--- Fix Instructions ---
Replace all `var` declarations with `const` or `let`.
示例输出
CHECKS:
[fail] check:src:lint
src/helpers.ts:3:5 - error: Unexpected var, use let or const instead
Fix Instructions: Replace all `var` declarations with `const` or `let`.
规则
  • 不要总结或添加评论——尽可能逐字复制错误详情
  • 不要跳过任何 [FAIL] 条目
  • 保持输出简洁——每个检查失败占一条
  • 仅在存在 Fix Instructions / Fix Skill 行时包含这些行

评论

支持 Markdown