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

openclaw-skill-testerOpenClaw 技能 tester

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

3,550

周安装

145

GitHub Stars

公开资料未说明

下载量

1,148
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install openclaw-skill-tester

简介

OpenClaw Skill Testing Framework - 自动化测试技能质量,验证触发时机、功能正确性、性能指标对比

SKILL.md

name
skill-tester
description
OpenClaw Skill Testing Framework - 自动化测试技能质量,验证触发时机、功能正确性、性能指标对比
author
Cao Xiaosi (曹小四)
contact
email
mars@caofu.org
metadata
openclaw
requires
bins
["python3", "bash"]
packages
["pytest", "requests"]

OpenClaw Skill Testing Framework

自动化测试框架,确保技能质量与性能。

作者: Cao Xiaosi (曹小四) 版本: 1.0.0 许可证: MIT

🎯 测试目标

1. 触发测试 (Trigger Testing)

验证技能在正确时机加载,测试应该触发和不应该触发的场景。

测试内容:

  • ✅ 验证触发词匹配
  • ✅ 测试边界条件
  • ✅ 验证不应触发的场景

测试方法:

python3 scripts/test_trigger.py --skill stock-watcher --input "监控股票价格" --expected true
python3 scripts/test_trigger.py --skill stock-watcher --input "随便聊聊" --expected false

2. 功能测试 (Functionality Testing)

验证技能输出是否正确,测试各种输入场景。

测试内容:

  • ✅ 正常输入场景
  • ✅ 边界值测试
  • ✅ 异常输入处理
  • ✅ 输出格式验证

测试方法:

python3 scripts/test_functionality.py --skill a-stock-monitor --test-case "market_sentiment"
python3 scripts/test_functionality.py --skill a-stock-monitor --test-case "stock_price_query"

3. 对比测试 (Comparison Testing)

证明技能比没有技能时更好,对比工具调用次数、token 消耗等。

测试内容:

  • ✅ 工具调用次数对比
  • ✅ Token 消耗对比
  • ✅ 响应时间对比
  • ✅ 准确率对比

测试方法:

python3 scripts/test_comparison.py --skill stock-watcher --baseline "no-skill" --metric "tool_calls"
python3 scripts/test_comparison.py --skill stock-watcher --baseline "no-skill" --metric "tokens"

📁 目录结构

skills/skill-tester/
├── SKILL.md                           # 本文件
├── scripts/
│   ├── test_trigger.py                # 触发测试脚本
│   ├── test_functionality.py          # 功能测试脚本
│   ├── test_comparison.py             # 对比测试脚本
│   ├── test_runner.sh                 # 测试执行器
│   ├── utils/
│   │   ├── trigger_validator.py       # 触发验证工具
│   │   ├── output_validator.py        # 输出验证工具
│   │   └── metrics_collector.py       # 性能指标收集器
│   └── fixtures/
│       └── sample_inputs.json         # 测试用例数据
└── references/
    ├── TEST_GUIDELINES.md             # 测试指南
    └── METRICS_DEFINITION.md          # 指标定义

🚀 使用方式

快速测试

# 测试单个技能
python3 scripts/test_runner.sh --skill stock-watcher

# 测试所有技能
python3 scripts/test_runner.sh --all

# 详细模式
python3 scripts/test_runner.sh --skill stock-watcher --verbose

触发测试

# 测试应该触发的场景
python3 scripts/test_trigger.py --skill "stock-watcher" \
  --inputs "监控股票价格" "查看A股" "实时行情" \
  --expected true

# 测试不应该触发的场景
python3 scripts/test_trigger.py --skill "stock-watcher" \
  --inputs "随便聊聊" "今天天气" "帮我写代码" \
  --expected false

功能测试

# 运行特定测试用例
python3 scripts/test_functionality.py --skill "a-stock-monitor" \
  --test-case "market_sentiment_calculation"

# 运行所有测试用例
python3 scripts/test_functionality.py --skill "a-stock-monitor" \
  --all-cases

对比测试

# 对比工具调用次数
python3 scripts/test_comparison.py --skill "stock-watcher" \
  --baseline "no-skill" \
  --metric "tool_calls" \
  --iterations 10

# 对比 Token 消耗
python3 scripts/test_comparison.py --skill "stock-watcher" \
  --baseline "no-skill" \
  --metric "tokens" \
  --iterations 10

📊 测试报告

输出格式

