技能回归测试框架

SKILL开发

原名 Skill Regression · 标识 skill-regression

开发 未标注权限 许可证不明确
安装这个技能

针对目标技能做回归测试:运行脚本层断言与 AI 层语义评分,最后输出 Markdown 报告,可选兼容 OpenAI 的模型或定时触发后端。

一句话选型结论

按资料字段整理

技能回归测试框架是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_2a52e6b3/skill-regression
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_2a52e6b3仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量7.8 KBSKILL.md 原文大小,越大说明说明书写得越细

能做什么

0 项能力
上游给出的能力概览与适用场景
技能改动回归验证脚本断言自动执行语义评分生成报告

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
技能回归测试框架当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

7.8 KB
模型实际读到的说明书原文,来自技能仓库

Skill Regression

  • Version: 1.0.0
  • License: MIT
  • Author: Evan Song · github.com/Songhonglei
  • Repository: https://github.com/Songhonglei/build-better-skills/tree/main/skills/skill-regression
  • Part of: build-better-skills suite — Testing stage

What it does

Given a target skill directory, this skill:

  1. Normalizes test file naming (TEST.md is canonical; legacy Test.md/TESTS.md auto-renamed)
  2. Loads or LLM-generates structured test cases
  3. Runs script-layer assertions (subprocess + regex/contains/exact)
  4. Runs AI-layer semantic scoring (LLM-as-judge, configurable threshold)
  5. Outputs a Markdown report (with optional upload hook)

Two execution backends, auto-detected:

Backend When What it tests
api (default outside OpenClaw) LLM API + system prompt Whether SKILL.md is well-written enough for LLMs to follow correctly
openclaw (default inside OpenClaw) Cron probe job → real agent → jsonl polling End-to-end agent + skill integration

Quick start

# 1. First time: configure your LLM
python3 scripts/setup.py

# 2. Run regression on a skill
bash scripts/run_regression.sh /path/to/my-skill

# 3. Detailed mode (full input/output per case)
bash scripts/run_regression.sh /path/to/my-skill --detail

# 4. Re-run only failed cases from a previous run
bash scripts/run_regression.sh /path/to/my-skill \
  --rerun ~/.skill-regression-space/output/my-skill/20260622_001500

Configuration (SR_* env vars, .env supported)

