Research experiment plan
Convert a concrete research claim into a tracked, decisive experiment plan that works either as a standalone planning artifact or as the experiment stage inside a coordinated research workflow. Use when asked to design experiments, define baselines or ablations, decide run order, separate must-run from nice-to-have evidence, or turn a claim plus evaluation goal into a validation plan.From its SKILL.md
npx -y skills add kenantang/codex-and-claude-skills --skill research-experiment-planAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
8.4 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it
Research Experiment Plan
Quick start
- Freeze the claim, decision rule, and anti-claims before listing runs.
- Decide whether this is a standalone plan or the experiment stage inside an orchestrated suite.
- Initialize the full experiment pack with
scripts/init_experiment_pack.pywhenever the plan needs tracked execution. - Build the minimum decisive experiment blocks, not a benchmark wishlist.
- Separate must-run from nice-to-have runs, attach explicit decision gates, and emit bridge-ready outputs for later execution.
Constants
MAX_PRIMARY_CLAIMS = 2unless multiple inseparable claims are truly required.MAX_CORE_BLOCKS = 5unless the evaluation setting forces more.MAX_BASELINE_FAMILIES = 3unless the field norm demands additional families.DEFAULT_SEEDS = 3when stochastic variance matters and budget allows.
Modes
Standalone mode
- Work from the user prompt plus any local notes or result files already present.
- Do not require a suite root.
- Collaboration is still allowed: if novelty review, results audit, or review-loop artifacts exist, use them; if one of those skills would materially improve the plan, recommend or invoke it.
Orchestrated mode
- Prefer the canonical directory
./experiment-plan/. - Read upstream artifacts from
research-brief.md,artifact-index.md,./novelty-review/, and./literature-review/when present. - Keep the experiment outputs easy for downstream paper planning and review to consume.
Input contract
- Minimum:
- a concrete claim or hypothesis
- an evaluation goal or target decision
- Prefer:
- baselines under consideration
- constraints on data, compute, or deadlines
- known reviewer objections
- existing novelty or literature artifacts
Hard stops
- Stop if the claim is still too vague to falsify.
- Stop if the evaluation target is undefined.
- Stop if the proposed experiment block mixes too many interventions to interpret cleanly.
- In standalone mode, do not force extra structure when a compact direct answer is sufficient.
Output contract
- Primary files:
experiment-plan.mdexperiment-tracker.mdclaim-map.jsonrun-blocks.jsondecision-gates.mdexecution-bridge.md
- In orchestrated mode, these live under
./experiment-plan/. - In standalone mode, any target directory is valid.
claim-map.jsonis the machine-readable source of truth for claims, anti-claims, and evidence thresholds.run-blocks.jsonis the machine-readable source of truth for experiment blocks, dependencies, and pass/fail criteria.decision-gates.mdrecords the checkpoints that can halt or narrow the plan before expensive runs.execution-bridge.mdtranslates the plan into implementation-ready instructions without forcing another skill to reverse-engineer the planning intent.
Workflow
0) Load the proposal context before inventing runs
- Read the strongest available upstream artifacts first:
research-brief.mdnovelty-review/novelty-report.mdliterature-review/*.review.mdreview-loop/REVIEW_STATE.json- existing result tables or audit notes
- Extract:
- problem anchor
- dominant contribution
- optional supporting contribution
- reviewer-relevant failure modes
- data, compute, and deadline constraints
- If these are missing, derive the same fields explicitly from the user prompt before planning any block.
1) Freeze the claim map
- Use
references/claim-evidence-map-template.md. - Write:
- primary claim
- optional supporting claim
- anti-claims to rule out
- minimum convincing evidence
- cap the number of primary/supporting claims aggressively
- define what result would force reframing or abandonment
- If the claim map is unstable, revise it before planning runs.
- Record the claim map in both
experiment-plan.mdandclaim-map.json.
2) Build the experimental storyline before the detailed blocks
- Start from a compact default storyline and delete any block that does not defend the paper:
- main anchor result
- novelty isolation
- simplicity or elegance check
- frontier-necessity check when a frontier-model-era component is central
- failure analysis or qualitative diagnosis
- Mark each storyline block as:
- main paper
- appendix
- cut
- A stronger modern baseline is preferable to many weak baselines.
- If the project is intentionally non-frontier, say so explicitly and skip the frontier-necessity block rather than forcing one.
3) Build decisive experiment blocks
- Use
references/experiment-plan-template.md. - Use
references/experiment-block-schema.md. - Group runs into named blocks with a single purpose each.
- Every block must answer a reviewer-relevant question, not just produce another number.
- Label each block:
- must-run
- nice-to-have
- defer
- For every kept block, specify:
- claim tested
- anti-claim ruled out
- why this block exists
- dataset / split / task
- compared systems
- decisive metrics
- setup details
- success criterion
- failure interpretation
- expected paper artifact
- compute budget
- dependencies
- Write the block objects to
run-blocks.jsonrather than leaving the critical structure only in prose.
4) Tighten controls and ablations
- Use
references/control-and-ablation-checklist.md. - Require a fair comparison protocol and the minimum ablations needed to isolate the claimed factor.
- Flag hidden changes such as altered data, training time, search budget, or model capacity.
- A simplicity check should usually compare the final method against an overbuilt or tempting extra-component variant.
- A frontier-necessity check should compare the chosen modern component against the strongest simpler plausible alternative.
5) Build the run order and decision gates
- Use
references/run-order-template.md. - Use
references/decision-gates-template.md. - Put must-run blocks first.
- Add stop/go gates so later runs depend on what earlier runs actually show.
- Every must-run block needs:
- a gate that opens it
- a condition that advances the plan
- a condition that forces revision
- a condition that stops the plan
- Track expected outputs and lifecycle state in
experiment-tracker.md. - Use tracker statuses:
plannedreadyblockedrunninganalyzeddecisiveinconclusivedropped
6) Emit the execution bridge
- Use
references/execution-bridge-template.md. - For each must-run block, record:
- exact upstream claim IDs
- required inputs and datasets
- expected command or implementation entrypoint if known
- output artifacts the auditor or paper planner should look for
- blockers that must be resolved before someone starts coding or submitting jobs
- Keep
execution-bridge.mdconcise and implementation-facing. It exists so later stages do not have to reconstruct planning intent from a narrative plan.
7) Record risks and collaboration hooks
- Use
references/risk-confound-checklist.md. - If novelty is still uncertain, pull in
research-novelty-review. - If existing results already exist, pull in
research-results-auditor. - If the plan will later feed a draft or response to reviewers, keep outputs legible to
research-paper-planandresearch-review-loop. - Validate tracked packs with
scripts/validate_experiment_pack.pybefore treating them as stable stage artifacts.
References
references/experiment-plan-template.mdreferences/claim-evidence-map-template.mdreferences/experiment-block-schema.mdreferences/run-order-template.mdreferences/decision-gates-template.mdreferences/execution-bridge-template.mdreferences/control-and-ablation-checklist.mdreferences/risk-confound-checklist.mdreferences/tabmol-ddi-ood-adapter.md
Scripts
scripts/init_experiment_pack.py: create the full experiment-planning pack in a standalone directory or the suite'sexperiment-plan/directory.scripts/validate_experiment_pack.py: validate required headings, JSON structure, gate references, and tracker states for tracked experiment packs.
What ships with it: 12 files
17.5 KB alongside SKILL.md, 2 of them executable
agents/
- openai.yaml373 B
references/
scripts/
- init_experiment_pack.pyruns4.1 KB
- validate_experiment_pack.pyruns7.8 KB