{
  "skill_name": "stock-watcher",
  "timestamp": "2026-04-03T12:00:00",
  "test_summary": {
    "total": 20,
    "passed": 18,
    "failed": 2,
    "skipped": 0
  },
  "trigger_tests": {
    "passed": 10,
    "failed": 0
  },
  "functionality_tests": {
    "passed": 8,
    "failed": 2
  },
  "comparison_metrics": {
    "tool_calls_reduction": "45%",
    "token_savings": "32%",
    "response_time_improvement": "28%"
  },
  "failed_tests": [
    {
      "test_name": "test_stock_price_accuracy",
      "error": "Expected price 10.50, got 10.45",
      "input": "600000"
    }
  ]
}

报告生成

# 生成 JSON 报告
python3 scripts/test_runner.sh --skill stock-watcher --report json

# 生成 HTML 报告
python3 scripts/test_runner.sh --skill stock-watcher --report html

# 生成 Markdown 报告
python3 scripts/test_runner.sh --skill stock-watcher --report md

🔧 配置说明

测试配置文件

创建 test_config.json:

{
  "skills_path": "/Users/mars/.openclaw/workspace/skills",
  "test_iterations": 10,
  "timeout_seconds": 30,
  "verbose": false,
  "save_reports": true,
  "report_format": ["json", "md"],
  "exclude_skills": ["skill-tester", "self-improving"]
}

环境变量

export SKILL_TESTER_VERBOSE=true
export SKILL_TESTER_TIMEOUT=60
export SKILL_TESTER_REPORT_DIR="/tmp/skill-tests"

🧪 测试用例示例

触发测试用例

{
  "skill": "stock-watcher",
  "trigger_tests": {
    "should_trigger": [
      "监控股票价格",
      "查看A股实时行情",
      "A股今日走势"
    ],
    "should_not_trigger": [
      "帮我写代码",
      "今天天气如何",
      "随便聊聊"
    ]
  }
}

功能测试用例

{
  "skill": "a-stock-monitor",
  "functionality_tests": [
    {
      "name": "market_sentiment",
      "input": {"action": "calculate_sentiment"},
      "expected_output": {
        "type": "json",
        "fields": ["score", "level", "stats"]
      }
    },
    {
      "name": "stock_price_query",
      "input": {"stock_code": "600000"},
      "expected_output": {
        "type": "json",
        "fields": ["price", "change_pct", "volume"]
      }
    }
  ]
}

📈 性能指标定义

1. 工具调用次数 (Tool Calls)

  • 定义: 技能执行所需的工具调用总数
  • 目标: 减少不必要的工具调用
  • 对比基准: 无技能时的手动操作

2. Token 消耗 (Token Usage)

  • 定义: LLM 调用消耗的 Token 总数
  • 目标: 降低 Token 消耗,节省成本
  • 对比基准: 无技能时的原始对话

3. 响应时间 (Response Time)

  • 定义: 从请求到响应的总耗时(秒)
  • 目标: 提升响应速度
  • 对比基准: 无技能时的响应时间

4. 准确率 (Accuracy)

  • 定义: 输出结果的正确率
  • 目标: 100% 准确
  • 评估方法: 人工验证 + 自动化检查

🛠️ 开发指南

添加新技能测试

  1. scripts/fixtures/sample_inputs.json 中添加测试用例
  2. 创建技能特定的测试脚本(可选)
  3. 运行测试验证

扩展测试类型

创建新的测试模块:

# scripts/test_custom.py
from utils.metrics_collector import MetricsCollector

def test_custom_metric(skill_name):
    collector = MetricsCollector()
    # 自定义测试逻辑
    results = collector.collect_custom_metrics(skill_name)
    return results

🔍 故障排查

问题1: 测试超时

原因: 技能执行时间过长 解决: 增加超时配置 --timeout 60

问题2: 报告生成失败

原因: 报告目录不存在 解决: 创建目录 mkdir -p /tmp/skill-tests

问题3: 测试用例缺失

原因: 未定义测试用例 解决: 在 fixtures/sample_inputs.json 中添加

📝 最佳实践

  1. 定期运行测试: 每次技能更新后运行完整测试
  2. 保持测试用例更新: 随技能功能同步更新测试用例
  3. 监控性能指标: 定期对比性能指标,优化技能
  4. 自动化集成: 将测试集成到 CI/CD 流程中
  5. 文档化测试结果: 保存测试报告,便于追溯

📄 许可证

MIT License

🤝 贡献

欢迎提交问题、建议和改进意见!

📞 联系作者

  • 邮箱: mars@caofu.org
  • 系统: OpenClaw Agent System

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

92.37%
按下载量换算1,060

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

只读

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

安装前确认

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

来源信息

继续浏览同类 Skills