Token导航 LogoToken导航

Agent Skill · 开发

user-test-toolkit(用户测试工具包)

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

user-test-toolkit 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 9,339。

总安装 2,756周安装 116GitHub Stars 公开资料未说明下载 965核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
4.0.0

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:user-test-toolkit(用户测试工具包)
来源仓库:https://github.com/ildar981105-create/user-test-toolkit
安装命令:
openclaw skills install user-test-toolkit
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

ClawHubOpenClaw
openclaw skills install user-test-toolkit

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

为Vibe Coding页面无侵入自动整理用户操作轨迹及行为,支持嵌入任务引导、微问卷和多项标准量表,适用可用性测试与用户研究。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install user-test-toolkit;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

user-test-toolkit 怎么安装?

在终端执行 openclaw skills install user-test-toolkit。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

user-test-toolkit 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

user-test-toolkit 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

user-test-toolkit 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

user-test-toolkit 用的人多吗?

公开数据是累计安装 2,756 次,近一周安装 116 次,下载 965 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

user-test-toolkit 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
user-test-toolkit

用户测试工具包 · 本页

2,756—需要联网MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
user-test-toolkit
description
为 AI 时代的 Vibe Coding 页面量身打造的用户测试工具链。无需修改业务代码,只要把 tracker.js 引入任意页面,即可自动整理用户的操作轨迹、犹豫点、困惑行为、停留热区;配合 survey.js,能在用户真实使用流程中嵌入式触发任务引导、微问卷检查点(Checkpoint)、SUS/EV/NPS 标准量表和 SAM 情绪评估,所有数据上报到你的服务端。适用于:可用性测试、用户研究、埋点整理、A/B 效果验证。创新点:埋点和问卷均与业务流零侵入融合,不是事后补发,而是用户"正在做事的时候"自动感知、自动触发。

User Test Toolkit Skill — Web 应用用户测试完整工具链 v3(可配置版)

🎯 5 分钟上手

最简配置(复制即用)

<!-- 1. 引入配置 + 设置你的产品信息 -->
<script src="survey-config.js"></script>
<script>
  window.SURVEY_CONFIG = {
    productName: '我的产品',
    tasks: [
      { id:'T1', label:'完成注册', detect:'signup_done'    },
      { id:'T2', label:'完成下单', detect:'order_done'     },
      { id:'T3', label:'完成支付', detect:'payment_done'  }
    ]
  };
</script>

<!-- 2. 引入核心文件 -->
<script src="tracker.js"></script>
<script src="survey.js"></script>

业务代码中触发 milestone

// 用户完成某个步骤时调用一次,Survey 自动响应
UserTestTracker.milestone('signup_done');    // 注册完成 → 触发 T1 任务
UserTestTracker.milestone('order_done');     // 下单完成 → 触发 T2 任务
UserTestTracker.milestone('payment_done');    // 支付完成 → 触发 T3 + 总结问卷

完整功能说明

模块功能定制方式
tracker.js6 维埋点(操作/犹豫/困惑/停留/里程碑/热区)改 TRACKER_CONFIG.endpoint 即可
survey.js主动问卷(任务面板 + checkpoint 微问卷 + SUS/EV/NPS)改 SURVEY_CONFIG.tasks 即可

概述

Step 1: 引入 tracker.js

<script src="tracker-config.js"></script>
<script>
  // ★ 必须设置:数据上报地址
  window.TRACKER_CONFIG.endpoint = 'https://your-server.com/track';

  // ★ 推荐设置:milestone 映射(让 survey.js 能跨产品工作)
  window.TRACKER_CONFIG.milestones = {
    'signup_done':   'step1_done',
    'order_complete':'step2_done',
    'payment_done':  'task_done'
  };

  // ★ 可选:自定义 action 识别
  window.TRACKER_CONFIG.actionMap = {
    '.signup-btn':  'signup',
    '#checkout-btn':'purchase',
    '.play-btn':    'play_video'
  };
</script>
<script src="tracker.js"></script>

