Benchmark Representativeness Experimental Design Lens
Philosophical Mode: Generalizability
Primary Question: "Does this generalize beyond the test bed?"
Focus: Task Distribution, Scenario Coverage, Missing Regions, Dataset Selection, Generalization Claims
When to Use
- Evaluating claims that extend beyond specific benchmarks
- Checking coverage of evaluation suite
- Assessing dataset diversity
- User invokes
/exp-lens-benchmark-representativeness or /make-experiment-diag benchmark
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
ALWAYS:
- Focus on GENERALIZATION GAP between benchmark coverage and claimed scope
- Show which regions of the target space are untested
- Document the relationship between benchmark selection and generalization claims
- Include a coverage matrix mapping scenarios to metrics
- BEFORE creating any diagram, LOAD the
/mermaid skill using the Skill tool - this is MANDATORY
Analysis Workflow
Step 1: Launch Parallel Exploration Subagents
Spawn Explore subagents to investigate:
Benchmark & Dataset Inventory
- Find all datasets, benchmarks, test suites used
- Look for:
benchmark, dataset, test_suite, eval, corpus, split, GLUE, ImageNet
Task & Scenario Coverage
- Find what scenarios, conditions, and domains are tested
- Look for:
task, scenario, domain, category, difficulty, subset
Metric Coverage
- Find all evaluation metrics used
- Look for:
metric, accuracy, f1, bleu, rouge, latency, cost, fairness
Claimed Generalization Scope
- Find claims about generality in docs, papers, READMEs
- Look for:
generalize, real-world, production, deploy, robust, transfer, domain
Distribution Characteristics
- Find data distribution analysis, class balance, domain stats
- Look for:
distribution, balance, skew, size, demographics, diversity
Step 2: Build the Coverage Matrix
Build the coverage matrix: rows = scenarios/domains tested, columns = metrics measured. Identify which cells are populated and which are gaps. Compare the coverage to the stated generalization claims.
Step 3: CRITICAL — Analyze Generalization Gap
For every generalization claim:
- Target population: What is the full population the claim extends to?
- Benchmark representation: What subset of that population is represented in the benchmark?
- Untested regions: What regions of the space are untested?
- Coverage ratio: Is the coverage sufficient to support the claim?
Distinguish clearly:
- Strong claims (e.g., "production-ready"): require broad, diverse coverage
- Scoped claims (e.g., "best on GLUE"): only require benchmark-specific coverage
- Implicit claims: claims made in framing but not stated explicitly
Step 4: Create the Diagram
Use flowchart with:
Direction: TB (claims flow from benchmarks up to generalization)
Subgraphs:
BENCHMARKS USED
SCENARIOS TESTED
METRICS MEASURED
GENERALIZATION CLAIMS
UNTESTED REGIONS
Node Styling:
stateNode class: benchmarks/datasets
handler class: tested scenarios
output class: measured metrics
cli class: generalization claims
gap class: untested regions/missing coverage
detector class: validation of generalization
Step 5: Write Output
Write the diagram to: temp/exp-lens-benchmark-representativeness/exp_diag_benchmark_representativeness_{YYYY-MM-DD_HHMMSS}.md
Output Template
# Benchmark Representativeness Diagram: {System Name}
**Lens:** Benchmark Representativeness (Generalizability)
**Question:** Does this generalize beyond the test bed?
**Date:** {YYYY-MM-DD}
**Scope:** {What was analyzed}
## Coverage Matrix
| Scenario / Domain | {Metric A} | {Metric B} | {Metric C} | Coverage |
|-------------------|-----------|-----------|-----------|----------|
| {Scenario 1} | ✓ | ✓ | ✗ | Partial |
| {Scenario 2} | ✗ | ✗ | ✗ | None |
| {Scenario 3} | ✓ | ✓ | ✓ | Full |
## Benchmark Representativeness Diagram
```mermaid
%%{init: {'flowchart': {'nodeSpacing': 50, 'rankSpacing': 60, 'curve': 'basis'}}}%%
flowchart TB
%% 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 Benchmarks ["BENCHMARKS USED"]
direction TB
B1["{Benchmark 1}<br/>━━━━━━━━━━<br/>{size}, {domain}"]
B2["{Benchmark 2}<br/>━━━━━━━━━━<br/>{size}, {domain}"]
end
subgraph Scenarios ["SCENARIOS TESTED"]
direction TB
S1["{Scenario 1}<br/>━━━━━━━━━━<br/>{conditions}"]
S2["{Scenario 2}<br/>━━━━━━━━━━<br/>{conditions}"]
end
subgraph Metrics ["METRICS MEASURED"]
direction TB
M1["{Metric A}<br/>━━━━━━━━━━<br/>{what it captures}"]
M2["{Metric B}<br/>━━━━━━━━━━<br/>{what it captures}"]
end
subgraph Claims ["GENERALIZATION CLAIMS"]
direction TB
C1["{Claim 1}<br/>━━━━━━━━━━<br/>{source of claim}"]
C2["{Claim 2}<br/>━━━━━━━━━━<br/>{source of claim}"]
end
subgraph Gaps ["UNTESTED REGIONS"]
direction TB
G1["{Gap 1}<br/>━━━━━━━━━━<br/>{why it matters}"]
G2["{Gap 2}<br/>━━━━━━━━━━<br/>{why it matters}"]
end
VALIDATE["{Generalization Validity Check}<br/>━━━━━━━━━━<br/>Coverage vs. Claim scope"]
B1 --> S1
B2 --> S2
S1 --> M1
S2 --> M2
M1 --> C1
M2 --> C2
C1 --> VALIDATE
C2 --> VALIDATE
G1 -.->|missing| VALIDATE
G2 -.->|missing| VALIDATE
%% CLASS ASSIGNMENTS %%
class B1,B2 stateNode;
class S1,S2 handler;
class M1,M2 output;
class C1,C2 cli;
class G1,G2 gap;
class VALIDATE detector;
Color Legend:
| Color |
Category |
Description |
| Dark Teal |
Benchmarks |
Datasets and test suites used |
| Orange |
Scenarios |
Tested scenarios and conditions |
| Teal |
Metrics |
Measured evaluation metrics |
| Dark Blue |
Claims |
Generalization claims made |
| Yellow/Amber |
Gaps |
Untested regions of target space |
| Red |
Validation |
Generalization validity check |
Generalization Gap Analysis
| Claim |
Evidence (Benchmarks) |
Gap (Untested) |
Risk |
| {Claim 1} |
{What covers it} |
{What is missing} |
High/Med/Low |
| {Claim 2} |
{What covers it} |
{What is missing} |
High/Med/Low |
Representativeness Assessment
| Dimension |
Current Coverage |
Required for Claim |
Verdict |
| Domain diversity |
{count} domains |
{needed} |
✓/✗ |
| Task variety |
{count} tasks |
{needed} |
✓/✗ |
| Scale range |
{min}–{max} |
{needed} |
✓/✗ |
| Distribution shift |
{tested?} |
{needed} |
✓/✗ |
---
## Pre-Diagram Checklist
Before creating the diagram, verify:
- [ ] LOADED `/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
- `/make-experiment-diag` - Parent skill for lens selection
- `/mermaid` - MUST BE LOADED before creating diagram
- `/exp-lens-measurement-validity` - For metric quality analysis
- `/exp-lens-validity-threats` - For systematic threat inventory
1---2name: exp-lens-benchmark-representativeness3description: Create Benchmark Representativeness experimental design diagram showing coverage matrix, generalization gaps, and untested regions. Generalizability lens answering "Does this generalize beyond the test bed?"4---56# Benchmark Representativeness Experimental Design Lens78**Philosophical Mode:** Generalizability9**Primary Question:** "Does this generalize beyond the test bed?"10**Focus:** Task Distribution, Scenario Coverage, Missing Regions, Dataset Selection, Generalization Claims1112## When to Use1314- Evaluating claims that extend beyond specific benchmarks15- Checking coverage of evaluation suite16- Assessing dataset diversity17- User invokes `/exp-lens-benchmark-representativeness` or `/make-experiment-diag benchmark`1819## Critical Constraints2021**NEVER:**22- Modify any source code files23- Do not litter the codebase with useless comments, TODO markers, or explanatory annotations — the skill output and diagram speak for themselves2425**ALWAYS:**26- Focus on GENERALIZATION GAP between benchmark coverage and claimed scope27- Show which regions of the target space are untested28- Document the relationship between benchmark selection and generalization claims29- Include a coverage matrix mapping scenarios to metrics30- BEFORE creating any diagram, LOAD the `/mermaid` skill using the Skill tool - this is MANDATORY3132---3334## Analysis Workflow3536### Step 1: Launch Parallel Exploration Subagents3738Spawn Explore subagents to investigate:3940**Benchmark & Dataset Inventory**41- Find all datasets, benchmarks, test suites used42- Look for: `benchmark`, `dataset`, `test_suite`, `eval`, `corpus`, `split`, `GLUE`, `ImageNet`4344**Task & Scenario Coverage**45- Find what scenarios, conditions, and domains are tested46- Look for: `task`, `scenario`, `domain`, `category`, `difficulty`, `subset`4748**Metric Coverage**49- Find all evaluation metrics used50- Look for: `metric`, `accuracy`, `f1`, `bleu`, `rouge`, `latency`, `cost`, `fairness`5152**Claimed Generalization Scope**53- Find claims about generality in docs, papers, READMEs54- Look for: `generalize`, `real-world`, `production`, `deploy`, `robust`, `transfer`, `domain`5556**Distribution Characteristics**57- Find data distribution analysis, class balance, domain stats58- Look for: `distribution`, `balance`, `skew`, `size`, `demographics`, `diversity`5960### Step 2: Build the Coverage Matrix6162Build the coverage matrix: rows = scenarios/domains tested, columns = metrics measured. Identify which cells are populated and which are gaps. Compare the coverage to the stated generalization claims.6364### Step 3: CRITICAL — Analyze Generalization Gap6566For every generalization claim:67- **Target population**: What is the full population the claim extends to?68- **Benchmark representation**: What subset of that population is represented in the benchmark?69- **Untested regions**: What regions of the space are untested?70- **Coverage ratio**: Is the coverage sufficient to support the claim?7172Distinguish clearly:73- **Strong claims** (e.g., "production-ready"): require broad, diverse coverage74- **Scoped claims** (e.g., "best on GLUE"): only require benchmark-specific coverage75- **Implicit claims**: claims made in framing but not stated explicitly7677### Step 4: Create the Diagram7879Use flowchart with:8081**Direction:** `TB` (claims flow from benchmarks up to generalization)8283**Subgraphs:**84- `BENCHMARKS USED`85- `SCENARIOS TESTED`86- `METRICS MEASURED`87- `GENERALIZATION CLAIMS`88- `UNTESTED REGIONS`8990**Node Styling:**91- `stateNode` class: benchmarks/datasets92- `handler` class: tested scenarios93- `output` class: measured metrics94- `cli` class: generalization claims95- `gap` class: untested regions/missing coverage96- `detector` class: validation of generalization9798### Step 5: Write Output99100Write the diagram to: `temp/exp-lens-benchmark-representativeness/exp_diag_benchmark_representativeness_{YYYY-MM-DD_HHMMSS}.md`101102---103104## Output Template105106```markdown107# Benchmark Representativeness Diagram: {System Name}108109**Lens:** Benchmark Representativeness (Generalizability)110**Question:** Does this generalize beyond the test bed?111**Date:** {YYYY-MM-DD}112**Scope:** {What was analyzed}113114## Coverage Matrix115116| Scenario / Domain | {Metric A} | {Metric B} | {Metric C} | Coverage |117|-------------------|-----------|-----------|-----------|----------|118| {Scenario 1} | ✓ | ✓ | ✗ | Partial |119| {Scenario 2} | ✗ | ✗ | ✗ | None |120| {Scenario 3} | ✓ | ✓ | ✓ | Full |121122## Benchmark Representativeness Diagram123124```mermaid125%%{init: {'flowchart': {'nodeSpacing': 50, 'rankSpacing': 60, 'curve': 'basis'}}}%%126flowchart TB127 %% CLASS DEFINITIONS %%128 classDef cli fill:#1a237e,stroke:#7986cb,stroke-width:2px,color:#fff;129 classDef stateNode fill:#004d40,stroke:#4db6ac,stroke-width:2px,color:#fff;130 classDef handler fill:#e65100,stroke:#ffb74d,stroke-width:2px,color:#fff;131 classDef phase fill:#6a1b9a,stroke:#ba68c8,stroke-width:2px,color:#fff;132 classDef newComponent fill:#2e7d32,stroke:#81c784,stroke-width:2px,color:#fff;133 classDef output fill:#00695c,stroke:#4db6ac,stroke-width:2px,color:#fff;134 classDef detector fill:#b71c1c,stroke:#ef5350,stroke-width:2px,color:#fff;135 classDef gap fill:#ff6f00,stroke:#ffa726,stroke-width:2px,color:#000;136 classDef integration fill:#c62828,stroke:#ef9a9a,stroke-width:2px,color:#fff;137138 subgraph Benchmarks ["BENCHMARKS USED"]139 direction TB140 B1["{Benchmark 1}<br/>━━━━━━━━━━<br/>{size}, {domain}"]141 B2["{Benchmark 2}<br/>━━━━━━━━━━<br/>{size}, {domain}"]142 end143144 subgraph Scenarios ["SCENARIOS TESTED"]145 direction TB146 S1["{Scenario 1}<br/>━━━━━━━━━━<br/>{conditions}"]147 S2["{Scenario 2}<br/>━━━━━━━━━━<br/>{conditions}"]148 end149150 subgraph Metrics ["METRICS MEASURED"]151 direction TB152 M1["{Metric A}<br/>━━━━━━━━━━<br/>{what it captures}"]153 M2["{Metric B}<br/>━━━━━━━━━━<br/>{what it captures}"]154 end155156 subgraph Claims ["GENERALIZATION CLAIMS"]157 direction TB158 C1["{Claim 1}<br/>━━━━━━━━━━<br/>{source of claim}"]159 C2["{Claim 2}<br/>━━━━━━━━━━<br/>{source of claim}"]160 end161162 subgraph Gaps ["UNTESTED REGIONS"]163 direction TB164 G1["{Gap 1}<br/>━━━━━━━━━━<br/>{why it matters}"]165 G2["{Gap 2}<br/>━━━━━━━━━━<br/>{why it matters}"]166 end167168 VALIDATE["{Generalization Validity Check}<br/>━━━━━━━━━━<br/>Coverage vs. Claim scope"]169170 B1 --> S1171 B2 --> S2172 S1 --> M1173 S2 --> M2174 M1 --> C1175 M2 --> C2176 C1 --> VALIDATE177 C2 --> VALIDATE178 G1 -.->|missing| VALIDATE179 G2 -.->|missing| VALIDATE180181 %% CLASS ASSIGNMENTS %%182 class B1,B2 stateNode;183 class S1,S2 handler;184 class M1,M2 output;185 class C1,C2 cli;186 class G1,G2 gap;187 class VALIDATE detector;188```189190**Color Legend:**191| Color | Category | Description |192|-------|----------|-------------|193| Dark Teal | Benchmarks | Datasets and test suites used |194| Orange | Scenarios | Tested scenarios and conditions |195| Teal | Metrics | Measured evaluation metrics |196| Dark Blue | Claims | Generalization claims made |197| Yellow/Amber | Gaps | Untested regions of target space |198| Red | Validation | Generalization validity check |199200## Generalization Gap Analysis201202| Claim | Evidence (Benchmarks) | Gap (Untested) | Risk |203|-------|----------------------|----------------|------|204| {Claim 1} | {What covers it} | {What is missing} | High/Med/Low |205| {Claim 2} | {What covers it} | {What is missing} | High/Med/Low |206207## Representativeness Assessment208209| Dimension | Current Coverage | Required for Claim | Verdict |210|-----------|-----------------|-------------------|---------|211| Domain diversity | {count} domains | {needed} | ✓/✗ |212| Task variety | {count} tasks | {needed} | ✓/✗ |213| Scale range | {min}–{max} | {needed} | ✓/✗ |214| Distribution shift | {tested?} | {needed} | ✓/✗ |215```216217---218219## Pre-Diagram Checklist220221Before creating the diagram, verify:222223- [ ] LOADED `/mermaid` skill using the Skill tool224- [ ] Using ONLY classDef styles from the mermaid skill (no invented colors)225- [ ] Diagram will include a color legend table226227---228229## Related Skills230231- `/make-experiment-diag` - Parent skill for lens selection232- `/mermaid` - MUST BE LOADED before creating diagram233- `/exp-lens-measurement-validity` - For metric quality analysis234- `/exp-lens-validity-threats` - For systematic threat inventory