skills/node-version-compatibility-tester/SKILL.md
自动测试指定技能在不同Node.js LTS版本下的兼容性,支持自动切换Node版本、运行全量功能测试、生成兼容性报告。何时使用:当用户说"测试Node版本兼容性"、"多版本Node测试"、"技能兼容性测试"时。
npx skillsauth add steelan9199/wechat-publisher node-version-compatibility-testerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| 用户输入触发词 | AI 执行动作 | | ---------------------------------------------------------- | ------------------------ | | "测试Node版本兼容性" / "多版本Node测试" / "技能兼容性测试" | 按【兼容性测试模式】执行 |
| 步骤 | 执行动作 | 具体命令/操作 |
| ---- | ------------ | ------------------------------------------------------------------------------------------------ |
| 1 | 检查环境 | 运行 RunCommand 执行 nvm list,确认已安装需要测试的Node.js版本 |
| 2 | 确认测试范围 | 用户指定要测试的技能路径和Node.js版本列表(默认测试3个LTS版本:20.20.1, 22.22.1, 24.14.0) |
| 3 | 切换Node版本 | 运行 RunCommand 执行 nvm use <version> 切换到对应Node.js版本 |
| 4 | 执行测试 | 查看目标技能的文档, 统计有多少功能, 对每个功能执行实际运行测试, 参考下方的[如何进行实际运行测试] |
| 5 | 记录测试结果 | 将每个版本的测试结果(成功/失败、错误信息)记录到临时文件 |
| 6 | 生成报告 | 汇总所有版本的测试结果,生成兼容性测试报告 |
禁止使用 node --check 语法检查!必须进行实际功能测试!
| 判定 | 操作方式 | 说明 |
| ------- | ---------------------------------------------- | ------------------------------ |
| ✅ 正确 | 按照目标技能的文档,对每个功能执行实际运行测试 | 真实运行技能功能,验证实际效果 |
| ❌ 错误 | 使用 node --check 对代码进行基础检查 | 仅做语法检查,不验证实际功能 |
步骤 4 的详细执行流程:
读取 {目标技能路径}/SKILL.md
│
├─ 提取功能列表 → 从"触发映射"表或"操作接口"表中获取
│
├─ 提取脚本路径 → 识别 scripts/ 目录下的所有可执行文件
│
└─ 分析凭证需求 → 检查是否需要 token、apiKey、secret 等外部凭证
| 功能类型 | 识别特征 | 测试方式 | | -------------- | --------------------------- | -------------------------- | | 本地处理类 | URL解析、文件转换、格式处理 | 构造示例参数,直接执行测试 | | API调用类 | 需要 token、apiKey、secret | 询问用户是否提供凭证 | | 交互类 | 需要用户输入 | 使用模拟输入执行测试 |
对于每个功能,AI 必须:
仔细阅读目标技能的 SKILL.md 文档
按照文档说明构造测试参数
AskUserQuestion 询问用户按照文档说明的方式执行脚本
node scripts/xxx.js --parameter-file-path params.jsonpython scripts/xxx.py --config config.yamlnode scripts/xxx.js --input "data"记录实际输出:成功/失败 + 错误信息
功能需要凭证?
│
├─ 是 → 使用 AskUserQuestion 询问:
│ "测试 {功能名} 需要 {凭证类型},是否提供测试凭证?"
│ │
│ ├─ 用户提供 → 使用凭证构造参数,执行测试
│ │
│ └─ 用户不提供 → 标记为"跳过(缺少凭证)"
│
└─ 否 → 直接构造测试参数并执行
| 功能类型 | 测试参数构造方式 |
| ---------- | --------------------------------------------------- |
| URL解析类 | 使用示例 URL:{"url": "https://example.com/path"} |
| 文件操作类 | 创建临时文件,传入文件路径 |
| 格式转换类 | 使用示例数据:{"input": "test data"} |
| API调用类 | 需要用户提供真实凭证 |
当目标技能需要外部 API 凭证时,按以下流程处理:
功能需要凭证?
│
├─ 是 → 询问用户:"测试 {功能名} 需要 {凭证类型},是否提供测试凭证?"
│ │
│ ├─ 用户提供凭证 → 使用凭证执行测试
│ │
│ └─ 用户不提供 → 标记为"跳过(缺少凭证)",继续测试其他功能
│
└─ 否 → 直接执行测试
成功时输出示例:
✅ Node.js版本兼容性测试完成
📊 测试结果汇总:
| Node.js版本 | 功能1 | 功能2 | 功能3 | 状态 |
|------------|-------|-------|-------|------|
| 20.20.1 | ✅ 通过 | ✅ 通过 | ✅ 通过 | 完全兼容 |
| 22.22.1 | ✅ 通过 | ✅ 通过 | ✅ 通过 | 完全兼容 |
| 24.14.0 | ✅ 通过 | ✅ 通过 | ✅ 通过 | 完全兼容 |
✅ 结论:该技能完美支持所有测试的Node.js LTS版本
📝 下一步:可以根据测试结果更新技能的环境要求说明
失败时输出示例:
❌ Node.js版本兼容性测试发现问题
📊 测试结果汇总:
| Node.js版本 | 功能1 | 功能2 | 功能3 | 状态 |
|------------|-------|-------|-------|------|
| 20.20.1 | ❌ 失败 | - | - | 不兼容 |
| 22.22.1 | ✅ 通过 | ✅ 通过 | ✅ 通过 | 完全兼容 |
| 24.14.0 | ✅ 通过 | ✅ 通过 | ✅ 通过 | 完全兼容 |
❌ 问题说明:Node.js 20.20.1版本下功能1失败,错误信息:模块找不到
解决建议:检查技能依赖是否兼容Node.js 20.x版本,或者更新依赖配置
| 错误场景 | 错误表现 | 处理方式 |
| ---------------- | --------------------------------- | ------------------------------------------ |
| nvm未安装 | 执行nvm list报错 | 提示用户安装nvm Node版本管理工具 |
| 测试版本未安装 | nvm list中没有用户指定的Node版本 | 询问用户是否安装对应版本,或者更换测试版本 |
| Node版本切换失败 | nvm use <version>返回非零退出码 | 检查nvm配置,重试切换,或跳过该版本 |
| 技能运行报错 | 测试过程中技能执行失败 | 记录完整错误信息,继续测试其他版本 |
本技能是一个通用测试工具,可以测试任意用户指定的技能在不同 Node.js 版本下的兼容性。
用户输入格式:
对技能
{目标技能路径}进行 Node.js 版本兼容性测试
AI 执行流程:
| 步骤 | AI 行为 | 具体操作 |
| ---- | ---------------------- | ----------------------------------------------------- |
| 1 | 读取目标技能文档 | 读取 {目标技能路径}/SKILL.md |
| 2 | 提取功能列表 | 从文档中识别所有功能模块和对应的脚本/命令 |
| 3 | 分析凭证需求 | 判断每个功能是否需要外部 API 凭证 |
| 4 | 询问用户(如需要凭证) | "测试 {技能名} 需要 {凭证类型},是否提供测试凭证?" |
| 5 | 执行测试 | 对每个功能执行实际运行测试(禁止使用 node --check) |
| 6 | 生成报告 | 汇总各 Node.js 版本的测试结果 |
对于每个目标技能,AI 必须:
阅读目标技能的 SKILL.md 文档
不要假设命令格式
构造测试参数
执行真实测试
用户输入:
对技能
skills\wechat-publisher-yashu进行 Node.js 版本兼容性测试
AI 执行:
skills\wechat-publisher-yashu\SKILL.md用户输入:
对技能
skills\feishu-bitable进行 Node.js 版本兼容性测试
AI 执行:
skills\feishu-bitable\SKILL.md,学习调用方式AskUserQuestion 询问用户使用当前项目中的技能
skills\node-version-compatibility-tester, 对当前项目中的技能skills\feishu-bitable进行 Node.js 版本兼容性测试
tools
教用户在 Windows 11 上通过批处理脚本 (.bat) 启动或批量启动指定程序,以及关闭程序。当用户需要启动程序、批量启动多个程序、制作一键启停脚本时触发此技能。
development
对混乱、耦合严重的JavaScript项目进行架构诊断、模块化拆分与代码重构。当用户要求'重构项目'、'优化代码结构'、'梳理架构'、'解决代码耦合'或项目存在职责不清、互相依赖的面条代码时触发此skill。
tools
解析纯色平涂插画图片,输出 SAM3 提取提示词与儿童单层绘画顺序的 Markdown 表格。当用户消息中包含「分割图片」或「绘画步骤」关键词时触发此技能。
tools
备份 JS 项目的入口文件及其所有依赖文件到 project-backup 文件夹。自动发现入口文件、递归检测依赖、智能编号。适用于任何 JS/CommonJS 项目。当用户要求'备份代码'、'保存当前版本'、'创建快照'或修改代码前需要保留原版本时触发此 skill。