Reproducibility Artifacts Experimental Design Lens
Philosophical Mode: Transparency
Primary Question: "Could an independent party reproduce this?"
Focus: Run Instructions, Environment Capture, Data Availability, Determinism Controls, Audit Trail
Arguments
/autoskillit:exp-lens-reproducibility-artifacts [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
- Evaluating reproducibility of computational experiments
- Auditing artifact completeness
- Checking for undocumented dependencies
- User invokes
/autoskillit:exp-lens-reproducibility-artifacts or /autoskillit:make-experiment-diag reproducibility
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-reproducibility-artifacts/
- Run subagents in the background (
run_in_background: true is prohibited)
ALWAYS:
Trace the full chain from "clone repo" to "reproduce figures"
Classify every artifact as available/unavailable and versioned/floating
Identify the weakest link in the reproduction chain
Flag all silent non-determinism risks
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-reproducibility-artifacts/exp_diag_reproducibility_artifacts_{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-reproducibility-artifacts/exp_diag_reproducibility_artifacts_{...}.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:
Environment & Dependencies
- Find dependency files, container definitions, environment setup
- Look for: requirements, Dockerfile, environment.yml, conda, pip, nix, lock
Data Provenance
- Find data download scripts, checksums, versioning
- Look for: download, checksum, hash, version, dvc, data_url, manifest
Execution Entry Points
- Find run scripts, Makefiles, workflow managers
- Look for: Makefile, run.sh, snakemake, nextflow, main, entrypoint, cli
Random Seed & Determinism
- Find seed setting, nondeterminism controls
- Look for: seed, random_state, deterministic, cudnn, PYTHONHASHSEED
Output Artifacts & Logging
- Find result storage, logging, figure generation
- Look for: save, log, output, results, figures, checkpoint, wandb, mlflow
Step 2: Map the Reproduction Chain
Map the full chain from "clone repo" to "reproduce figures." Identify each link:
- Is it documented?
- Is it automated?
- Is it deterministic?
- What is the weakest link?
Step 3: Classify Each Artifact Dependency
CRITICAL — Analyze Reproduction Chain:
For every artifact dependency:
- Is the source available (open vs gated)?
- Is the version pinned or floating?
- Is the transform deterministic?
- Could silent environment differences change results?
Assign a status of Pass, Warn, or Fail to each link in the chain based on reproducibility confidence.
Step 4: Create the Diagram
Use flowchart with:
Direction: LR (reproduction chain flows left to right)
Subgraphs:
- SOURCE CODE
- ENVIRONMENT
- DATA
- EXECUTION
- OUTPUTS
Node Styling:
cli class: Entry points and run commands
stateNode class: Versioned and pinned artifacts
handler class: Transforms and scripts
output class: Results and figures
gap class: Missing or undocumented links
detector class: Checksum and validation gates
phase class: External dependencies
Edge Labels: pinned, floating, deterministic, nondeterministic, gated
Step 5: Write Output
Write the diagram to: {{AUTOSKILLIT_TEMP}}/exp-lens-reproducibility-artifacts/exp_diag_reproducibility_artifacts_{YYYY-MM-DD_HHMMSS}.md (relative to the current working directory)
Output Template
# Reproducibility Artifacts Diagram: {Experiment Name}
**Lens:** Reproducibility Artifacts (Transparency)
**Question:** Could an independent party reproduce this?
**Date:** {YYYY-MM-DD}
**Scope:** {What was analyzed}
## Artifact Inventory
| Artifact | Available? | Versioned? | Deterministic? |
|----------|------------|------------|----------------|
| {artifact} | {Yes/No/Gated} | {Pinned/Floating/None} | {Yes/No/Unknown} |
## Reproduction Chain Diagram
```mermaid
%%{init: {'flowchart': {'nodeSpacing': 50, 'rankSpacing': 60, 'curve': 'basis'}}}%%
flowchart 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 Source ["SOURCE CODE"]
REPO["Git Repository<br/>━━━━━━━━━━<br/>Commit hash<br/>Branch"]
ENTRY["Entry Point<br/>━━━━━━━━━━<br/>run.sh / Makefile"]
end
subgraph Env ["ENVIRONMENT"]
DEPS["Dependencies<br/>━━━━━━━━━━<br/>requirements.txt / lock"]
MISSING["Undocumented Dep<br/>━━━━━━━━━━<br/>No version pin"]
EXTDEP["External Service<br/>━━━━━━━━━━<br/>API / cloud resource"]
end
subgraph Data ["DATA"]
RAW["Raw Dataset<br/>━━━━━━━━━━<br/>Checksum available?"]
CHKSUM["Checksum Gate<br/>━━━━━━━━━━<br/>sha256 / md5"]
GATED["Gated Dataset<br/>━━━━━━━━━━<br/>Access required"]
end
subgraph Exec ["EXECUTION"]
SEED["Seed Control<br/>━━━━━━━━━━<br/>PYTHONHASHSEED<br/>random_state"]
SCRIPT["Pipeline Script<br/>━━━━━━━━━━<br/>Deterministic?"]
end
subgraph Outputs ["OUTPUTS"]
RESULTS["Results / Metrics<br/>━━━━━━━━━━<br/>Logged?"]
FIGS["Figures<br/>━━━━━━━━━━<br/>Reproducible?"]
end
%% REPRODUCTION CHAIN %%
REPO -->|"pinned"| ENTRY
ENTRY -->|"loads"| DEPS
DEPS -.->|"floating"| MISSING
MISSING -.->|"nondeterministic"| SCRIPT
EXTDEP -->|"gated"| SCRIPT
RAW -->|"verify"| CHKSUM
CHKSUM -->|"deterministic"| SCRIPT
GATED -.->|"gated"| SCRIPT
SEED -->|"controls"| SCRIPT
SCRIPT -->|"produces"| RESULTS
SCRIPT -->|"generates"| FIGS
%% CLASS ASSIGNMENTS %%
class REPO,ENTRY cli;
class DEPS,RAW stateNode;
class SCRIPT,SEED handler;
class EXTDEP phase;
class RESULTS,FIGS output;
class CHKSUM detector;
class MISSING,GATED gap;
Color Legend:
| Color |
Category |
Description |
| Dark Blue |
Entry Point |
Run commands and source code |
| Teal |
Versioned Artifact |
Pinned dependencies and checksummed data |
| Orange |
Transform / Script |
Pipeline scripts and execution steps |
| Purple |
External Dependency |
External services and APIs |
| Dark Teal |
Output |
Results, metrics, and figures |
| Red |
Validation Gate |
Checksum and integrity checks |
| Amber |
Missing Link |
Undocumented or gated dependencies |
Reproduction Checklist
Step-by-step instructions with pass/fail status:
Weakest Links
| Link |
Issue |
Severity |
Recommendation |
| {link} |
{undocumented/gated/floating/nondeterministic} |
{High/Medium/Low} |
{action} |
---
## 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-pipeline-integrity` - For data leakage audit
- `/autoskillit:exp-lens-variance-stability` - For result stability across seeds
1---2name: exp-lens-reproducibility-artifacts3description: Create Reproducibility Artifacts experimental design diagram showing run instructions, environment capture, data availability, determinism controls, and audit trail. Transparency lens answering "Could an independent party reproduce this?"4---56# Reproducibility Artifacts Experimental Design Lens78**Philosophical Mode:** Transparency9**Primary Question:** "Could an independent party reproduce this?"10**Focus:** Run Instructions, Environment Capture, Data Availability, Determinism Controls, Audit Trail1112## Arguments1314`/autoskillit:exp-lens-reproducibility-artifacts [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- Evaluating reproducibility of computational experiments27- Auditing artifact completeness28- Checking for undocumented dependencies29- User invokes `/autoskillit:exp-lens-reproducibility-artifacts` or `/autoskillit:make-experiment-diag reproducibility`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-reproducibility-artifacts/`37- Run subagents in the background (`run_in_background: true` is prohibited)3839**ALWAYS:**40- Trace the full chain from "clone repo" to "reproduce figures"41- Classify every artifact as available/unavailable and versioned/floating42- Identify the weakest link in the reproduction chain43- Flag all silent non-determinism risks44- 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-reproducibility-artifacts/exp_diag_reproducibility_artifacts_{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-reproducibility-artifacts/exp_diag_reproducibility_artifacts_{...}.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**Environment & Dependencies**71- Find dependency files, container definitions, environment setup72- Look for: requirements, Dockerfile, environment.yml, conda, pip, nix, lock7374**Data Provenance**75- Find data download scripts, checksums, versioning76- Look for: download, checksum, hash, version, dvc, data_url, manifest7778**Execution Entry Points**79- Find run scripts, Makefiles, workflow managers80- Look for: Makefile, run.sh, snakemake, nextflow, main, entrypoint, cli8182**Random Seed & Determinism**83- Find seed setting, nondeterminism controls84- Look for: seed, random_state, deterministic, cudnn, PYTHONHASHSEED8586**Output Artifacts & Logging**87- Find result storage, logging, figure generation88- Look for: save, log, output, results, figures, checkpoint, wandb, mlflow8990### Step 2: Map the Reproduction Chain9192Map the full chain from "clone repo" to "reproduce figures." Identify each link:93- Is it documented?94- Is it automated?95- Is it deterministic?96- What is the weakest link?9798### Step 3: Classify Each Artifact Dependency99100**CRITICAL — Analyze Reproduction Chain:**101For every artifact dependency:102- Is the source available (open vs gated)?103- Is the version pinned or floating?104- Is the transform deterministic?105- Could silent environment differences change results?106107Assign a status of Pass, Warn, or Fail to each link in the chain based on reproducibility confidence.108109### Step 4: Create the Diagram110111Use flowchart with:112113**Direction:** `LR` (reproduction chain flows left to right)114115**Subgraphs:**116- SOURCE CODE117- ENVIRONMENT118- DATA119- EXECUTION120- OUTPUTS121122**Node Styling:**123- `cli` class: Entry points and run commands124- `stateNode` class: Versioned and pinned artifacts125- `handler` class: Transforms and scripts126- `output` class: Results and figures127- `gap` class: Missing or undocumented links128- `detector` class: Checksum and validation gates129- `phase` class: External dependencies130131**Edge Labels:** pinned, floating, deterministic, nondeterministic, gated132133### Step 5: Write Output134135Write the diagram to: `{{AUTOSKILLIT_TEMP}}/exp-lens-reproducibility-artifacts/exp_diag_reproducibility_artifacts_{YYYY-MM-DD_HHMMSS}.md` (relative to the current working directory)136137---138139## Output Template140141```markdown142# Reproducibility Artifacts Diagram: {Experiment Name}143144**Lens:** Reproducibility Artifacts (Transparency)145**Question:** Could an independent party reproduce this?146**Date:** {YYYY-MM-DD}147**Scope:** {What was analyzed}148149## Artifact Inventory150151| Artifact | Available? | Versioned? | Deterministic? |152|----------|------------|------------|----------------|153| {artifact} | {Yes/No/Gated} | {Pinned/Floating/None} | {Yes/No/Unknown} |154155## Reproduction Chain Diagram156157```mermaid158%%{init: {'flowchart': {'nodeSpacing': 50, 'rankSpacing': 60, 'curve': 'basis'}}}%%159flowchart 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 Source ["SOURCE CODE"]172 REPO["Git Repository<br/>━━━━━━━━━━<br/>Commit hash<br/>Branch"]173 ENTRY["Entry Point<br/>━━━━━━━━━━<br/>run.sh / Makefile"]174 end175176 subgraph Env ["ENVIRONMENT"]177 DEPS["Dependencies<br/>━━━━━━━━━━<br/>requirements.txt / lock"]178 MISSING["Undocumented Dep<br/>━━━━━━━━━━<br/>No version pin"]179 EXTDEP["External Service<br/>━━━━━━━━━━<br/>API / cloud resource"]180 end181182 subgraph Data ["DATA"]183 RAW["Raw Dataset<br/>━━━━━━━━━━<br/>Checksum available?"]184 CHKSUM["Checksum Gate<br/>━━━━━━━━━━<br/>sha256 / md5"]185 GATED["Gated Dataset<br/>━━━━━━━━━━<br/>Access required"]186 end187188 subgraph Exec ["EXECUTION"]189 SEED["Seed Control<br/>━━━━━━━━━━<br/>PYTHONHASHSEED<br/>random_state"]190 SCRIPT["Pipeline Script<br/>━━━━━━━━━━<br/>Deterministic?"]191 end192193 subgraph Outputs ["OUTPUTS"]194 RESULTS["Results / Metrics<br/>━━━━━━━━━━<br/>Logged?"]195 FIGS["Figures<br/>━━━━━━━━━━<br/>Reproducible?"]196 end197198 %% REPRODUCTION CHAIN %%199 REPO -->|"pinned"| ENTRY200 ENTRY -->|"loads"| DEPS201 DEPS -.->|"floating"| MISSING202 MISSING -.->|"nondeterministic"| SCRIPT203 EXTDEP -->|"gated"| SCRIPT204 RAW -->|"verify"| CHKSUM205 CHKSUM -->|"deterministic"| SCRIPT206 GATED -.->|"gated"| SCRIPT207 SEED -->|"controls"| SCRIPT208 SCRIPT -->|"produces"| RESULTS209 SCRIPT -->|"generates"| FIGS210211 %% CLASS ASSIGNMENTS %%212 class REPO,ENTRY cli;213 class DEPS,RAW stateNode;214 class SCRIPT,SEED handler;215 class EXTDEP phase;216 class RESULTS,FIGS output;217 class CHKSUM detector;218 class MISSING,GATED gap;219```220221**Color Legend:**222| Color | Category | Description |223|-------|----------|-------------|224| Dark Blue | Entry Point | Run commands and source code |225| Teal | Versioned Artifact | Pinned dependencies and checksummed data |226| Orange | Transform / Script | Pipeline scripts and execution steps |227| Purple | External Dependency | External services and APIs |228| Dark Teal | Output | Results, metrics, and figures |229| Red | Validation Gate | Checksum and integrity checks |230| Amber | Missing Link | Undocumented or gated dependencies |231232## Reproduction Checklist233234Step-by-step instructions with pass/fail status:235236- [ ] Clone repository at pinned commit237- [ ] Reproduce environment from lock/container file238- [ ] Download data and verify checksums239- [ ] Set all random seeds as documented240- [ ] Execute pipeline via documented entry point241- [ ] Compare output metrics/figures to reported values242243## Weakest Links244245| Link | Issue | Severity | Recommendation |246|------|-------|----------|----------------|247| {link} | {undocumented/gated/floating/nondeterministic} | {High/Medium/Low} | {action} |248```249250---251252## Pre-Diagram Checklist253254Before creating the diagram, verify:255256- [ ] LOADED `/autoskillit:mermaid` skill using the Skill tool257- [ ] Using ONLY classDef styles from the mermaid skill (no invented colors)258- [ ] Diagram will include a color legend table259260---261262## Related Skills263264- `/autoskillit:make-experiment-diag` - Parent skill for lens selection265- `/autoskillit:mermaid` - MUST BE LOADED before creating diagram266- `/autoskillit:exp-lens-pipeline-integrity` - For data leakage audit267- `/autoskillit:exp-lens-variance-stability` - For result stability across seeds