skills/steelan9199/wechat-publisher/node-version-compatibility-tester

node-version-compatibility-tester

Installation
SKILL.md

🎯 触发映射

用户输入触发词 AI 执行动作
"测试Node版本兼容性" / "多版本Node测试" / "技能兼容性测试" 按【兼容性测试模式】执行

必须测试的三个nodejs版本号

  • 20.20.1
  • 22.22.1
  • 24.14.0

【兼容性测试模式】

执行步骤

步骤 执行动作 具体命令/操作
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 必须:

  1. 仔细阅读目标技能的 SKILL.md 文档

    • 找到该功能的调用方式(命令格式、参数格式)
    • 理解该功能需要什么输入参数
    • 确认是否需要外部凭证
  2. 按照文档说明构造测试参数

    • 参考文档中的示例
    • 对于需要凭证的功能,使用 AskUserQuestion 询问用户
  3. 按照文档说明的方式执行脚本

    • 不要假设命令格式,必须从文档中学习
    • 不同技能可能有不同的调用方式:
      • node scripts/xxx.js --parameter-file-path params.json
      • python scripts/xxx.py --config config.yaml
      • node scripts/xxx.js --input "data"
      • 或其他文档中定义的方式
  4. 记录实际输出:成功/失败 + 错误信息

第四步:处理凭证需求

功能需要凭证?
    ├─ 是 → 使用 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配置,重试切换,或跳过该版本
技能运行报错 测试过程中技能执行失败 记录完整错误信息,继续测试其他版本

如何使用这个 Skill

本技能是一个通用测试工具,可以测试任意用户指定的技能在不同 Node.js 版本下的兼容性。

通用使用模板

用户输入格式

对技能 {目标技能路径} 进行 Node.js 版本兼容性测试

AI 执行流程

步骤 AI 行为 具体操作
1 读取目标技能文档 读取 {目标技能路径}/SKILL.md
2 提取功能列表 从文档中识别所有功能模块和对应的脚本/命令
3 分析凭证需求 判断每个功能是否需要外部 API 凭证
4 询问用户(如需要凭证) "测试 {技能名} 需要 {凭证类型},是否提供测试凭证?"
5 执行测试 对每个功能执行实际运行测试(禁止使用 node --check
6 生成报告 汇总各 Node.js 版本的测试结果

测试执行要点

对于每个目标技能,AI 必须:

  1. 阅读目标技能的 SKILL.md 文档

    • 提取功能列表和脚本路径
    • 学习每个功能的调用方式(命令格式、参数格式)
  2. 不要假设命令格式

    • 不同技能有不同的调用方式
    • 必须从目标技能的文档中学习正确的调用方式
  3. 构造测试参数

    • 根据目标技能文档中的示例构造参数
    • 对于需要凭证的功能,询问用户
  4. 执行真实测试

    • 按照文档说明的方式运行脚本
    • 记录实际输出(成功/失败 + 错误信息)

示例:测试任意技能

用户输入

对技能 skills\wechat-publisher-yashu 进行 Node.js 版本兼容性测试

AI 执行

  1. 读取 skills\wechat-publisher-yashu\SKILL.md
  2. 从文档中学习每个功能的调用方式
  3. 切换 Node 版本,按文档说明执行测试
  4. 记录结果,切换下一个版本继续测试

示例:测试需要凭证的技能

用户输入

对技能 skills\feishu-bitable 进行 Node.js 版本兼容性测试

AI 执行

  1. 读取 skills\feishu-bitable\SKILL.md,学习调用方式
  2. 发现需要飞书 API 凭证,使用 AskUserQuestion 询问用户
  3. 根据用户选择执行测试或跳过需要凭证的功能

用户可以使用类似下面的提示词使用该技能

使用当前项目中的技能skills\node-version-compatibility-tester, 对当前项目中的技能 skills\feishu-bitable 进行 Node.js 版本兼容性测试

Weekly Installs
11
GitHub Stars
5
First Seen
5 days ago