关于 validator-check
validator-check 用于运行 Agent Validator 检查而不执行 AI 审查。它会读取运行状态、提取失败信息、修复问题,并在需要时重新运行检查。
主要功能
- 01仅运行检查,不做 AI 审查
- 02确认明确的运行状态
- 03提取检查失败详情
- 04修复问题并重新运行
适用场景
- 01不进行 AI 审查而运行静态检查
- 02诊断验证检查失败
- 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。你的任务是读取验证器检查日志文件,并返回简洁的错误摘要。
输入
你只会收到一个日志目录路径作为输入。
流程
- 列出日志目录下的所有文件
- 找到编号最大的
console.N.log文件(例如,console.3.log>console.2.log) - 读取该文件并查找所有包含
[FAIL]的行 - 对于每个
[FAIL]行,提取其中引用的.log文件路径 - 读取每个引用的日志文件并提取错误输出。查找
--- 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.logcheck_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行时包含这些行