Home
cd ../playbooks
Academic ResearchBeginner

Research Exploration Sandbox

Create a structured explorations/ folder for experimental work. Fast-track experiments without full rigor, then graduate successful ones to production code.

5 minutes
By communitySource
#research#exploration#experiments#sandbox#prototyping#workflow

Your experiments are scattered across 15 Jupyter notebooks with names like 'test_v3_final_FINAL.ipynb.' When something works, you can't remember which notebook had the good version. A structured exploration sandbox lets you experiment freely while keeping a clear path from prototype to production code.

Who it's for: research scientists managing multiple concurrent experiments, PhD students organizing exploratory analysis alongside thesis code, data scientists prototyping models before production deployment, ML engineers separating experimental from production code, lab managers establishing reproducible research workflows for their teams

Example

"Set up a research sandbox for my deep learning experiments" → Structured workspace: explorations/ folder with timestamped experiment directories, standard template for each experiment (hypothesis, setup, results, conclusions), auto-logging of parameters and outcomes, graduation criteria for promoting experiments to main codebase, and a experiment index for quick reference

CLAUDE.md Template

New here? 3-minute setup guide → | Already set up? Copy the template below.

# Exploration Protocol

## The Problem

Without structure, experimental code scatters across the repository:
- Test scripts in `scripts/`
- One-off files in root
- "Temporary" code that lives forever
- No one knows which version was the good one

## The Solution: Exploration Folder

All experimental work goes into `explorations/` first:

```
explorations/
├── [active-project]/
│   ├── README.md          # Goal, hypothesis, status
│   ├── code/              # Iterations (_v1, _v2, _v3)
│   ├── data/              # Test data, inputs
│   └── output/            # Results, generated files
└── ARCHIVE/
    ├── completed_[name]/  # Graduated to production
    └── abandoned_[name]/  # Documented why stopped
```

## Starting an Exploration

Before coding, create the structure:

```
mkdir -p explorations/[project-name]/{code,data,output}
```

Create `explorations/[project-name]/README.md`:
```markdown
# Exploration: [Name]

## Goal
[What are you trying to learn or build?]

## Hypothesis
[What do you expect to happen?]

## Status
[ ] In progress / [x] Completed / [ ] Abandoned

## Notes
[Running notes as you work]

## Outcome
[What did you learn? Did hypothesis hold?]
```

## Fast-Track vs Plan-First

| Question | Answer | Workflow |
|----------|--------|----------|
| "Will this ship?" | YES | Plan-First (80/100 quality) |
| "Am I testing an idea?" | YES | Fast-Track (60/100 quality) |
| "Does this improve the project?" | NO | Don't build it |

### Fast-Track Rules (for explorations only)
- Skip formal planning
- 60/100 quality threshold (vs 80 for production)
- No PR required
- Document as you go, not after
- Can abandon anytime with brief note

## Research Value Check (2 minutes)

Before starting ANY exploration:

1. "Does this improve the paper/product/analysis?"
   - **Yes** → Explore
   - **Maybe** → Explore (quick test)
   - **No** → Skip

2. "Is this the smallest experiment that could validate the idea?"
   - If no, scope down first

## Lifecycle

```
Research value check (2 min)
        ↓
Create explorations/[project]/ (5 min)
        ↓
Code without overhead (60/100 quality)
        ↓
Decision point (1-2 hours):
├── Graduate → Move to src/, upgrade to 80/100
├── Keep exploring → Stay in explorations/
└── Abandon → Move to ARCHIVE/ with explanation
```

## Graduation Process

When exploration succeeds:
1. Document what worked in the README
2. Refactor code to production standards (80/100)
3. Move to appropriate production location
4. Update imports, tests, documentation
5. Move exploration folder to `ARCHIVE/completed_[name]/`

## Abandonment Process

When exploration fails or isn't worth continuing:
1. Document WHY in the README (so future-you doesn't retry)
2. Note any partial learnings
3. Move to `ARCHIVE/abandoned_[name]/`
4. No shame — failed experiments are valuable data

## Kill Switch

At any point, you can stop:
- Archive with one-paragraph explanation
- No sunk cost guilt
- Move on to next idea
README.md

What This Does

This playbook creates a structured sandbox for experimental work. Instead of scattering test scripts and experiments across your codebase, all exploratory work goes into explorations/ first. You can work fast without full rigor, then graduate successful experiments to production or archive failures with documentation.

Prerequisites

  • Claude Code installed and configured
  • A project where you do experimental/research work explorations/ ├── [active-project]/ │ ├── README.md # Goal, hypothesis, status │ ├── code/ # Iterations (_v1, v2, v3) │ ├── data/ # Test data, inputs │ └── output/ # Results, generated files └── ARCHIVE/ ├── completed[name]/ # Graduated to production └── abandoned[name]/ # Documented why stopped

## Starting an Exploration

Before coding, create the structure:

mkdir -p explorations/[project-name]/{code,data,output}


Create `explorations/[project-name]/README.md`:
```markdown
# Exploration: [Name]

## Goal
[What are you trying to learn or build?]

## Hypothesis
[What do you expect to happen?]

## Status
[ ] In progress / [x] Completed / [ ] Abandoned

## Notes
[Running notes as you work]

## Outcome
[What did you learn? Did hypothesis hold?]

Fast-Track vs Plan-First

Question Answer Workflow
"Will this ship?" YES Plan-First (80/100 quality)
"Am I testing an idea?" YES Fast-Track (60/100 quality)
"Does this improve the project?" NO Don't build it

Fast-Track Rules (for explorations only)

  • Skip formal planning
  • 60/100 quality threshold (vs 80 for production)
  • No PR required
  • Document as you go, not after
  • Can abandon anytime with brief note

Research Value Check (2 minutes)

Before starting ANY exploration:

  1. "Does this improve the paper/product/analysis?"

    • Yes → Explore
    • Maybe → Explore (quick test)
    • No → Skip
  2. "Is this the smallest experiment that could validate the idea?"

    • If no, scope down first

Lifecycle

Research value check (2 min)
        ↓
Create explorations/[project]/ (5 min)
        ↓
Code without overhead (60/100 quality)
        ↓
Decision point (1-2 hours):
├── Graduate → Move to src/, upgrade to 80/100
├── Keep exploring → Stay in explorations/
└── Abandon → Move to ARCHIVE/ with explanation

Graduation Process

When exploration succeeds:

  1. Document what worked in the README
  2. Refactor code to production standards (80/100)
  3. Move to appropriate production location
  4. Update imports, tests, documentation
  5. Move exploration folder to ARCHIVE/completed_[name]/

Abandonment Process

When exploration fails or isn't worth continuing:

  1. Document WHY in the README (so future-you doesn't retry)
  2. Note any partial learnings
  3. Move to ARCHIVE/abandoned_[name]/
  4. No shame — failed experiments are valuable data

Kill Switch

At any point, you can stop:

  • Archive with one-paragraph explanation
  • No sunk cost guilt
  • Move on to next idea

## Step-by-Step Setup

### Step 1: Create the explorations structure

```bash
mkdir -p explorations/ARCHIVE

Step 2: Add to your CLAUDE.md

Add the exploration protocol to your project's CLAUDE.md.

Step 3: Start your first exploration

mkdir -p explorations/test-new-api/{code,data,output}

Create the README:

# Exploration: Test New API

## Goal
Evaluate whether the new Stripe API v3 simplifies our checkout flow

## Hypothesis
v3 should reduce checkout code by 30% and eliminate the webhook complexity

## Status
[ ] In progress

## Notes
- Starting exploration 2024-01-15

Example Usage

User:

"I want to experiment with using DuckDB instead of SQLite for analytics queries"

Claude:

Starting exploration for DuckDB evaluation.

Created structure:

explorations/duckdb-analytics/
├── README.md
├── code/
├── data/
└── output/

README.md:

# Exploration: DuckDB for Analytics

## Goal
Evaluate if DuckDB improves analytics query performance over SQLite

## Hypothesis
DuckDB's columnar storage should make aggregate queries 5-10x faster

## Status
[ ] In progress

## Test Plan
1. Import sample data (1M rows)
2. Run benchmark queries in both DBs
3. Compare query times
4. Assess integration complexity

Ready to start coding. Should I begin with the data import script?

Later - Graduation:

"The exploration succeeded. DuckDB is 8x faster. Graduate to production."

Claude:

Graduating DuckDB exploration:

  1. Refactoring explorations/duckdb-analytics/code/queries.py to production standards
  2. Moving to src/analytics/duckdb_queries.py
  3. Adding tests in tests/analytics/
  4. Updating README with integration notes
  5. Moving exploration to explorations/ARCHIVE/completed_duckdb-analytics/

Done. DuckDB is now production-ready in src/analytics/.

Tips

  • Default to explorations/: When unsure if something will ship, start in explorations. Easier to graduate than to extract.
  • Version your iterations: Use _v1, _v2, _v3 suffixes. Don't delete old versions until exploration completes.
  • Document as you go: "I'll document later" means never. Quick notes now > detailed docs never.
  • Abandon freely: Knowing what doesn't work is valuable. Archive with notes and move on.

Troubleshooting

Problem: Explorations never get graduated

Solution: Set time limits. "If not graduated in 2 weeks, either complete or archive."

Problem: explorations/ folder is cluttered

Solution: Archive aggressively. Anything older than a month should be graduated or archived.

Problem: Exploration code quality is too low even for experiments

Solution: Even fast-track code should run. 60/100 means "works but not polished," not "broken."

$Related Playbooks

Academic Research

Research Ideation Generator

Generate research questions, hypotheses, and empirical strategies. Brainstorm ideas systematically with structured prompts that push beyond obvious approaches.

5 minutes
Beginner
Academic Research

Scientific Adaptyv

Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein ...

10 minutes
Intermediate
Academic Research

Scientific Alphafold Database

Access AlphaFold 200M+ AI-predicted protein structures. Retrieve structures by UniProt ID, download PDB/mmCIF files, analyze confidence metrics (pLDDT, PAE), for drug discovery and structural biology.

10 minutes
Intermediate
Academic Research

Scientific Anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; f...

10 minutes
Intermediate
Academic Research

Scientific Arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships a...

10 minutes
Intermediate
Academic Research

Scientific Benchling Integration

Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.

10 minutes
Intermediate
Academic Research

Scientific Bindingdb Database

Query BindingDB for measured drug-target binding affinities (Ki, Kd, IC50, EC50). Search by target (UniProt ID), compound (SMILES/name), or pathogen. Essential for drug discovery, lead optimization, polypharmacology analysis, and structure-activit...

5 minutes
Beginner
Academic Research

Scientific Biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation...

10 minutes
Intermediate
Academic Research

Scientific Biorxiv Database

Efficient database search tool for bioRxiv preprint server. Use this skill when searching for life sciences preprints by keywords, authors, date ranges, or categories, retrieving paper metadata, downloading PDFs, or conducting literature reviews.

5 minutes
Beginner
Academic Research

Scientific Bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick singl...

10 minutes
Intermediate
Academic Research

Scientific Brenda Database

Access BRENDA enzyme database via SOAP API. Retrieve kinetic parameters (Km, kcat), reaction equations, organism data, and substrate-specific enzyme information for biochemical research and metabolic pathway analysis.

5 minutes
Beginner
Academic Research

Scientific Cbioportal Database

Query cBioPortal for cancer genomics data including somatic mutations, copy number alterations, gene expression, and survival data across hundreds of cancer studies. Essential for cancer target validation, oncogene/tumor suppressor analysis, and p...

5 minutes
Beginner

Browse all Academic Research playbooks →