Install
$ agentstack add skill-trecek-useful-claude-skills-exp-lens-exploratory-confirmatory ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Exploratory-Confirmatory Experimental Design Lens
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
When to Use
- Study mixes exploration and confirmation without clear boundaries
- Post-hoc hypotheses presented as pre-specified
- Many analyses run but only significant ones reported
- User invokes
/exp-lens-exploratory-confirmatoryor/make-experiment-diag exploratory
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:
- Map the full analytic timeline — what was decided before vs. after seeing data
- Count forking paths honestly — every analysis choice is a potential fork
- Distinguish genuine exploration (hypothesis-generating) from HARKing (hypothesis-after-results)
- Flag absent preregistration as a finding without assuming bad faith
- BEFORE creating any diagram, LOAD the
/mermaidskill using the Skill tool - this is MANDATORY
Analysis Workflow
Step 1: Launch Parallel Exploration Subagents
Spawn Explore subagents to investigate:
Pre-specified Plans
- Find evidence of pre-registration, protocols, or analysis plans written before seeing data
- Look for: preregister, protocol, plan, a_priori, predetermined, registered, osf
Analytic Flexibility
- Find how many analysis choices could have been made differently
- Look for: choice, option, alternative, try, different, also, additionally, robustness
Selective Reporting Signals
- Find whether all planned analyses are reported
- Look for: mainresult, primary, secondary, supplementary, appendix, notshown, datanotshown
Post-Hoc Rationalization
- Find hypotheses that appear to have been generated from the data
- Look for: we found, unexpectedly, interestingly, surprising, post_hoc, exploratory, we noticed
Exploration-Confirmation Separation
- Find whether there is an explicit boundary between exploration and test
- Look for: holdout, validation, traindevtest, discoveryset, confirmationset, split
Step 2: Map Analytic Timeline
Map the analytic timeline:
- What was decided before seeing data?
- What was decided after?
- Where is the boundary between exploration and confirmation?
Count the "forking paths" — decision points where a different choice would have led to a different result.
Step 3: Analyze Boundary Integrity
CRITICAL — Analyze Boundary Integrity: For every reported result:
- Was the analysis plan fixed before seeing the outcome?
- If not, how many alternative analyses could have been run?
- Does the reporting distinguish exploratory findings from confirmatory tests?
Assess whether the reported results have survivorship bias.
Step 4: Create the Diagram (Optional)
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:
- Pre-data decisions → Data collection → Post-data decisions → Reporting
Node Styling:
stateNodeclass: Pre-specified decisionshandlerclass: Data collectionphaseclass: Post-data decisionsgapclass: Undisclosed flexibilitydetectorclass: Exploration/confirmation boundaryoutputclass: Reported results
Step 5: Write Output
Write the output to: temp/exp-lens-exploratory-confirmatory/exp_diag_exploratory_confirmatory_{YYYY-MM-DD_HHMMSS}.md
Output Template
# 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━━━━━━━━━━Hypothesis, primaryoutcome, analysis plan"]
COLLECT["Data Collection━━━━━━━━━━Observation periodand data gathering"]
BOUND["E/C Boundary━━━━━━━━━━Explicit split betweenexploration and test"]
POSTDATA["Post-data Decisions━━━━━━━━━━Analysis choices madeafter seeing results"]
HIDDEN["Undisclosed Flexibility━━━━━━━━━━Unreported forksand alternatives"]
REPORTED["Reported Results━━━━━━━━━━Published findingsand 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;
Preregistration Compliance Checklist
- [ ] Hypothesis stated before data collection
- [ ] Primary outcome pre-specified
- [ ] Analysis plan documented before analysis
- [ ] Deviations from plan disclosed
- [ ] Exploratory analyses labelled as such
Transparent Reporting Scorecard
| 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} |
Key Findings
- {Description of boundary integrity assessment and most significant HARKing or flexibility risks}
---
## 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
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [Trecek](https://github.com/Trecek)
- **Source:** [Trecek/useful-claude-skills](https://github.com/Trecek/useful-claude-skills)
- **License:** MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.