Skip to main content

skill-compare

Blind A/B comparison of two skill versions using eval cases — measures relative improvement across correctness, completeness, conciseness, and actionability.

跳到安装

来源信息

仓库
weaties/helmlog
最近来源活动
2026年4月26日 21:17
检测到的 SKILL.md 语言
英语
星标
2
分支
2

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
skill-compare
description
Blind A/B comparison of two skill versions using eval cases — measures relative improvement across correctness, completeness, conciseness, and actionability.
# /skill-compare — Blind A/B testing Run the same eval prompts against two skill versions and blind-score which produces better results. Proves a skill change is an improvement, not just a change. ## Usage ``` /skill-compare <skill-name> # current branch vs main /skill-compare <skill-name> --file # SKILL.md vs SKILL.md.new /skill-compare <skill-name> <case-name> # single named case only ``` If the target has no `evals/cases.yaml`, stop with: "No eval cases found for <skill>. Run `/skill-eval` to add cases first." ## Workflow ### 1. Load the two versions - Default: `git show main:<path-to-SKILL.md>` vs working-tree file. - `--file`: `SKILL.md` vs `SKILL.md.new` in the same directory. Assign random labels — **Alpha / Beta** or **Left / Right**, never "old/new" or "A/B" (those bias scoring). Record the mapping privately; reveal at the end. If the two versions are identical, stop. ### 2. Show the diff Print a unified diff of the two SKILL.md versions before running cases, so the user sees what changed. ### 3. For each eval case a. **Generate outputs from both versions.** Mentally apply each version's instructions to the case's `scenario` + `mock_input`. Keep the two outputs separate. b. **Blind-score on four dimensions** (1–5 each, scored without knowing which version produced the output): | Dimension | What to evaluate | |---|---| | Correctness | Hits `expected`, avoids `anti_expected` | | Completeness | All relevant aspects of the scenario covered | | Conciseness | Right-sized — neither bloated nor skeletal | | Actionability | User can act without further clarification | c. **Pick a per-case winner.** Total scores within 1 point on all four dimensions = Tie. Otherwise higher total wins. d. **Also record `expected` / `anti_expected` pass/fail** as `/skill-eval` does — distinguishes "feels better" from "passes more criteria." ### 4. Aggregate and report Summary table with cases won, ties, dimension averages, criteria pass rate. Per-case breakdown table. Reveal label mapping and declare a winner (or tie). Append the summary to `<skill-dir>/evals/compare-log.md` as a historical record. ### 5. Interpreting results | Result | Action | |---|---| | Beta wins ≥70% of cases | Strong improvement — ship it | | Beta wins 50–70% | Marginal — check for trade-offs (e.g., correctness up but conciseness down) | | Tie within 1 case | Not worth the diff complexity | | Alpha wins | Regression — revert or rethink | ## Bias guards - **Randomize label assignment every run.** Don't always map main → Alpha. - **Score each output independently** before comparing — don't look at one output while scoring the other. - **When in doubt, tie.** A genuine tie is more honest than a forced winner. - If a comparison is a tie but you believe the change is better, the eval cases may be too coarse — add cases that target the specific improvement.
在 GitHub 查看