Skip to content

Guide · Agent skill

How to use the Experimental Design Planner agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The Experimental Design Planner is an agent skill that helps you plan a study before any data is collected. It helps you choose a design type, assign units to groups, and lay out multi-factor experiments so the results can be interpreted. This guide explains what agent skills are, how to install this one, how to ask for help with natural requests, and what it needs to run.

Experimental Design PlannerK-Dense-AI/scientific-agent-skills · MIT

Quick start

  1. 1Download the ZIP. Download the experimental-design skill ZIP from this page.
  2. 2Install the skill. Unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
  3. 3Create the Python environment. Run the uv commands to create .venv-design with Python 3.13 and install numpy 2.5.3, pandas 3.0.6 and pydoe 1.5.0.
  4. 4Describe your study. Ask in plain language, giving the number of units, the groups or factors, and any known nuisance factors.
  5. 5Review the recommended design. Check the design type the agent chooses and confirm it matches how your units can be assigned.
  6. 6Generate and check the schedule. Have the agent produce the allocation or design matrix, run arm balance checks, and save the CSV with the seed recorded.

What the experimental-design skill makes the agent do

An agent skill is a folder of instructions and optional scripts that an AI agent loads when a request matches the skill's description. This one covers the planning stage of research: choosing a design, randomizing, blocking, and laying out treatment combinations.

The skill's guidance is built on three principles: randomization to balance confounders, replication so effects are not artifacts of one unit, and blocking to remove known nuisance variation. Its reference files cover randomized, blocked, factorial, crossover, split-plot, cluster and sequential designs.

  • Chooses a design type based on your question and your units, for example completely randomized, randomized block, crossover, cluster, factorial, response-surface or sequential.
  • Explains how to avoid confounding and pseudoreplication.
  • Generates seeded allocation schedules (simple, block, stratified block, cluster) and factorial run layouts with bundled Python scripts.
  • Produces design matrices in real factor units through wrappers around pydoe.

Install the experimental-design skill

Download the ZIP for the skill from this page. Then choose one of two routes.

For Claude Code, unzip the download into your personal skills folder ~/.claude/skills/ to use it everywhere, or into a project's .claude/skills/ folder to use it only in that project.

For the Claude apps, upload the ZIP under Settings → Capabilities → Skills.

  • Personal install: ~/.claude/skills/
  • Project install: .claude/skills/ inside your project folder
  • Claude apps: Settings → Capabilities → Skills

Set up the Python environment for the scripts

The scripts need Python 3.12 or newer. The setup instructions in the skill use Python 3.13, and they recommend uv to create the environment, though uv is not strictly required. The required packages are numpy 2.5.3, pandas 3.0.6 and pydoe 1.5.0.

The skill's installation instructions use the following commands. Run them from a terminal.

  • Network access is needed only to install these packages. No credentials are required.
  • On Windows, the environment interpreter is .venv-design/Scripts/python.exe.
  • pyDOE3 was archived in May 2026; the skill targets pydoe 1.5.0, imported as lowercase pydoe.
uv venv --python 3.13 .venv-design uv pip install --python .venv-design/bin/python "numpy==2.5.3" "pandas==3.0.6" "pydoe==1.5.0"

Trigger the skill with natural requests

You do not need to name the skill. The agent loads it when your request matches its description. Informal phrasing works, so describe your study in plain language.

Useful triggers include questions about how to set up an experiment, how to avoid confounding, what the best way is to test a set of factors, and how to assign a set of mice or samples to conditions. Include the number of units and the factors you want to test when you can, because the design depends on them.

  • How should I set up this experiment comparing two diets in 60 mice?
  • How do I avoid confounding if my samples come from three batches?
  • What's the best way to test these 6 factors with a limited number of runs?
  • Assign these 40 subjects to treatment and control, stratified by site.

Generate an allocation schedule

For a simple or blocked assignment, the agent can use scripts/randomization.py. The example below shows the functions the skill provides. The default seed is for demonstrations. For a real allocation, choose and securely record a study-specific seed.

The skill notes that permuted blocks balance only at completed-block boundaries, so a partial final block may not have the requested ratio. The schedule can be exported to CSV.

  • simple_randomization: fine for large n, but can produce imbalance with small n.
  • block_randomization: enforces the ratio within each complete block.
  • stratified_block_randomization: does this independently within each stratum.
  • cluster_randomization: required when the intervention is delivered to groups.
from randomization import ( simple_randomization, block_randomization, stratified_block_randomization, cluster_randomization, assign_factorial_runs, arm_balance, ) sched = block_randomization(n=60, arms=["treatment", "control"], seed=42) arm_balance(sched) sched.to_csv("allocation_schedule.csv", index=False)

Safety notes: scripts and network use

This skill runs Python scripts and uses the network during setup to install packages. Read the scripts before running them if you want to confirm what they do, and install packages into a dedicated environment as shown above.

The scripts do not implement an enrollment system or conceal future assignments from recruiters. For regulated trials, a formal randomization service is needed.

  • Uses network access only to install packages.
  • Runs bundled scripts (scripts/doe_designs.py and scripts/randomization.py).
  • Not a live enrollment or concealed allocation system.

Tips for getting reliable results

Record the seed and the environment versions along with the exported schedule. The skill notes that a seed alone does not promise identical output across package or script upgrades.

Describe the unit of randomization. If you can only assign whole clinics or classrooms, say so, because that calls for a cluster design. Design choices cannot repair a confounded design after data is collected, so settle the design before you run the study.

  • Archive the environment versions and exported schedules.
  • Tell the agent how many units and factors you have.
  • Mention known nuisance factors such as day, batch, site or litter so blocking can be considered.

What people use it for

  • Planning a two-arm lab or clinical comparison with a seeded block randomization schedule.
  • Assigning samples to plates or batches with blocking by batch and randomized run order.
  • Screening six or more factors with a fractional factorial or Plackett-Burman design.
  • Setting up a cluster-randomized study where whole clinics or schools are assigned to arms.
  • Planning a crossover study with attention to carry-over between periods.

Frequently asked questions

How do I install the experimental-design agent skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. In the Claude apps, you can instead upload the ZIP under Settings → Capabilities → Skills.

What do I need to run the experimental-design skill?

You need Python 3.12 or newer, with numpy 2.5.3, pandas 3.0.6 and pydoe 1.5.0. The setup instructions use Python 3.13 and suggest uv, which is not strictly required. Network access is needed only to install packages, and no credentials are required.

Is the experimental-design skill free to use?

The skill is published under the MIT licence, as stated on this page. Check the licence file in the download for the full terms.

Can this skill calculate sample size or statistical power?

No. For computing sample size or power once the design is chosen, the skill points you to a separate statistical-power skill. For analyzing data already collected, it points to statistical-analysis.

Can I use this skill to run a clinical trial randomization?

Not for regulated trials. The scripts do not implement enrollment or concealed allocation. The skill states that a formal randomization service is needed for regulated trials.

What if the agent does not load the skill?

Check that the folder is unzipped into ~/.claude/skills/ or .claude/skills/ in the right place, or that the ZIP was uploaded under Settings → Capabilities → Skills. Then describe your study with terms from the skill, such as randomization, blocking or factorial design.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you are planning a lab, field or clinical comparison, screening many factors, or need a documented, seeded randomization schedule. Pick something else if you need sample size or power calculations, analysis of data you already collected, or a live enrollment system for a regulated trial.

Download the skill