# Exp Lens Reproducibility Artifacts

> 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?

- **Type:** Skill
- **Install:** `agentstack add skill-trecek-useful-claude-skills-exp-lens-reproducibility-artifacts`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Trecek](https://agentstack.voostack.com/s/trecek)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Trecek](https://github.com/Trecek)
- **Source:** https://github.com/Trecek/useful-claude-skills/tree/main/.claude/skills/exp-lens-reproducibility-artifacts

## Install

```sh
agentstack add skill-trecek-useful-claude-skills-exp-lens-reproducibility-artifacts
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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

## When to Use

- Evaluating reproducibility of computational experiments
- Auditing artifact completeness
- Checking for undocumented dependencies
- User invokes `/exp-lens-reproducibility-artifacts` or `/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

**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 `/mermaid` skill using the Skill tool - this is MANDATORY

---

## Analysis Workflow

### 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: `temp/exp-lens-reproducibility-artifacts/exp_diag_reproducibility_artifacts_{YYYY-MM-DD_HHMMSS}.md`

---

## Output Template

```markdown
# 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━━━━━━━━━━Commit hashBranch"]
        ENTRY["Entry Point━━━━━━━━━━run.sh / Makefile"]
    end

    subgraph Env ["ENVIRONMENT"]
        DEPS["Dependencies━━━━━━━━━━requirements.txt / lock"]
        MISSING["Undocumented Dep━━━━━━━━━━No version pin"]
        EXTDEP["External Service━━━━━━━━━━API / cloud resource"]
    end

    subgraph Data ["DATA"]
        RAW["Raw Dataset━━━━━━━━━━Checksum available?"]
        CHKSUM["Checksum Gate━━━━━━━━━━sha256 / md5"]
        GATED["Gated Dataset━━━━━━━━━━Access required"]
    end

    subgraph Exec ["EXECUTION"]
        SEED["Seed Control━━━━━━━━━━PYTHONHASHSEEDrandom_state"]
        SCRIPT["Pipeline Script━━━━━━━━━━Deterministic?"]
    end

    subgraph Outputs ["OUTPUTS"]
        RESULTS["Results / Metrics━━━━━━━━━━Logged?"]
        FIGS["Figures━━━━━━━━━━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:

- [ ] Clone repository at pinned commit
- [ ] Reproduce environment from lock/container file
- [ ] Download data and verify checksums
- [ ] Set all random seeds as documented
- [ ] Execute pipeline via documented entry point
- [ ] Compare output metrics/figures to reported values

## Weakest Links

| Link | Issue | Severity | Recommendation |
|------|-------|----------|----------------|
| {link} | {undocumented/gated/floating/nondeterministic} | {High/Medium/Low} | {action} |
```

---

## 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-pipeline-integrity` - For data leakage audit
- `/exp-lens-variance-stability` - For result stability across seeds

## 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.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-trecek-useful-claude-skills-exp-lens-reproducibility-artifacts
- Seller: https://agentstack.voostack.com/s/trecek
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
