Estimand Clarity Experimental Design Lens
Philosophical Mode: Evidential
Primary Question: "What exactly is the claim?"
Focus: Effect Definition, Target Population, Outcome Specification, Comparator, Aggregation Level, Complication Handling
Arguments
/autoskillit:exp-lens-estimand-clarity [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
- Experiment has unclear or shifting hypotheses
- Multiple stakeholders interpret results differently
- Claims mix causal and predictive language
- User invokes
/autoskillit:exp-lens-estimand-clarity or /autoskillit:make-experiment-diag estimand
Critical Constraints
NEVER:
- Modify any source code or experiment 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-estimand-clarity/
- Run subagents in the background (
run_in_background: true is prohibited)
ALWAYS:
Decompose every stated claim into formal contrast notation (Treatment A vs Treatment B on Outcome Y in Population Z)
Flag every mismatch between prose claims and code implementation
Identify the aggregation level (unit, group, time) explicitly
Document how complications (missing data, failures, exclusions) are handled
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-estimand-clarity/exp_diag_estimand_clarity_{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-estimand-clarity/exp_diag_estimand_clarity_{...}.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:
Stated Claims & Hypotheses
- Find hypothesis statements, research questions, README claims
- Look for: hypothesis, claim, goal, objective, question, we show, we demonstrate, improves, outperforms
Treatment Definition
- Find what intervention or manipulation is applied
- Look for: treatment, intervention, method, approach, condition, configuration, ablation
Outcome Definition
- Find what is measured as the result
- Look for: outcome, metric, measure, endpoint, target, response, dependent
Population & Scope
- Find what units, datasets, or contexts the claim covers
- Look for: dataset, population, sample, domain, task, benchmark, scenario, setting
Complication Handling
- Find how missing data, failures, timeouts, or exclusions are handled
- Look for: missing, exclude, timeout, fail, drop, impute, censor, incomplete
Step 2: Extract the Implicit Estimand
Answer each question from the code (not the docs):
- What is the treatment?
- What is the comparator?
- What is the outcome?
- What is the population?
- What is the time horizon?
- How are complications handled?
Step 3: Compare Claims to Implementation
Compare the explicit claims (from docs/papers) to the implicit estimand (from code). Flag mismatches between what the prose asserts and what the implementation actually measures.
CRITICAL — Analyze Claim Precision:
For every stated claim:
- Can you write it as a formal contrast (Treatment A vs Treatment B on Outcome Y in Population Z)? If not, what is ambiguous?
- Does the code measure what the prose claims?
Step 4: Create the Optional Claim-Flow Diagram
If a diagram adds value, create a simplified flowchart. This is OPTIONAL for this hybrid lens — the tables are the primary output.
Direction: TB (claim flows from intervention through measurement to conclusion)
Small diagram: 4-6 nodes showing Treatment → Mechanism → Outcome → Claim
Node Styling:
cli class: treatment/intervention nodes
handler class: mechanism/pipeline nodes
output class: measured outcome nodes
phase class: stated claim nodes
gap class: ambiguity or mismatch between claim and measurement
Step 5: Write Output
Write the analysis to: {{AUTOSKILLIT_TEMP}}/exp-lens-estimand-clarity/exp_diag_estimand_clarity_{YYYY-MM-DD_HHMMSS}.md (relative to the current working directory)
Output Template
# Estimand Clarity Analysis: {Experiment Name}
**Lens:** Estimand Clarity (Evidential)
**Question:** What exactly is the claim?
**Date:** {YYYY-MM-DD}
**Scope:** {What was analyzed}
## Estimand Decomposition
| Component | Stated | Implemented | Match? |
|-----------|--------|-------------|--------|
| Treatment | {from prose} | {from code} | Yes / No / Partial |
| Comparator | {from prose} | {from code} | Yes / No / Partial |
| Outcome | {from prose} | {from code} | Yes / No / Partial |
| Population | {from prose} | {from code} | Yes / No / Partial |
| Time Horizon | {from prose} | {from code} | Yes / No / Partial |
| Complication Handling | {from prose} | {from code} | Yes / No / Partial |
## Claim Precision Assessment
| Claim | Formal Contrast | Ambiguities |
|-------|----------------|-------------|
| "{stated claim}" | Treatment A vs B on Y in Z | {list ambiguities} |
## Claim-Flow Diagram (Optional)
```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;
TREATMENT["Treatment<br/>━━━━━━━━━━<br/>{intervention name}"]
MECHANISM["Mechanism<br/>━━━━━━━━━━<br/>{pipeline step}"]
OUTCOME["Measured Outcome<br/>━━━━━━━━━━<br/>{metric}"]
CLAIM["Stated Claim<br/>━━━━━━━━━━<br/>{claim text}"]
MISMATCH["Mismatch<br/>━━━━━━━━━━<br/>{ambiguity description}"]
TREATMENT --> MECHANISM
MECHANISM --> OUTCOME
OUTCOME --> CLAIM
OUTCOME -.->|"diverges"| MISMATCH
class TREATMENT cli;
class MECHANISM handler;
class OUTCOME output;
class CLAIM phase;
class MISMATCH gap;
Color Legend:
| Color |
Category |
Description |
| Dark Blue |
Treatment |
Intervention applied |
| Orange |
Mechanism |
Pipeline processing |
| Dark Teal |
Outcome |
Measured result |
| Purple |
Claim |
Stated conclusion |
| Yellow |
Mismatch |
Ambiguity or claim-code divergence |
Ambiguity Register
| # |
Ambiguity |
Location |
Severity |
Resolution Needed |
| 1 |
{description} |
{file/section} |
High / Medium / Low |
{what to clarify} |
Recommendations
- {Specific action to resolve most critical ambiguity}
- {Rewrite suggestion for vague claim}
- {Code change to align implementation with stated estimand}
---
## 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-causal-assumptions` - For causal structure of the stated claim
- `/autoskillit:exp-lens-measurement-validity` - For whether the outcome metric is valid
1---2name: exp-lens-estimand-clarity3description: Create Estimand Clarity experimental design analysis decomposing the implicit estimand from code vs. explicit claims from prose. Evidential lens answering "What exactly is the claim?"4---56# Estimand Clarity Experimental Design Lens78**Philosophical Mode:** Evidential9**Primary Question:** "What exactly is the claim?"10**Focus:** Effect Definition, Target Population, Outcome Specification, Comparator, Aggregation Level, Complication Handling1112## Arguments1314`/autoskillit:exp-lens-estimand-clarity [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- Experiment has unclear or shifting hypotheses27- Multiple stakeholders interpret results differently28- Claims mix causal and predictive language29- User invokes `/autoskillit:exp-lens-estimand-clarity` or `/autoskillit:make-experiment-diag estimand`3031## Critical Constraints3233**NEVER:**34- Modify any source code or experiment 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-estimand-clarity/`37- Run subagents in the background (`run_in_background: true` is prohibited)3839**ALWAYS:**40- Decompose every stated claim into formal contrast notation (Treatment A vs Treatment B on Outcome Y in Population Z)41- Flag every mismatch between prose claims and code implementation42- Identify the aggregation level (unit, group, time) explicitly43- Document how complications (missing data, failures, exclusions) are handled44- 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-estimand-clarity/exp_diag_estimand_clarity_{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-estimand-clarity/exp_diag_estimand_clarity_{...}.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**Stated Claims & Hypotheses**71- Find hypothesis statements, research questions, README claims72- Look for: hypothesis, claim, goal, objective, question, we show, we demonstrate, improves, outperforms7374**Treatment Definition**75- Find what intervention or manipulation is applied76- Look for: treatment, intervention, method, approach, condition, configuration, ablation7778**Outcome Definition**79- Find what is measured as the result80- Look for: outcome, metric, measure, endpoint, target, response, dependent8182**Population & Scope**83- Find what units, datasets, or contexts the claim covers84- Look for: dataset, population, sample, domain, task, benchmark, scenario, setting8586**Complication Handling**87- Find how missing data, failures, timeouts, or exclusions are handled88- Look for: missing, exclude, timeout, fail, drop, impute, censor, incomplete8990### Step 2: Extract the Implicit Estimand9192Answer each question from the code (not the docs):931. What is the treatment?942. What is the comparator?953. What is the outcome?964. What is the population?975. What is the time horizon?986. How are complications handled?99100### Step 3: Compare Claims to Implementation101102Compare the explicit claims (from docs/papers) to the implicit estimand (from code). Flag mismatches between what the prose asserts and what the implementation actually measures.103104**CRITICAL — Analyze Claim Precision:**105For every stated claim:106- Can you write it as a formal contrast (Treatment A vs Treatment B on Outcome Y in Population Z)? If not, what is ambiguous?107- Does the code measure what the prose claims?108109### Step 4: Create the Optional Claim-Flow Diagram110111If a diagram adds value, create a simplified flowchart. This is OPTIONAL for this hybrid lens — the tables are the primary output.112113**Direction:** `TB` (claim flows from intervention through measurement to conclusion)114115**Small diagram: 4-6 nodes showing Treatment → Mechanism → Outcome → Claim**116117**Node Styling:**118- `cli` class: treatment/intervention nodes119- `handler` class: mechanism/pipeline nodes120- `output` class: measured outcome nodes121- `phase` class: stated claim nodes122- `gap` class: ambiguity or mismatch between claim and measurement123124### Step 5: Write Output125126Write the analysis to: `{{AUTOSKILLIT_TEMP}}/exp-lens-estimand-clarity/exp_diag_estimand_clarity_{YYYY-MM-DD_HHMMSS}.md` (relative to the current working directory)127128---129130## Output Template131132```markdown133# Estimand Clarity Analysis: {Experiment Name}134135**Lens:** Estimand Clarity (Evidential)136**Question:** What exactly is the claim?137**Date:** {YYYY-MM-DD}138**Scope:** {What was analyzed}139140## Estimand Decomposition141142| Component | Stated | Implemented | Match? |143|-----------|--------|-------------|--------|144| Treatment | {from prose} | {from code} | Yes / No / Partial |145| Comparator | {from prose} | {from code} | Yes / No / Partial |146| Outcome | {from prose} | {from code} | Yes / No / Partial |147| Population | {from prose} | {from code} | Yes / No / Partial |148| Time Horizon | {from prose} | {from code} | Yes / No / Partial |149| Complication Handling | {from prose} | {from code} | Yes / No / Partial |150151## Claim Precision Assessment152153| Claim | Formal Contrast | Ambiguities |154|-------|----------------|-------------|155| "{stated claim}" | Treatment A vs B on Y in Z | {list ambiguities} |156157## Claim-Flow Diagram (Optional)158159```mermaid160%%{init: {'flowchart': {'nodeSpacing': 50, 'rankSpacing': 60, 'curve': 'basis'}}}%%161flowchart TB162 %% CLASS DEFINITIONS %%163 classDef cli fill:#1a237e,stroke:#7986cb,stroke-width:2px,color:#fff;164 classDef stateNode fill:#004d40,stroke:#4db6ac,stroke-width:2px,color:#fff;165 classDef handler fill:#e65100,stroke:#ffb74d,stroke-width:2px,color:#fff;166 classDef phase fill:#6a1b9a,stroke:#ba68c8,stroke-width:2px,color:#fff;167 classDef newComponent fill:#2e7d32,stroke:#81c784,stroke-width:2px,color:#fff;168 classDef output fill:#00695c,stroke:#4db6ac,stroke-width:2px,color:#fff;169 classDef detector fill:#b71c1c,stroke:#ef5350,stroke-width:2px,color:#fff;170 classDef gap fill:#ff6f00,stroke:#ffa726,stroke-width:2px,color:#000;171 classDef integration fill:#c62828,stroke:#ef9a9a,stroke-width:2px,color:#fff;172173 TREATMENT["Treatment<br/>━━━━━━━━━━<br/>{intervention name}"]174 MECHANISM["Mechanism<br/>━━━━━━━━━━<br/>{pipeline step}"]175 OUTCOME["Measured Outcome<br/>━━━━━━━━━━<br/>{metric}"]176 CLAIM["Stated Claim<br/>━━━━━━━━━━<br/>{claim text}"]177 MISMATCH["Mismatch<br/>━━━━━━━━━━<br/>{ambiguity description}"]178179 TREATMENT --> MECHANISM180 MECHANISM --> OUTCOME181 OUTCOME --> CLAIM182 OUTCOME -.->|"diverges"| MISMATCH183184 class TREATMENT cli;185 class MECHANISM handler;186 class OUTCOME output;187 class CLAIM phase;188 class MISMATCH gap;189```190191**Color Legend:**192| Color | Category | Description |193|-------|----------|-------------|194| Dark Blue | Treatment | Intervention applied |195| Orange | Mechanism | Pipeline processing |196| Dark Teal | Outcome | Measured result |197| Purple | Claim | Stated conclusion |198| Yellow | Mismatch | Ambiguity or claim-code divergence |199200## Ambiguity Register201202| # | Ambiguity | Location | Severity | Resolution Needed |203|---|-----------|----------|----------|-------------------|204| 1 | {description} | {file/section} | High / Medium / Low | {what to clarify} |205206## Recommendations2072081. {Specific action to resolve most critical ambiguity}2092. {Rewrite suggestion for vague claim}2103. {Code change to align implementation with stated estimand}211```212213---214215## Pre-Diagram Checklist216217Before creating the diagram, verify:218219- [ ] LOADED `/autoskillit:mermaid` skill using the Skill tool220- [ ] Using ONLY classDef styles from the mermaid skill (no invented colors)221- [ ] Diagram will include a color legend table222223---224225## Related Skills226227- `/autoskillit:make-experiment-diag` - Parent skill for lens selection228- `/autoskillit:mermaid` - MUST BE LOADED before creating diagram229- `/autoskillit:exp-lens-causal-assumptions` - For causal structure of the stated claim230- `/autoskillit:exp-lens-measurement-validity` - For whether the outcome metric is valid