Token导航 LogoToken导航TokenDH.com
开发只读clawhub未标认证来源可访问clear审计提醒

quality-verification质量验证

Agent Skill

quality-verification 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,854

周安装

159

GitHub Stars

公开资料未说明

下载量

1,259
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:quality-verification(质量验证)
来源仓库:https://github.com/lanyasheng/quality-verification
安装命令:
openclaw skills install quality-verification
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install quality-verification

简介

输出质量保障与验证。编辑后检查、提交前测试、session 指标测量。不适用于工具重试(用 tool-governance)或 agent 提前停止(用 execution-loop)。参见 tool-governance(错误追踪)。

SKILL.md

name
quality-verification
version
2.0.0
description
输出质量保障与验证。编辑后检查、提交前测试、session 指标测量。不适用于工具重试(用 tool-governance)或 agent 提前停止(用 execution-loop)。参见 tool-governance(错误追踪)。
license
MIT
triggers
author
OpenClaw Team

Quality & Verification

输出质量保障:编辑后即时检查、提交前自动测试、per-turn 指标测量。

When to Use

  • 编辑后即时检查 → Post-edit diagnostics
  • 提交前跑测试 → Test-before-commit gate
  • 测量 per-turn 指标 → Hook pair bracket
  • 按环境切换 hook 强度 → Hook runtime profiles

When NOT to Use

  • Agent 提前停止 → 用 execution-loop
  • 工具安全 → 用 tool-governance

Patterns

6.1 Post-Edit Diagnostics [script]

PostToolUse hook 在每次 Write/Edit 后立即跑 linter 或 type checker,通过 additionalContext 把错误注入当前 turn。这是 shift-left 策略——在错误扩散前秒级捕获,避免 agent 在类型错误的基础上继续编辑更多文件,导致级联放大。诊断工具按扩展名映射:.ts → tsc, .py → ruff/pyright, .rs → cargo check;扩展名不在映射表中的文件直接跳过,不空跑。→ 详见

6.2 Hook Runtime Profiles [config]

通过 HARNESS_PROFILE 环境变量控制 hook 行为强度,无需改 settings.json。三档:minimal(仅原子写入,快速实验用)、standard(日常开发)、strict(全部 pattern,生产变更和安全修复用)。还支持 HARNESS_DISABLED_HOOKS 按名字禁用单个 hook,粒度更细。→ 详见

6.3 Session Turn Metrics [script]

UserPromptSubmit + Stop 两个 hook 构成测量"括号",在每轮交互前后整理时间戳和 context token 数。轮次结束时计算耗时和 token 增量,写入 bracket.json 供外部监控读取。只测量和记录,不阻止任何操作——与 ralph 的 Stop hook 叠加时,bracket 在前记录数据,ralph 在后决定是否 block。→ 详见

6.4 Test-Before-Commit Gate [script]

PreToolUse hook 拦截 git commit 命令,在 commit 执行前自动跑项目测试套件(按 package.json / Makefile / pyproject.toml / Cargo.toml 优先级检测测试命令)。测试失败时 deny commit 并把失败输出注入 context,agent 先修 bug 再提交。测试通过才放行,防止 broken commit 进入历史。→ 详见

6.5 Atomic State Writes [design]

所有状态文件(ralph.json、cancel.json、tool-errors.json 等)先写到 PID+时间戳命名的临时文件,再 mv 原子替换。POSIX 上 rename 是原子操作,读者要么看到旧版本要么看到新版本,不会读到半写的 JSON。多进程并发写入时每个进程写各自的临时文件,互不干扰。→ 详见

6.6 Session State Hygiene [design]

定期清理 4 类残留状态:超过 24h 仍 active 的 stale ralph.json、超过 30min 的 orphaned lock、只含 .recovery-checked 的空 session 目录、目录已删除但 git worktree list 中仍存在的 stale worktree 引用。支持 dry-run 预览,推荐每 4 小时或新 session 启动前运行。不清理的后果是 crash recovery 误识别 stale 状态为可恢复。→ 详见

Scripts

脚本Hook 类型功能
post-edit-check.shPostToolUse (Write\Edit\MultiEdit)编辑后 linter
bracket-hook.shStop记录 per-turn 指标
test-before-commit.shPreToolUse (Bash)commit 前跑测试

Workflow

文件被编辑?→ PostToolUse hook 触发 post-edit-check.sh,按扩展名选择 linter(.ts → tsc, .py → ruff, .sh → shellcheck),将诊断错误通过 additionalContext 注入当前 turn,agent 当场修复。编辑后立即跑诊断——拖到 commit 时再查,类型错误已经在错误基础上级联了好几个文件。扩展名不在映射表中的文件(如 .md)直接跳过。

