Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Tactic: rank gaps through relative comparison rather than absolute scoring, suited to hard-to-quantify situations
.claude/skills/yogsoth-ai-pairwise-comparison/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 36% | 0% |
When absolute scoring is hard to perform reliably (vague gap descriptions, incomparable dimensions, large rater bias), establish a gap ranking through pairwise relative comparison, then ensure the judgments are contradiction-free via a consistency check.
Absolute scoring requires raters to assign a value to each gap independently, which is easily affected by anchoring effects. Relative comparison ("A is more worth prioritizing than B") has a lower cognitive load and yields more stable judgments. This tactic implements an AHP (Analytic Hierarchy Process) style pairwise-comparison flow: first collect relative judgments for all gap pairs, then check judgment consistency, and finally synthesize the final ranking.
Inconsistent judgments (such as a cycle of A>B, B>C, C>A) are detected by the consistency-check SOP and trigger a correction round, until the consistency ratio CR < 0.1.
| SOP | Responsibility | When to call | |-----|------|---------| | gap-pairwise-judgment | Make a relative-importance judgment for each gap pair (1-9 Saaty scale) | Mandatory, first step | | consistency-check | Compute the consistency ratio (CR), identify contradictory judgment pairs | Mandatory, after each comparison round | | priority-synthesis | Synthesize final priority weights and ranking from the pairwise-comparison matrix | Mandatory, after CR passes |
Default (standard flow)
Simplified (gap count ≤ 5)
Deep (gap count > 15)
After execution, report to the calling strategy:
<!-- BEGIN available-tables (generated) -->
Optional, no fixed order; the final leaf is always a sop.
| Tactic | When to use | | --- | --- | | hypothesis-formation-scoring-matrix-construction | Tactic: orchestrate multi-dimensional scoring SOPs to build a comprehensive assessment matrix for all gaps |
Optional, no fixed order; the final leaf is always a sop.
| SOP | When to use | | --- | --- | | consistency-check | SOP: Check the transitive consistency of a pairwise judgment matrix, identify inconsistent entries, and suggest corrections | | gap-pairwise-judgment | SOP: Make a criterion-by-criterion relative priority judgment between two gaps and output the preference result | | priority-synthesis | SOP: synthesize all scoring data into a final gap priority list and attack-path suggestions |
<!-- END available-tables (generated) -->
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | pass→pass | 33,185 | 22,635 | -32% | 1 | 1 | 0% | 3,070 | 4,053 | +32% | 0 | 0 | — |
case-01 | fail→pass | 75,367 | 30,507 | -60% | 1 | 1 | 0% | 8,275 | 6,019 | -27% | 0 | 0 | — |
case-02 | fail→pass | 60,331 | 42,689 | -29% | 1 | 1 | 0% | 8,263 | 8,574 | +4% | 0 | 0 | — |
case-04 | pass→pass | 19,983 | 46,960 | +135% | 1 | 1 | 0% | 1,764 | 3,187 | +81% | 0 | 0 | — |
case-05 | pass→fail | 27,537 | 56,935 | +107% | 1 | 1 | 0% | 2,909 | 8,072 | +177% | 0 | 0 | — |
case-06 | fail→pass | 23,303 | 23,421 | +1% | 1 | 1 | 0% | 909 | 1,419 | +56% | 0 | 0 | — |
case-07 | fail→pass | 75,642 | 25,383 | -66% | 1 | 1 | 0% | 1,195 | 1,209 | +1% | 0 | 0 | — |
case-08 | fail→pass | 9,092 | 13,723 | +51% | 1 | 1 | 0% | 1,427 | 1,935 | +36% | 0 | 0 | — |
case-09 | pass→pass | 12,310 | 11,541 | -6% | 1 | 1 | 0% | 1,884 | 1,882 | -0% | 0 | 0 | — |
case-10 | fail→pass | 22,983 | 2,675 | -88% | 1 | 1 | 0% | 745 | 1,226 | +65% | 0 | 0 | — |
case-11 | pass→pass | 11,185 | 10,865 | -3% | 1 | 1 | 0% | 1,918 | 1,834 | -4% | 0 | 0 | — |
case-12 | fail→fail | 13,905 | 11,746 | -16% | 1 | 1 | 0% | 2,231 | 2,062 | -8% | 0 | 0 | — |
case-13 | fail→fail | 18,979 | 11,746 | -38% | 1 | 1 | 0% | 2,200 | 2,085 | -5% | 0 | 0 | — |
case-14 | pass→pass | 11,446 | 9,283 | -19% | 1 | 1 | 0% | 1,071 | 1,684 | +57% | 0 | 0 | — |
case-15 | fail→fail | 20,726 | 9,882 | -52% | 1 | 1 | 0% | 2,282 | 1,488 | -35% | 0 | 0 | — |
case-16 | fail→pass | 17,579 | 3,685 | -79% | 1 | 1 | 0% | 1,872 | 1,473 | -21% | 0 | 0 | — |
case-17 | pass→pass | 12,598 | 10,784 | -14% | 1 | 1 | 0% | 1,258 | 1,836 | +46% | 0 | 0 | — |
case-18 | fail→pass | 26,035 | 8,453 | -68% | 1 | 1 | 0% | 990 | 1,417 | +43% | 0 | 0 | — |
case-19 | fail→pass | 36,234 | 10,680 | -71% | 1 | 1 | 0% | 2,246 | 2,647 | +18% | 0 | 0 | — |
case-20 | fail→pass | 21,368 | 8,597 | -60% | 1 | 1 | 0% | 1,092 | 1,255 | +15% | 0 | 0 | — |
case-21 | fail→pass | 20,065 | 9,355 | -53% | 1 | 1 | 0% | 2,453 | 1,525 | -38% | 0 | 0 | — |
case-22 | pass→pass | 17,881 | 3,420 | -81% | 1 | 1 | 0% | 1,903 | 1,296 | -32% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 17 counted toward the lift figure. The other 5 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +45 percentage points is the difference between those two pass rates over the 17 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.