Step 2: 引入 survey.js(可选,不要问卷功能可跳过)

<script src="survey-config.js"></script>
<script>
  // ★ 推荐设置:产品名称(用于问卷文案)
  window.SURVEY_CONFIG.productName = '我的产品';

  // ★ 必须设置:任务列表(核心定制点)
  window.SURVEY_CONFIG.tasks = [
    { id:'T1', label:'完成注册流程', detect:'step1_done' },
    { id:'T2', label:'完成首次下单', detect:'step2_done' },
    { id:'T3', label:'完成支付',     detect:'task_done'  }
  ];

  // ★ 推荐设置:情境问卷(checkpoint)
  window.SURVEY_CONFIG.checkpoints = [
    {
      id: 'signup_ease',
      trigger: 'step1_done',
      delay: 1500,
      type: 'rating',
      question: '注册流程顺利吗?',
      scale: 5,
      labels: ['很困难', '有点绕', '还行', '比较顺', '一下就找到了'],
      allowComment: true,
      commentPH: '在哪卡住过?(可选)'
    }
  ];
</script>
<script src="survey.js"></script>

Step 3: 在业务代码中触发 milestone

// 业务完成某个步骤时调用一次,Survey 自动响应
UserTestTracker.milestone('signup_done');   // 注册完成 → 触发 T1 任务 + 对应 checkpoint
UserTestTracker.milestone('step2_done');    // 下单完成
UserTestTracker.milestone('task_done');     // 支付完成 → 触发 T3 + 任务结束 + 总结问卷

文件结构

user-test-toolkit/
├── SKILL.md                          # 本文档
├── references/
│   ├── tracker-spec.md               # Tracker 完整 API 参考
│   └── survey-spec.md                # Survey 配置参考 + 题型说明
└── assets/
    ├── tracker.js                    # 埋点系统(v3,支持配置)
    ├── tracker-config.js             # Tracker 配置模板(即插即用)
    ├── survey.js                      # 问卷引擎(v3,支持配置)
    └── survey-config.js              # Survey 配置模板(零基础定制)

配置化详解

Tracker 配置(tracker-config.js)

配置项类型默认值说明
endpointstring''必填。埋点上报地址,如 'https://your-server.com/track'
flushIntervalnumber8000批量上报间隔(ms)
maxQueuenumber30缓存超过此条数立即上报
milestonesobject内置映射milestone 名称映射表:{ 业务名: 通用名 }
actionMapobject{}action 自动分类选择器映射
disabledbooleanfalsetrue = 记录但不上报

Survey 配置(survey-config.js)

配置项类型默认值说明
productNamestring'本产品'问卷文案中的产品名称
tasksarray内置默认任务定义数组(见下方格式)
checkpointsarray内置默认情境问卷数组(见下方格式)
welcomeInternalobject内置默认内部测试欢迎页文案
welcomeUserobject内置默认外部用户欢迎页文案
testVideoUrlstring'assets/test-video.mov'测试素材下载地址
openQuestion1/2string内置默认总结问卷开放题文本

任务对象格式

{
  id:     'T1',           // 唯一ID
  label:  '完成注册流程', // 显示给用户的任务描述
  hint:   '用手机号注册', // 内部模式显示的提示(可选)
  detect: 'signup_done'  // 触发的 milestone 名称(映射后)
}

Checkpoint 对象格式

// rating 型(李克特评分)
{
  id: 'signup_ease',
  trigger: 'signup_done',       // 映射前的 milestone 名称
  delay: 1500,                  // 延迟触发(ms)
  type: 'rating',
  question: '注册流程顺利吗?',
  scale: 5,                     // 5 或 7 分
  labels: ['很困难', ..., '很顺利'],  // 两端标签
  allowComment: true,           // 是否显示评论框
  commentPH: '在哪卡住过?'      // 评论 placeholder
}

