Skip to content
Back to skills

Skill Comparator

ASecurity

对比多个 skill 版本,通过独立实验找出最优版本。当用户提到"对比"、"比较"、"哪个更好"、"A/B 测试"、"评估性能"时使用。也适用于:用户有多个 skill 草稿想选一个、用户想验证 skill 改进是否有效、用户想量化不同 skill 的优劣。即使用户没有明确说"对比",只要涉及多个 skill 的选择或评估,都应该使用此技能。不适用于:对比普通文件差异(用 diff 工具)、代码审查(用 code-review skill)。

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 3, 2026
ai-agentscode-review

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 3, 2026

npx -y skills add Natsummerance/skills --skill skill-comparator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Skill Comparator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Skill Comparator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/natsummerance-skill-comparator/badge)](https://www.skillsdirectory.com/skills/natsummerance-skill-comparator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: skill-comparator
description: 对比多个 skill 版本,通过独立实验找出最优版本。当用户提到"对比"、"比较"、"哪个更好"、"A/B 测试"、"评估性能"时使用。也适用于:用户有多个 skill 草稿想选一个、用户想验证 skill 改进是否有效、用户想量化不同 skill 的优劣。即使用户没有明确说"对比",只要涉及多个 skill 的选择或评估,都应该使用此技能。不适用于:对比普通文件差异(用 diff 工具)、代码审查(用 code-review skill)。
---

# Skill 对比实验技能

## 为什么需要这个技能

手动对比 skill 版本有两个陷阱:

1. **上下文污染**:如果你在同一对话中依次测试多个版本,模型会"记住"前一个版本的行为模式,导致后面的测试结果不纯净。独立子智能体可以彻底隔离每个版本的运行环境。

2. **主观偏差**:人容易受"先入为主"影响——先看的那个版本会觉得"标准",后面的都跟它比。多维度量化评分能把"感觉"变成"数据",让对比更客观。

## 核心原则

1. **独立隔离**:每个 skill 版本在独立子智能体中运行。这不是可选的——如果两个版本共享上下文,对比就失去了意义。

2. **公平对比**:所有版本使用完全相同的测试用例和评估标准。测试用例的设计应该聚焦于版本间的差异点,而不是泛泛地"跑一遍看看"。

3. **量化评审**:用 10 分制打分,加权计算总分。主观感受要转化为可比较的数字。

4. **过程可追溯**:所有中间产物保存到 workspace,用户可以随时回溯查看每个版本的实际输出。

## 工作流程

### 阶段1:深度理解版本差异

**目标**:搞清楚每个版本"做了什么不同的事",而不仅仅是"长得不一样"。

1. **确认对比目标**
   - 用户要对比几个 skill?目录路径是什么?
   - 对比的目的是什么?(选择最优版本、发现改进点、验证优化效果)

2. **读取所有 skill 的完整文件**
   - 逐个读取每个版本的 SKILL.md、references/、scripts/
   - 不只是看结构差异,要理解每个差异对用户意味着什么

3. **生成版本画像并识别差异**
   - 为每个版本写一段简要描述(100字以内)
   - 列出各版本的核心优势和劣势
   - **识别关键差异点**——这是最重要的一步。差异点不是"文件数量不同"这种表面差异,而是"skill-A 没有任务分类但 skill-B 有 A/B/C 分类"这种**行为差异**。

   常见的行为差异类型:
   - 任务路由:是否区分不同类型的任务,走不同工作流
   - 效率优化:是否有快速路径、智能初始化等减少交互的机制
   - 质量保障:是否有事实核查、逐阶段检查等机制
   - 过程管理:是否保存中间文件、是否有错误处理
   - 输出策略:输出的详细程度、格式、结构

### 阶段2:设计测试方案

**目标**:设计能"逼出"差异的测试用例。

1. **设计测试用例**(建议 3-5 个)

   好的测试用例应该让不同版本"暴露"差异。如果两个版本在某个测试上表现一样,这个测试就没有区分度,是浪费。

   设计思路:
   - 每个关键差异至少 1 个测试用例
   - 覆盖不同输入级别(简单输入 vs 详细输入)
   - 覆盖不同任务类型(如果 skill 有多种任务类型)
   - 包含边界情况(如用户只给了一句话、或要求做格式转换)

2. **定义评估维度和权重**

   根据 skill 类型选择 5-7 个最相关的维度,分配权重(总和 100%)。

   参考 `references/evaluation-dimensions.md` 获取通用维度定义和评分标准。根据 skill 类型调整权重:

   | skill 类型 | 重点维度 | 建议权重 |
   |-----------|---------|---------|
   | 内容生成类 | 输出质量、准确性 | 输出质量 25-30%,准确性 20-25% |
   | 效率工具类 | 交互效率、格式转换 | 交互效率 25%,格式转换 20% |
   | 多工作流类 | 任务路由、用户体验 | 任务路由 25-30%,用户体验 15% |

3. **输出测试方案给用户确认**
   - 列出所有测试用例(输入、预期输出、考察点)
   - 列出评估维度和权重
   - 等待用户确认或调整

### 阶段3:并行执行与评审

**目标**:独立执行、客观评审、生成报告。

#### 3.1 准备并启动子智能体

1. **创建 workspace 目录**
   ```
   eval-workspace/
   ├── test-data/              # 测试数据文件
   ├── skill-a-results/test1/ ...   # skill-A 结果
   ├── skill-b-results/test1/ ...   # skill-B 结果
   └── skill-c-results/test1/ ...   # skill-C 结果(如果有)
   ```

2. **为每个版本编写子智能体指令**

   指令结构示例:
   ```
   你是一个 {skill类型} 助手。请严格按照以下 skill 的指令执行任务。

   ## Skill 信息
   - 路径:{skill_path}
   - 名称:{skill_name}

   ## 任务要求
   请依次执行以下测试用例,每个用例独立运行:

   ### 测试1:{测试名称}
   用户输入:
   """
   {完整的用户输入内容}
   """
   
   输出要求:
   - 保存到:{output_path}/test1/
   - 记录执行日志到:{output_path}/test1/execution-log.md
   - 日志包含:交互轮次、任务类型识别、关键行为、遇到的问题

   ### 测试2:{测试名称}
   ...

   ## 重要提醒
   - 严格按照 skill 的指令执行,不要自由发挥
   - 每个测试用例独立执行,不要共享状态
   - 详细记录执行过程,便于后续评审
   ```

   关键要点:
   - 给子智能体明确的 skill 路径,让它自己读取 SKILL.md 和参考文件
   - 测试输入要完整原样给出,不要让子智能体自己编
   - 要求记录执行日志,包含交互轮次、任务识别等关键信息
   - 强调"按 skill 执行",避免子智能体自由发挥

3. **并行启动所有子智能体**
   - 使用 Agent 工具,设置 `run_in_background: true`
   - 所有版本同时启动,不要串行

#### 3.2 收集结果并评审

1. **读取所有执行日志和输出文件**
   - 提取关键指标:交互轮次、任务类型识别、关键行为
   - 对比各版本的实际输出

2. **多维度评分**(10 分制)
   - 按照阶段2定义的评估维度逐项打分
   - 计算加权总分

3. **生成报告**
   - 评审报告(`review-report.md`):详细的维度对比和分析
   - 最终报告(`final-report.md`):实验总结、推荐、改进建议
   - 参考 `references/report-templates.md` 中的模板

4. **输出给用户审核**
   - 展示关键发现和推荐
   - 等待用户确认或提出异议

## 示例对话

**场景1:对比三个 skill 版本**

用户:帮我对比一下这三个 skill 哪个最好
- skill-A: /path/to/skill-alpha
- skill-B: /path/to/skill-beta  
- skill-C: /path/to/skill-gamma

Claude:好的,我来对比这三个 skill。首先我需要读取它们的完整内容,理解各自的工作流程和特性。

[读取三个 skill 的 SKILL.md 和参考文件]

分析完成,发现关键差异:
- skill-A:基础版,所有任务走统一流程,无任务分类
- skill-B:增加了 A/B/C 任务分类和快速路径优化
- skill-C:有逐阶段检查机制,但撰写方案过于精简

基于这些差异,我建议设计 5 个测试用例:
1. 低输入场景(<200字)→ 考察追问和智能初始化能力
2. 高输入场景(>500字)→ 考察快速路径是否生效
3. 优化任务 → 考察 B 类任务路由
4. 格式转换 → 考察 C 类任务路由
5. 事实核查 → 考察数据准确性

评估维度建议:
- 任务路由:20%
- 交互效率:15%
- 输出质量:25%
- 准确性:20%
- 格式转换:10%
- 用户体验:10%

这个方案可以吗?需要调整测试用例或权重吗?

用户:可以,开始测试

Claude:好的,现在启动三个独立子智能体并行执行测试...

[启动子智能体,等待完成]

测试完成!我生成了两份报告:
- review-report.md:详细的维度对比分析
- final-report.md:实验总结和改进建议

关键发现:
- skill-B 综合得分最高(8.93/10),主要优势在任务路由和交互效率
- skill-B 的快速路径将交互轮次从 12 轮降到 1-2 轮
- skill-B 的 B 类优化工作流是独有优势
- skill-C 的过程资产最完整,但缺少优化工作流

推荐采用 skill-B,建议从 skill-C 借鉴过程资产管理策略。

---

**场景2:只对比两个 skill 的效率**

用户:只有两个 skill,对比一下哪个更快
- skill-A: /path/to/skill-alpha
- skill-B: /path/to/skill-beta

Claude:好的,聚焦交互效率对比。先读取两个 skill 的内容...

[读取 skill 内容]

发现 skill-A 无快速路径,skill-B 有快速路径优化。

设计 3 个高输入场景测试用例(最能体现快速路径价值):
1. 详细工作记录(5天日志)
2. 完整项目文档
3. 多模块复杂任务

评估维度调整:
- 交互效率:30%(提高权重)
- 输出质量:25%
- 准确性:25%
- 用户体验:20%

开始测试...

[执行测试]

结果:skill-B 平均交互轮次 1.3 轮,skill-A 平均 8.7 轮。skill-B 快 6.7 倍。

推荐 skill-B,快速路径优化效果显著。

Files in this skill

  • SKILL.md9.2 KB
  • evals/evals.json3.4 KB
  • references/evaluation-dimensions.md6.2 KB
  • references/report-templates.md4.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…