Required for api backend:

  • SR_LLM_API_KEY — OpenAI-compatible API key (e.g. sk-...)
  • SR_LLM_BASE_URL — LLM endpoint (default: https://api.openai.com/v1)
  • SR_LLM_MODEL — Model name (default: gpt-4o-mini)

Additional for openclaw backend:

  • SR_TARGET_AGENT — Target agent name in OpenClaw (default: main)

Config resolution priority (high → low):

  1. CLI args (e.g. --backend api)
  2. Process env vars (export SR_LLM_API_KEY=...)
  3. Project-local ./.env file (auto-added to .gitignore, chmod 600)
  4. Global ~/.config/skill-regression/.env (chmod 600)
  5. Missing required keys → interactive onboarding (Style A) if TTY, else hint and exit 2 (Style B)

Defaults are NOT applied unless user explicitly accepts them during onboarding.

Setup commands

python3 scripts/setup.py              # Interactive onboarding
python3 scripts/setup.py --show       # Show current config (secrets masked)
python3 scripts/setup.py --reset      # Wipe and re-onboard

Options

Usage: bash scripts/run_regression.sh <skill-dir> [options]

  --backend <openclaw|api>    Test backend (default: auto-detect)
  --space-dir <path>          Workspace root (default: ~/.skill-regression-space)
  --threshold <N>             AI semantic score pass threshold (default: 7)
  --timeout <sec>             Per-case AI-layer timeout (default: 120)
  --cases <N>                 Auto-generated normal cases (default: 3, range 2-20)
  --error-cases <N>           Auto-generated error cases (default: 2, range 1-5)
  --rerun <dir>               Re-run only failures from a previous output dir
  --skip-agent                Script layer only (no LLM/agent layer)
  --no-ai-suggestions         Skip LLM-generated improvement suggestions
  --detail                    Detailed report (full input/output per case)
  --setup                     Run interactive onboarding
  -h, --help                  Show this help

TEST.md format (placed in target skill dir)

# TEST.md

## Test Cases

### Case 1: basic
```yaml
id: case_001
name: Basic functionality
type: normal                    # normal | error | edge
trigger: "user message to simulate"
script_cmd: "python3 {SKILL_DIR}/scripts/foo.py"
expected_output: "Success"      # keyword/regex; empty = no script assertion
expected_output_mode: contains  # contains | regex | exact
expected_agent_response: "describe expected agent response semantics"
skip_agent: false               # true = script layer only
```

Path placeholders in script_cmd:

Placeholder Resolves to
{SKILL_DIR} absolute path of target skill
{TESTRES_DIR} ~/.skill-regression-space/testres/<skill-name> (long-term test resources)
{WORK_DIR} ~/.skill-regression-space/output/<skill-name>/<timestamp> (this run output)

Directory structure

~/.skill-regression-space/
├── testres/<skill-name>/    Test resources (fixtures, helper scripts) — long-term
└── output/<skill-name>/<timestamp>/
    ├── cases.json
    ├── results/
    │   ├── script_results.json
    │   └── agent_results.json
    └── report.md

Report upload (optional hook)

Set the env var SR_REPORT_UPLOAD_HOOK (pointing to your upload script) to push the generated report somewhere:

# Your upload.sh receives: $1=report-path, $2=skill-name, $3=date
# Must print the resulting URL to stdout on success
SR_REPORT_UPLOAD_HOOK=~/bin/gist-upload.sh \
  bash scripts/run_regression.sh /path/to/my-skill

Semantic scoring rubric

The LLM-as-judge returns 0-10:

Score Meaning
9-10 Fully matches expectations, accurate, well-formatted
7-8 Acceptable with minor issues
5-6 Partial match, core deficiencies
3-4 Major deviation, only some content matches
0-2 Wrong or unparseable

⚠️ The judging LLM and the simulating LLM are typically the same family — treat scores
as directional, not absolute. Always inspect detailed mode reports for high-stakes calls.

Internal modules

File Purpose
scripts/_lib_config.py Config loader (.env layers, onboarding)
scripts/_lib_llm.py OpenAI-compatible LLM client (chat/score/infer)
scripts/setup.py Interactive onboarding entry
scripts/run_regression.sh Main pipeline orchestrator
scripts/normalize_testfile.py TEST.md naming normalization
scripts/analyze_skill.py Load TEST.md or LLM-generate cases
scripts/run_script_tests.py Script-layer assertions
scripts/run_agent_tests.py AI-layer (dual backend)
scripts/generate_report.py Merge results + Markdown report
scripts/merge_results.py --rerun result merging
references/TEST_template.md TEST.md template reference
references/report_structure.md Report structure reference

Dependencies

  • Required: Python 3.8+, python3, bash, pip install pyyaml
  • Optional (for openclaw backend): openclaw CLI

No external Python packages beyond pyyaml. Network calls use stdlib urllib.

Notes & limitations

  • api backend tests "would an LLM follow this SKILL.md correctly?" — useful for skill
    documentation quality but does NOT test true agent + skill interaction.
  • openclaw backend requires running inside an OpenClaw runtime and creates a
    namespaced cron job (skill-regression-probe-<agent>-<uuid>) per target agent.
  • The normalize_testfile script will rename Test.md/TESTS.md → TEST.md in the target
    skill dir. Use --dry-run to preview.
  • Auto-generated placeholder cases are marked skip_agent=true to avoid false-positive
    AI-layer scores; users should fill in a real TEST.md ASAP.

常见问题

5 问
答案由本站依据条目字段整理
技能回归测试框架怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_2a52e6b3/skill-regression。安装方式为未标注。装完刷新技能列表或重开客户端。

技能回归测试框架支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

技能回归测试框架权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

技能回归测试框架收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

技能回归测试框架用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。