Assess whether analytic decisions were pre-specified or post-hoc and whether exploratory/confirmatory norms are aligned. Boundary lens answering "Is this discovery or test, and are norms aligned?"
Philosophical Mode: Boundary Primary Question: "Is this discovery or test, and are norms aligned?" Focus: Pre-specification, Analytic Flexibility, HARKing Detection, Garden of Forking Paths, Transparent Reporting
/exp-lens-exploratory-confirmatory or /make-experiment-diag exploratoryNEVER:
ALWAYS:
/mermaid skill using the Skill tool - this is MANDATORYSpawn Explore subagents to investigate:
Pre-specified Plans
Analytic Flexibility
Selective Reporting Signals
Post-Hoc Rationalization
Exploration-Confirmation Separation
Map the analytic timeline:
Count the "forking paths" — decision points where a different choice would have led to a different result.
CRITICAL — Analyze Boundary Integrity: For every reported result:
Assess whether the reported results have survivorship bias.
This is primarily an argumentative lens. Create an optional timeline diagram only when the timeline is complex enough to benefit from visualization.
Use the mermaid skill conventions with:
Direction: LR (time flows left to right from planning through analysis to reporting)
Minimal diagram structure:
Node Styling:
stateNode class: Pre-specified decisionshandler class: Data collectionphase class: Post-data decisionsgap class: Undisclosed flexibilitydetector class: Exploration/confirmation boundaryoutput class: Reported resultsWrite the output to: temp/exp-lens-exploratory-confirmatory/exp_diag_exploratory_confirmatory_{YYYY-MM-DD_HHMMSS}.md
# Exploratory-Confirmatory Analysis: {Experiment Name}
**Lens:** Exploratory-Confirmatory (Boundary)
**Question:** Is this discovery or test, and are norms aligned?
**Date:** {YYYY-MM-DD}
**Scope:** {What was analyzed}
## Analytic Timeline
| Decision Point | Pre/Post Data | Flexibility | Impact on Results |
|---------------|---------------|-------------|-------------------|
| {decision} | {Pre/Post} | {Low/Medium/High} | {description} |
## Forking Paths Inventory
| Analysis Choice | Alternatives Not Taken | Estimated Impact |
|----------------|------------------------|-----------------|
| {choice made} | {alternative 1, 2...} | {Low/Medium/High} |
## HARKing Risk Assessment
| Finding | Framing | HARKing Indicators | Assessment |
|---------|---------|-------------------|------------|
| {finding} | {how presented} | {indicators found} | {Low/Medium/High risk} |
## Timeline Diagram (Optional)
```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;
PRESPEC["Pre-specified Decisions<br/>━━━━━━━━━━<br/>Hypothesis, primary<br/>outcome, analysis plan"]
COLLECT["Data Collection<br/>━━━━━━━━━━<br/>Observation period<br/>and data gathering"]
BOUND["E/C Boundary<br/>━━━━━━━━━━<br/>Explicit split between<br/>exploration and test"]
POSTDATA["Post-data Decisions<br/>━━━━━━━━━━<br/>Analysis choices made<br/>after seeing results"]
HIDDEN["Undisclosed Flexibility<br/>━━━━━━━━━━<br/>Unreported forks<br/>and alternatives"]
REPORTED["Reported Results<br/>━━━━━━━━━━<br/>Published findings<br/>and conclusions"]
PRESPEC --> COLLECT
COLLECT --> BOUND
BOUND --> POSTDATA
POSTDATA --> HIDDEN
POSTDATA --> REPORTED
HIDDEN -.->|"survivorship bias"| REPORTED
%% CLASS ASSIGNMENTS %%
class PRESPEC stateNode;
class COLLECT handler;
class BOUND detector;
class POSTDATA phase;
class HIDDEN gap;
class REPORTED output;
| Criterion | Met? | Notes |
|---|---|---|
| All planned analyses reported | {Yes/No/Partial} | {notes} |
| Exploratory/confirmatory distinction explicit | {Yes/No/Partial} | {notes} |
| Forking paths disclosed | {Yes/No/Partial} | {notes} |
| Null results reported | {Yes/No/Partial} | {notes} |
---
## 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-severity-testing` - For statistical severity and error probability analysis
- `/exp-lens-sensitivity-robustness` - For robustness of conclusions across analytic choices