// sam 型(SAM 情绪模型)
{
  id: 'post_use_sam',
  trigger: 'task_done',
  delay: 2000,
  type: 'sam',
  question: '使用后感觉如何?',
  dims: [
    { id: 'arousal', label: '紧张程度', l: '很放松', r: '很焦虑' },
    { id: 'valence', label: '满意程度', l: '不满意',  r: '很满意' }
  ]
}

事件类型完整清单

type说明detail 字段
enter页面访问url, referrer, screen, viewport
first_interact首次交互how(click/scroll/enter_key/focus_input), hesitation(秒)
click点击target(CSS选择器), x/y(%), action(分类名称)
frustration困惑行为target, repeats(次数), hint
file_select文件选择name, sizeMB, type
focus输入框聚焦target
input_enter回车提交inputId, length
scroll滚动深度depth(%)
tab_away/back页面切换elapsed(秒)
leave页面离开duration, scrollDepth, interactions, hesitation
errorJS 错误msg, file, line
milestone业务里程碑name(映射后), originalName(映射前)
phase_start/end阶段标记phase
upload_progress/done/fail上传pct / url,sizeMB / error
mps_statusMPS 状态status, elapsed
survey_show/answer/skip/exit_submit问卷事件—
task_complete任务完成taskId, label, elapsed

UserTestTracker API

// 底层
UserTestTracker.record(type, detail)   // 记录任意事件
UserTestTracker.flush()               // 强制刷新缓冲区

// 里程碑(最常用)
UserTestTracker.milestone(name)          // 记录 milestone(自动映射)
UserTestTracker.milestone(name, extra)   // 带附加数据

// 阶段
UserTestTracker.phaseStart(name)
UserTestTracker.phaseEnd(name)

// 上传
UserTestTracker.uploadProgress(pct)      // 0-100
UserTestTracker.uploadDone(url, sizeMB)
UserTestTracker.uploadFail(err)

// MPS 状态(保留给特定场景)
UserTestTracker.mpsStatus(status, elapsed)

// 问卷联动(Survey 内部使用)
UserTestTracker.surveyShow(id, type)
UserTestTracker.surveyAnswer(data)
UserTestTracker.surveySkip(id)
UserTestTracker.surveyExitSubmit(data)
UserTestTracker.taskComplete(taskId, label)

// 信息
UserTestTracker.uid        // 当前用户 ID
UserTestTracker.testRound  // 当前测试轮次
UserTestTracker.sessionId  // 当前会话 ID

使用工作流

工作流 A:快速 1v1 可用性测试(30分钟)

  1. 准备测试素材,放入 assets/test-video.mov
  2. 设置 TRACKER_CONFIG.endpoint + SURVEY_CONFIG.tasks
  3. 生成测试链接:?uid=user001&test=round1&smode=test
  4. 发给用户,观察操作
  5. 测试结束后查看总结问卷数据

工作流 B:批量远程测试(N 人)

  1. 批量生成链接(每个 uid 不同)
  2. 外部模式自动简化任务和问卷(stype=user)
  3. 所有数据通过 /track 端点汇总

工作流 C:只埋点不做问卷

  1. 只引 tracker.js,不引 survey.js
  2. 或引 survey 但不加 smode=test 参数

数据输出物

输出来源内容
操作序列JSONtracker完整用户行为路径(时间线)
犹豫/困惑标记tracker入口问题 + 困惑点定位
里程碑转化率tracker核心漏斗各步骤到达率
SUS 评分survey exit可用性量化分(0-100)
NPS 评分survey exit推荐意愿(-100~100)
EV 情绪分survey exit9题情绪价值均值
三词标签survey exit用户心智关键词
开放反馈survey exit定性问题和建议

发布到 GitHub 的方法

cd ~/.codebuddy/skills/user-test-toolkit
git init
git add .
git commit -m "feat: user-test-toolkit v3 configurable"
git remote add origin https://github.com/YOUR_USERNAME/user-test-toolkit.git
git push -u origin main

其他人使用:

git clone https://github.com/YOUR_USERNAME/user-test-toolkit.git
# 或作为 submodule

平台分布

OpenClaw

89.23%
按下载量换算861

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

继续浏览同类 Skills