要 git commit?→ PreToolUse hook 触发 test-before-commit.sh,拦截 Bash 中的 git commit 命令,跑完整测试套件。测试失败则 deny commit 并展示失败用例,agent 修完再提交。测试通过才放行。

<example> 场景: Post-edit diagnostics 即时捕获类型错误 触发: Agent 编辑 handlers.ts(PostToolUse hook 匹配 .ts 扩展名) 执行: post-edit-check.sh 跑 tsc --noEmit 输出: TS2345 错误通过 additionalContext 注入当前 turn 结果: Agent 同 turn 修复类型错误,错误没有传播到后续文件 </example>

<example> 场景: Test-before-commit 拦截 broken commit 触发: Agent 执行 git commit -m "add user endpoint"(PreToolUse hook 匹配 Bash 中的 git commit) 执行: test-before-commit.sh 检测到 package.json,跑 npm test 结果: 2 个测试失败,hook 输出 deny + 失败用例,Agent 先修 bug 再提交 </example>

<anti-example> 错误: 对 README.md 编辑跑 post-edit diagnostics 原因: .md 不在扩展名映射表中,没有 linter 可跑 处理: post-edit-check.sh 按扩展名过滤,无映射的文件 exit 0(不空跑) </anti-example>

Failure Modes

场景处理
Linter 自身 crash 或超时post-edit-check.sh 设 timeout 30s 执行 linter。超时或非零退出 → exit 0(不阻塞 agent),记录到 stderr
找不到测试命令(4 种检测全部 miss)test-before-commit.sh 无法检测到 package.json/Makefile/pyproject.toml/Cargo.toml → 跳过测试,allow commit,注入 warning "未检测到测试框架"
测试运行时间过长timeout 300s(5 分钟),超时 → deny commit + 注入 "测试超时,请检查是否有死循环或外部依赖"
bracket-hook.sh 无法读取 transcripttranscript 路径不可用或文件不存在 → 跳过指标记录,不影响 agent 执行
多个 PostToolUse hook 冲突Claude Code 按 settings.json 中的顺序依次执行,additionalContext 会 concatenate。post-edit-check 应排在 tool-governance 的 error-tracker 之前

Output

产出物来源说明
诊断结果additionalContextlinter/type checker 错误注入 agent 上下文,agent 当场可见
session 指标bracket.jsonper-turn 时间、turn 计数、hook 执行耗时
测试结果commit 前测试套件输出,失败时 block commit 并展示失败用例

Related

  • tool-governance — 错误追踪器记录诊断失败(tool-error-tracker 追踪连续 linter 失败)
  • execution-loop — doubt gate 检测未验证声明(agent 说"应该没问题"但没跑检查时拦截)
  • context-memory — 诊断结果写入 handoff document,跨 session 传递未修复的已知问题

Usage

.claude/settings.json 中配置 hook:

{
  "hooks": {
    // Post-edit 诊断:编辑后立即跑 linter
    "PostToolUse": [
      {
        "matcher": { "tool_name": "Write|Edit|MultiEdit" },
        "hooks": [
          {
            "type": "command",
            "command": "bash post-edit-check.sh \"$TOOL_INPUT_FILE_PATH\""
          }
        ]
      }
    ],
    // Commit 前测试:拦截 git commit,测试不通过则 deny
    "PreToolUse": [
      {
        "matcher": { "tool_name": "Bash", "input_contains": "git commit" },
        "hooks": [
          {
            "type": "command",
            "command": "bash test-before-commit.sh"
          }
        ]
      }
    ]
  }
}

post-edit-check.sh 按扩展名选 linter:.tstsc --noEmit.pyruff check + pyright.rscargo check,其他 → exit 0。

test-before-commit.sh 按项目类型检测:package.jsonnpm testMakefilemake testpyproject.tomlpytestCargo.tomlcargo test

Hook 输出格式(post-edit-check.sh stdout):

{"decision": "allow", "hookSpecificOutput": {"additionalContext": "[POST-EDIT] tsc error TS2345: Argument of type 'string' is not assignable to parameter of type 'number' at handlers.ts:42"}}

按 profile 控制强度:

HARNESS_PROFILE=strict claude -p "deploy to production"   # 全部 hook
HARNESS_PROFILE=minimal claude -p "fix typo in README"     # 仅原子写入
HARNESS_DISABLED_HOOKS=post-edit-check claude -p "quick experiment"  # 禁用指定 hook

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

92.17%
按下载量换算1,160

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills