Design fair comparative experiments for a fixed research proposal: controls, data and training budgets, tuning, seeds, evaluation, ablations and run order. Use for an experiment roadmap or comparison design.
Installs into .claude/skills of the current project.
Are you the author of Experiment Plan?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/soceremite-experiment-plan-evoinquiry)
---
name: "experiment-plan"
description: "Design fair comparative experiments for a fixed research proposal: controls, data and training budgets, tuning, seeds, evaluation, ablations and run order. Use for an experiment roadmap or comparison design."
---
<!-- EVO-INQUIRY:BEGIN -->
For research work, read [EvoInquiry](../shared-references/evo-inquiry.md),
or reuse it if already loaded and unchanged in this session. Apply relevant
principles within the user's scope and this skill's existing outputs, review
standards, and recovery contracts. Carry them into nested research tasks and
reviewer briefs. Continue authorized work through its necessary steps; honor
budgets, blocking checkpoints, and stopping conditions.
For planning, read [task-scope](../shared-references/task-scope.md): write common settings once and reserve time for artifact verification and delivery. Include the relevant [storage and recovery budget](../shared-references/experiment-storage.md); estimates may remain labeled execution prerequisites.
Plan active recovery and end-of-training cleanup separately. Prefer the completed comparison group's validation-selected winner weights, identifying future model dependencies and when the user must choose retention scope.
For this stage, read [project-governance](../shared-references/project-governance.md). Freeze a versioned experiment spec with declared variant/seed slots, protocol/data/split/evaluator refs, storage/compute budget and failure aggregation. A new spec revision does not grant execution resources.
For comparative planning, load [comparative-experiments](../shared-references/comparative-experiments.md). State controlled, equal-budget or tuned comparison; freeze data/splits/evaluator, training and search accounting, validation selection, independent seed slots and failure rules. Use common settings plus justified method differences. Three seeds is a starting estimate; choose repetitions for precision and budget, and label unknowns.
For a planning-only request, batch relevant context/reference reads and reuse
unchanged guidance already loaded. Write the core plan and required compact
tracker before optional elaboration. Record unknown resource estimates and
unresolved execution references as prerequisites; do not probe or initialize a
runtime merely to fill them. Preserve the existing spec and output contracts.
Carry the supplied resource quantities into the feasibility calculation; keep
provided values, derived totals and genuinely unknown estimates distinct. If
the requested combination cannot fit, save that calculation and the compact
tracker with the affected executions blocked and concrete feasible changes.
Resource infeasibility does not remove the planning deliverables.
<!-- EVO-INQUIRY:END -->
# Experiment Plan: Claim-Driven, Paper-Oriented Validation
Refine and concretize: **$ARGUMENTS**
## Overview
Use this skill after the method is stable enough that the next question becomes: **what exact experiments should we run, in what order, to test the proposal and distinguish alternative explanations?** If the user wants the full chain in one request, prefer `/research-refine-pipeline`.
The goal is not to generate a giant benchmark wishlist. The goal is to turn a proposal into a **claim -> evidence -> run order** roadmap that supports four things:
1. the method actually solves the anchored problem
2. the dominant contribution is real and focused
3. the method is elegant enough that extra complexity is unnecessary
4. any frontier-model-era component is genuinely useful, not decorative
## Constants
- **OUTPUT_DIR = `refine-logs/`** — Default destination for experiment planning artifacts.
- **MAX_PRIMARY_CLAIMS = 2** — Prefer one dominant claim plus one supporting claim.
- **MAX_CORE_BLOCKS = 5** — Keep the must-run experimental story compact.
- **MAX_BASELINE_FAMILIES = 3** — Prefer a few strong baselines over many weak ones.
- **DEFAULT_SEEDS = 3** — A planning starting point, not a sufficiency rule. Justify independent repetitions using variability, desired precision and budget; preserve failed and missing seed slots.
## Workflow
### Phase 0: Load the Proposal Context
Read the most relevant existing files first if they exist:
- `refine-logs/FINAL_PROPOSAL.md`
- `refine-logs/REVIEW_SUMMARY.md`
- `refine-logs/REFINEMENT_REPORT.md`
Extract:
- **Problem Anchor**
- **Dominant contribution**
- **Optional supporting contribution**
- **Critical reviewer concerns**
- **Data / compute / timeline constraints**
- **Which frontier primitive is central, if any**
If these files do not exist, derive the same information from the user's prompt.
### Phase 1: Freeze the Paper Claims
Before proposing experiments, write down the claims to test, together with results that would support, weaken or fail to distinguish them.
Use this structure:
- **Primary claim**: the main mechanism-level contribution
- **Supporting claim**: optional, only if it directly strengthens the main paper story
- **Anti-claim to rule out**: e.g. "the gain only comes from more parameters," "the gain only comes from a larger search space," or "the modern component is just decoration"
- **Minimum convincing evidence**: what would make each claim believable to a strong reviewer?
Do not exceed `MAX_PRIMARY_CLAIMS` unless the paper truly has multiple inseparable claims.
### Phase 2: Build the Experimental Storyline
Design the paper around a compact set of experiment blocks. Default to the following blocks and delete any that are not needed:
1. **Main anchor result** — does the method solve the actual bottleneck?
2. **Novelty isolation** — does the dominant contribution itself matter?
3. **Simplicity / elegance check** — can a bigger or more fragmented version be avoided?
4. **Frontier necessity check** — if an LLM / VLM / Diffusion / RL-era component is central, is it actually the right tool?
5. **Case studies and failure diagnosis** — where does the method improve, regress or still fail?
For each block, decide whether it belongs in:
- **Main paper** — essential to test the primary claims and competing explanations
- **Appendix** — useful but non-blocking
- **Cut** — interesting, but not worth the paper budget
Prefer one strong baseline family over many weak baselines. If a stronger modern baseline exists, use it instead of padding the list.
### Phase 3: Specify Each Experiment Block
For every kept block, fully specify:
- **Claim tested**
- **Why this block exists**
- **Dataset / split / task**
- **Compared systems**: strongest baselines, ablations, and variants only
- **Metrics**: decisive metrics first, secondary metrics second
- **Setup details**: backbone, frozen vs trainable parts, key hyperparameters, training budget, seeds
- **Success criterion**: what outcome would count as convincing evidence?
- **Failure interpretation**: if the result is negative, what does it mean?
- **Table / figure target**: where this result should appear in the paper
- **Sample-level evidence, when relevant**: stable IDs, targets, paired predictions/output references and relevant run/draw/timestamp settings; budget a small retained diagnostic subset using [case-study-analysis](../shared-references/case-study-analysis.md)
Special rules:
- A **simplicity check** should usually compare the final method against either an overbuilt variant or a tempting extra component that the paper intentionally rejects.
- A **frontier necessity check** should usually compare the chosen modern primitive against the strongest plausible simpler or older alternative.
- If the proposal is intentionally non-frontier, say so explicitly and skip the frontier block instead of forcing one.
Plan the case-selection population, outcome-independent sample and diagnostic contrasts before inspecting test outputs where feasible. Record any later exploratory selection. Include both successful and failed outcomes when present, without requiring arbitrary quotas or storing every generated asset. Start diagnosis as baseline/main results become available; final presentation may wait for polish.
### Phase 4: Turn the Plan Into an Execution Order
Build a realistic run order so the user knows what to do first.
Use this milestone structure:
1. **Sanity stage** — data pipeline, metric correctness, one quick overfit or toy split
2. **Baseline stage** — reproduce the strongest baseline(s)
3. **Main method stage** — run the final method on the primary setting
4. **Decision stage** — run the decisive ablations for novelty, simplicity, and frontier necessity
5. **Polish stage** — robustness, final case panels and appendix extras
For each milestone, estimate:
- compute cost
- expected turnaround time
- stop / go decision gate
- risk and mitigation
Separate **must-run** from **nice-to-have** experiments.
### Phase 5: Write the Outputs
#### Step 5.1: Write `refine-logs/EXPERIMENT_PLAN.md`
Use this structure:
```markdown
# Experiment Plan
**Problem**: [problem]
**Method Thesis**: [one-sentence thesis]
**Date**: [today]
## Claim Map
| Claim | Why It Matters | Minimum Convincing Evidence | Linked Blocks |
|-------|-----------------|-----------------------------|---------------|
| C1 | ... | ... | B1, B2 |
## Paper Storyline
- Main paper must prove:
- Appendix can support:
- Experiments intentionally cut:
## Experiment Blocks
### Block 1: [Name]
- Claim tested:
- Why this block exists:
- Dataset / split / task:
- Compared systems:
- Metrics:
- Setup details:
- Success criterion:
- Failure interpretation:
- Table / figure target:
- Priority: MUST-RUN / NICE-TO-HAVE
### Block 2: [Name]
...
## Run Order and Milestones
| Milestone | Goal | Runs | Decision Gate | Cost | Risk |
|-----------|------|------|---------------|------|------|
| M0 | ... | ... | ... | ... | ... |
## Compute and Data Budget
- Total estimated GPU-hours:
- Data preparation needs:
- Human evaluation needs:
- Biggest bottleneck:
## Risks and Mitigations
- [Risk]:
- [Mitigation]:
## Final Checklist
- [ ] Main paper tables are covered
- [ ] Novelty is isolated
- [ ] Simplicity is defended
- [ ] Frontier contribution is justified or explicitly not claimed
- [ ] Nice-to-have runs are separated from must-run runs
```
#### Step 5.2: Write `refine-logs/EXPERIMENT_TRACKER.md`
Use this structure:
```markdown
# Experiment Tracker
| Run ID | Milestone | Purpose | System / Variant | Split | Metrics | Priority | Status | Notes |
|--------|-----------|---------|------------------|-------|---------|----------|--------|-------|
| R001 | M0 | sanity | ... | ... | ... | MUST | TODO | ... |
```
Keep the tracker compact and execution-oriented.
#### Step 5.3: Present a Brief Summary to the User
```
Experiment plan ready.
Must-run blocks:
- [Block 1]
- [Block 2]
Highest-risk assumption:
- [risk]
First three runs to launch:
1. [run]
2. [run]
3. [run]
Plan file: refine-logs/EXPERIMENT_PLAN.md
Tracker file: refine-logs/EXPERIMENT_TRACKER.md
```
## Output Protocols
> Follow these shared protocols for all output files:
> - **[Output Versioning Protocol](../shared-references/output-versioning.md)** — write timestamped file first, then copy to fixed name
> - **[Output Manifest Protocol](../shared-references/output-manifest.md)** — log every output to MANIFEST.md
> - **[Output Language Protocol](../shared-references/output-language.md)** — respect the project's language setting
## Key Rules
- **Large file handling**: If the Write tool fails due to file size, immediately retry using Bash (`cat << 'EOF' > file`) to write in chunks. Do NOT ask the user for permission — just do it silently.
- **Every experiment must test a claim or distinguish an explanation.** If it does not change a reviewer belief, cut it.
- **Prefer a compact paper story.** Design the primary comparison first, then include ablations that can distinguish explanations.
- **Defend simplicity explicitly.** If complexity is a concern, include a deletion study or a stronger-but-bloated variant comparison.
- **Defend frontier choices explicitly.** If a modern primitive is central, test it against the strongest relevant simpler alternative; specify outcomes under which it offers no advantage.
- **Prefer strong baselines over long baseline lists.** A short, credible comparison set is better than a padded one.
- **Separate must-run from nice-to-have.** Do not let appendix ideas delay the core paper evidence.
- **Reuse proposal constraints.** Do not invent unrealistic budgets or data assumptions.
- **Do not fabricate results.** Plan evidence; do not claim evidence.
## Composing with Other Skills
```
/research-refine-pipeline -> one-shot method + experiment planning
/research-refine -> method and claim refinement
/experiment-plan -> detailed experiment roadmap
/run-experiment -> execute the runs
/auto-review-loop -> react to results and iterate on the paper
```