Fair Comparison Experimental Design Lens
Philosophical Mode: Fairness
Primary Question: "Are alternatives compared under symmetric constraints?"
Focus: Compute Budget Symmetry, Tuning Protocol Parity, Data Access Equality, Engineering Effort Balance, Winner's Curse
Arguments
/autoskillit:exp-lens-fair-comparison [context_path] [experiment_plan_path]
- context_path (optional positional arg 1) — Absolute path to a lens context file
containing IV/DV tables, H0/H1 hypotheses, controlled variables, and success criteria.
If provided, read this file before beginning analysis to obtain structured context.
If omitted, discover context by exploring the CWD.
- experiment_plan_path (optional positional arg 2) — Absolute path to the full
experiment plan. If provided, read for complete experimental methodology and design.
If omitted, locate the experiment plan by exploring the CWD.
When to Use
- Method comparisons where tuning effort differs
- Benchmark results where compute budgets are unequal
- Claims of SOTA that may reflect process differences
- User invokes
/autoskillit:exp-lens-fair-comparison or /autoskillit:make-experiment-diag fairness
Critical Constraints
NEVER:
- Modify any source code files
- Do not litter the codebase with useless comments, TODO markers, or explanatory annotations — the skill output and diagram speak for themselves
- Create files outside
{{AUTOSKILLIT_TEMP}}/exp-lens-fair-comparison/
- Run subagents in the background (
run_in_background: true is prohibited)
ALWAYS:
Build the full symmetry matrix — every method against every resource dimension
Attribute improvements to method vs. process — both deserve accounting
Flag undisclosed compute or tuning as a finding, not an assumption
Assess the winner's curse: did the proposed method benefit from more selection pressure?
BEFORE creating any diagram, LOAD the /autoskillit:mermaid skill using the Skill tool - this is MANDATORY
If the Skill tool cannot be used (disable-model-invocation) or refuses this invocation, do NOT proceed with diagram creation. Abort this step and omit the diagram from output.
Write output to {{AUTOSKILLIT_TEMP}}/exp-lens-fair-comparison/exp_diag_fair_comparison_{YYYY-MM-DD_HHMMSS}.md
After writing the file, emit the structured output token as literal plain text with no
markdown formatting on the token name (the adjudicator performs a regex match):
diagram_path = /absolute/path/to/{{AUTOSKILLIT_TEMP}}/exp-lens-fair-comparison/exp_diag_fair_comparison_{...}.md
Analysis Workflow
Step 0: Parse optional arguments
If positional arg 1 (context_path) is provided and the file exists, read it to obtain
IV/DV tables, H0/H1 hypotheses, controlled variables, and success criteria. If positional
arg 2 (experiment_plan_path) is provided and exists, read the experiment plan for full
methodology. Use this structured context as the foundation for Steps 1-5; skip the CWD
exploration for these fields if the context file supplies them.
Step 1: Launch Parallel Exploration Subagents
Spawn Explore subagents to investigate:
Compute & Resource Allocation
- Find compute resources used per method
- Look for: gpu, tpu, hours, cost, memory, flops, compute_budget, machine, cluster
Tuning Protocol per Method
- Find tuning procedures for each compared method
- Look for: grid_search, optuna, bayesian_opt, hyperband, tune, sweep, trials, budget, early_stop
Data Access & Preprocessing
- Find whether all methods use the same data pipeline
- Look for: data_augmentation, preprocessing, feature, embedding, pretrained, extra_data, auxiliary
Engineering Effort Indicators
- Find differential engineering investment
- Look for: custom, specialized, trick, hack, ensemble, post_process, calibrate, threshold_tune
Reporting Completeness
- Find whether resource usage is disclosed
- Look for: report, disclose, computational_cost, wall_time, parameter_count, training_time
Step 2: Build Symmetry Matrix
Build the symmetry matrix: rows = methods compared, columns = resource dimensions (compute, tuning, data, engineering, disclosure).
For each cell:
- Is the allocation symmetric?
- If not, does the asymmetry favor the proposed method?
- Estimate the magnitude of bias from each asymmetry.
Step 3: Analyze Effort Attribution
CRITICAL — Analyze Effort Attribution:
For every claimed improvement:
- What fraction of the improvement can be attributed to the method itself vs. differential engineering effort, tuning budget, or data access?
Step 4: Create the Diagram
Use the mermaid skill conventions to create a symmetry diagram with:
Direction: LR (methods flow through resource allocation to evaluation)
Subgraphs:
- METHODS
- RESOURCE ALLOCATION
- EVALUATION
Node Styling:
cli class: Proposed method
phase class: Comparator methods
handler class: Shared resources
gap class: Asymmetric resources
detector class: Symmetry checks
output class: Results
Step 5: Write Output
Write the diagram to: {{AUTOSKILLIT_TEMP}}/exp-lens-fair-comparison/exp_diag_fair_comparison_{YYYY-MM-DD_HHMMSS}.md (relative to the current working directory)
Output Template
# Fair Comparison Analysis: {Experiment Name}
**Lens:** Fair Comparison (Fairness)
**Question:** Are alternatives compared under symmetric constraints?
**Date:** {YYYY-MM-DD}
**Scope:** {What was analyzed}
## Symmetry Matrix
| Method | Compute | Tuning Budget | Data Access | Engineering | Disclosure |
|--------|---------|---------------|-------------|-------------|------------|
| {proposed method} | {allocation} | {budget} | {access} | {effort} | {disclosed?} |
| {comparator} | {allocation} | {budget} | {access} | {effort} | {disclosed?} |
## Resource Disclosure
| Resource Type | Proposed Method | Comparators | Symmetric? |
|---------------|-----------------|-------------|------------|
| {GPU hours} | {value} | {value} | {Yes/No} |
| {Tuning trials} | {value} | {value} | {Yes/No} |
| {Extra data} | {value} | {value} | {Yes/No} |
## Symmetry Diagram
```mermaid
%%{init: {'flowchart': {'nodeSpacing': 50, 'rankSpacing': 60, 'curve': 'basis'}}}%%
graph LR
%% CLASS DEFINITIONS %%
classDef cli fill:#1a237e,stroke:#7986cb,stroke-width:2px,color:#fff;
classDef stateNode fill:#004d40,stroke:#4db6ac,stroke-width:2px,color:#fff;
classDef handler fill:#e65100,stroke:#ffb74d,stroke-width:2px,color:#fff;
classDef phase fill:#6a1b9a,stroke:#ba68c8,stroke-width:2px,color:#fff;
classDef newComponent fill:#2e7d32,stroke:#81c784,stroke-width:2px,color:#fff;
classDef output fill:#00695c,stroke:#4db6ac,stroke-width:2px,color:#fff;
classDef detector fill:#b71c1c,stroke:#ef5350,stroke-width:2px,color:#fff;
classDef gap fill:#ff6f00,stroke:#ffa726,stroke-width:2px,color:#000;
classDef integration fill:#c62828,stroke:#ef9a9a,stroke-width:2px,color:#fff;
subgraph Methods ["METHODS"]
direction TB
PROP["Proposed Method<br/>━━━━━━━━━━<br/>Method under<br/>evaluation"]
COMP["Comparator Methods<br/>━━━━━━━━━━<br/>Baseline and<br/>prior work"]
end
subgraph Resources ["RESOURCE ALLOCATION"]
direction TB
SHARED["Shared Resources<br/>━━━━━━━━━━<br/>Same data, same<br/>evaluation protocol"]
ASYM["Asymmetric Resources<br/>━━━━━━━━━━<br/>Differential compute<br/>or tuning budget"]
CHECK["Symmetry Check<br/>━━━━━━━━━━<br/>Verify parity<br/>across methods"]
end
subgraph Eval ["EVALUATION"]
direction TB
RESULT["Results<br/>━━━━━━━━━━<br/>Reported<br/>performance"]
end
PROP --> SHARED
COMP --> SHARED
PROP --> ASYM
SHARED --> CHECK
ASYM --> CHECK
CHECK --> RESULT
%% CLASS ASSIGNMENTS %%
class PROP cli;
class COMP phase;
class SHARED handler;
class ASYM gap;
class CHECK detector;
class RESULT output;
Winner's Curse Assessment
| Factor |
Proposed Method Advantage |
Impact on Claimed Improvement |
| {tuning trials} |
{advantage} |
{estimated impact} |
| {engineering tricks} |
{advantage} |
{estimated impact} |
Process-vs-Method Attribution Analysis
- Method contribution: {estimated fraction}
- Tuning contribution: {estimated fraction}
- Engineering contribution: {estimated fraction}
- Data access contribution: {estimated fraction}
Key Findings
- {Description of most significant asymmetries and their impact on claimed improvements}
---
## Pre-Diagram Checklist
Before creating the diagram, verify:
- [ ] LOADED `/autoskillit:mermaid` skill using the Skill tool
- [ ] Using ONLY classDef styles from the mermaid skill (no invented colors)
- [ ] Diagram will include a color legend table
---
## Related Skills
- `/autoskillit:make-experiment-diag` - Parent skill for lens selection
- `/autoskillit:mermaid` - MUST BE LOADED before creating diagram
- `/autoskillit:exp-lens-comparator-construction` - For baseline selection and construction adequacy
- `/autoskillit:exp-lens-sensitivity-robustness` - For sensitivity analysis across conditions
1---2name: exp-lens-fair-comparison3description: Create a comparison fairness matrix assessing whether alternatives are evaluated under symmetric constraints. Fairness lens answering "Are alternatives compared under symmetric constraints?"4---56# Fair Comparison Experimental Design Lens78**Philosophical Mode:** Fairness9**Primary Question:** "Are alternatives compared under symmetric constraints?"10**Focus:** Compute Budget Symmetry, Tuning Protocol Parity, Data Access Equality, Engineering Effort Balance, Winner's Curse1112## Arguments1314`/autoskillit:exp-lens-fair-comparison [context_path] [experiment_plan_path]`1516- **context_path** (optional positional arg 1) — Absolute path to a lens context file17 containing IV/DV tables, H0/H1 hypotheses, controlled variables, and success criteria.18 If provided, read this file before beginning analysis to obtain structured context.19 If omitted, discover context by exploring the CWD.20- **experiment_plan_path** (optional positional arg 2) — Absolute path to the full21 experiment plan. If provided, read for complete experimental methodology and design.22 If omitted, locate the experiment plan by exploring the CWD.2324## When to Use2526- Method comparisons where tuning effort differs27- Benchmark results where compute budgets are unequal28- Claims of SOTA that may reflect process differences29- User invokes `/autoskillit:exp-lens-fair-comparison` or `/autoskillit:make-experiment-diag fairness`3031## Critical Constraints3233**NEVER:**34- Modify any source code files35- Do not litter the codebase with useless comments, TODO markers, or explanatory annotations — the skill output and diagram speak for themselves36- Create files outside `{{AUTOSKILLIT_TEMP}}/exp-lens-fair-comparison/`37- Run subagents in the background (`run_in_background: true` is prohibited)3839**ALWAYS:**40- Build the full symmetry matrix — every method against every resource dimension41- Attribute improvements to method vs. process — both deserve accounting42- Flag undisclosed compute or tuning as a finding, not an assumption43- Assess the winner's curse: did the proposed method benefit from more selection pressure?44- BEFORE creating any diagram, LOAD the `/autoskillit:mermaid` skill using the Skill tool - this is MANDATORY45- If the Skill tool cannot be used (disable-model-invocation) or refuses this invocation, do NOT proceed with diagram creation. Abort this step and omit the diagram from output.46- Write output to `{{AUTOSKILLIT_TEMP}}/exp-lens-fair-comparison/exp_diag_fair_comparison_{YYYY-MM-DD_HHMMSS}.md`47- After writing the file, emit the structured output token as **literal plain text** with no48 markdown formatting on the token name (the adjudicator performs a regex match):4950 ```51 diagram_path = /absolute/path/to/{{AUTOSKILLIT_TEMP}}/exp-lens-fair-comparison/exp_diag_fair_comparison_{...}.md52 ```5354---5556## Analysis Workflow5758### Step 0: Parse optional arguments5960If positional arg 1 (context_path) is provided and the file exists, read it to obtain61IV/DV tables, H0/H1 hypotheses, controlled variables, and success criteria. If positional62arg 2 (experiment_plan_path) is provided and exists, read the experiment plan for full63methodology. Use this structured context as the foundation for Steps 1-5; skip the CWD64exploration for these fields if the context file supplies them.6566### Step 1: Launch Parallel Exploration Subagents6768Spawn Explore subagents to investigate:6970**Compute & Resource Allocation**71- Find compute resources used per method72- Look for: gpu, tpu, hours, cost, memory, flops, compute_budget, machine, cluster7374**Tuning Protocol per Method**75- Find tuning procedures for each compared method76- Look for: grid_search, optuna, bayesian_opt, hyperband, tune, sweep, trials, budget, early_stop7778**Data Access & Preprocessing**79- Find whether all methods use the same data pipeline80- Look for: data_augmentation, preprocessing, feature, embedding, pretrained, extra_data, auxiliary8182**Engineering Effort Indicators**83- Find differential engineering investment84- Look for: custom, specialized, trick, hack, ensemble, post_process, calibrate, threshold_tune8586**Reporting Completeness**87- Find whether resource usage is disclosed88- Look for: report, disclose, computational_cost, wall_time, parameter_count, training_time8990### Step 2: Build Symmetry Matrix9192Build the symmetry matrix: rows = methods compared, columns = resource dimensions (compute, tuning, data, engineering, disclosure).9394For each cell:95- Is the allocation symmetric?96- If not, does the asymmetry favor the proposed method?97- Estimate the magnitude of bias from each asymmetry.9899### Step 3: Analyze Effort Attribution100101**CRITICAL — Analyze Effort Attribution:**102For every claimed improvement:103- What fraction of the improvement can be attributed to the method itself vs. differential engineering effort, tuning budget, or data access?104105### Step 4: Create the Diagram106107Use the mermaid skill conventions to create a symmetry diagram with:108109**Direction:** `LR` (methods flow through resource allocation to evaluation)110111**Subgraphs:**112- METHODS113- RESOURCE ALLOCATION114- EVALUATION115116**Node Styling:**117- `cli` class: Proposed method118- `phase` class: Comparator methods119- `handler` class: Shared resources120- `gap` class: Asymmetric resources121- `detector` class: Symmetry checks122- `output` class: Results123124### Step 5: Write Output125126Write the diagram to: `{{AUTOSKILLIT_TEMP}}/exp-lens-fair-comparison/exp_diag_fair_comparison_{YYYY-MM-DD_HHMMSS}.md` (relative to the current working directory)127128---129130## Output Template131132```markdown133# Fair Comparison Analysis: {Experiment Name}134135**Lens:** Fair Comparison (Fairness)136**Question:** Are alternatives compared under symmetric constraints?137**Date:** {YYYY-MM-DD}138**Scope:** {What was analyzed}139140## Symmetry Matrix141142| Method | Compute | Tuning Budget | Data Access | Engineering | Disclosure |143|--------|---------|---------------|-------------|-------------|------------|144| {proposed method} | {allocation} | {budget} | {access} | {effort} | {disclosed?} |145| {comparator} | {allocation} | {budget} | {access} | {effort} | {disclosed?} |146147## Resource Disclosure148149| Resource Type | Proposed Method | Comparators | Symmetric? |150|---------------|-----------------|-------------|------------|151| {GPU hours} | {value} | {value} | {Yes/No} |152| {Tuning trials} | {value} | {value} | {Yes/No} |153| {Extra data} | {value} | {value} | {Yes/No} |154155## Symmetry Diagram156157```mermaid158%%{init: {'flowchart': {'nodeSpacing': 50, 'rankSpacing': 60, 'curve': 'basis'}}}%%159graph LR160 %% CLASS DEFINITIONS %%161 classDef cli fill:#1a237e,stroke:#7986cb,stroke-width:2px,color:#fff;162 classDef stateNode fill:#004d40,stroke:#4db6ac,stroke-width:2px,color:#fff;163 classDef handler fill:#e65100,stroke:#ffb74d,stroke-width:2px,color:#fff;164 classDef phase fill:#6a1b9a,stroke:#ba68c8,stroke-width:2px,color:#fff;165 classDef newComponent fill:#2e7d32,stroke:#81c784,stroke-width:2px,color:#fff;166 classDef output fill:#00695c,stroke:#4db6ac,stroke-width:2px,color:#fff;167 classDef detector fill:#b71c1c,stroke:#ef5350,stroke-width:2px,color:#fff;168 classDef gap fill:#ff6f00,stroke:#ffa726,stroke-width:2px,color:#000;169 classDef integration fill:#c62828,stroke:#ef9a9a,stroke-width:2px,color:#fff;170171 subgraph Methods ["METHODS"]172 direction TB173 PROP["Proposed Method<br/>━━━━━━━━━━<br/>Method under<br/>evaluation"]174 COMP["Comparator Methods<br/>━━━━━━━━━━<br/>Baseline and<br/>prior work"]175 end176177 subgraph Resources ["RESOURCE ALLOCATION"]178 direction TB179 SHARED["Shared Resources<br/>━━━━━━━━━━<br/>Same data, same<br/>evaluation protocol"]180 ASYM["Asymmetric Resources<br/>━━━━━━━━━━<br/>Differential compute<br/>or tuning budget"]181 CHECK["Symmetry Check<br/>━━━━━━━━━━<br/>Verify parity<br/>across methods"]182 end183184 subgraph Eval ["EVALUATION"]185 direction TB186 RESULT["Results<br/>━━━━━━━━━━<br/>Reported<br/>performance"]187 end188189 PROP --> SHARED190 COMP --> SHARED191 PROP --> ASYM192 SHARED --> CHECK193 ASYM --> CHECK194 CHECK --> RESULT195196 %% CLASS ASSIGNMENTS %%197 class PROP cli;198 class COMP phase;199 class SHARED handler;200 class ASYM gap;201 class CHECK detector;202 class RESULT output;203```204205## Winner's Curse Assessment206207| Factor | Proposed Method Advantage | Impact on Claimed Improvement |208|--------|--------------------------|-------------------------------|209| {tuning trials} | {advantage} | {estimated impact} |210| {engineering tricks} | {advantage} | {estimated impact} |211212## Process-vs-Method Attribution Analysis213214- Method contribution: {estimated fraction}215- Tuning contribution: {estimated fraction}216- Engineering contribution: {estimated fraction}217- Data access contribution: {estimated fraction}218219## Key Findings220221- {Description of most significant asymmetries and their impact on claimed improvements}222```223224---225226## Pre-Diagram Checklist227228Before creating the diagram, verify:229230- [ ] LOADED `/autoskillit:mermaid` skill using the Skill tool231- [ ] Using ONLY classDef styles from the mermaid skill (no invented colors)232- [ ] Diagram will include a color legend table233234---235236## Related Skills237238- `/autoskillit:make-experiment-diag` - Parent skill for lens selection239- `/autoskillit:mermaid` - MUST BE LOADED before creating diagram240- `/autoskillit:exp-lens-comparator-construction` - For baseline selection and construction adequacy241- `/autoskillit:exp-lens-sensitivity-robustness` - For sensitivity analysis across conditions