/ar:setup — Create New Experiment
Set up a new autoresearch experiment with all required configuration.
Usage
/ar:setup # Interactive mode
/ar:setup engineering api-speed src/api.py "pytest bench.py" p50_ms lower
/ar:setup --list # Show existing experiments
/ar:setup --list-evaluators # Show available evaluators
What It Does
If arguments provided
Pass them directly to the setup script:
python {skill_path}/scripts/setup_experiment.py \
--domain {domain} --name {name} \
--target {target} --eval "{eval_cmd}" \
--metric {metric} --direction {direction} \
[--evaluator {evaluator}] [--scope {scope}]
If no arguments (interactive mode)
Collect each parameter one at a time:
- Domain — Ask: "What domain? (engineering, marketing, content, prompts, custom)"
- Name — Ask: "Experiment name? (e.g., api-speed, blog-titles)"
- Target file — Ask: "Which file to optimize?" Verify it exists.
- Eval command — Ask: "How to measure it? (e.g., pytest bench.py, python evaluate.py)"
- Metric — Ask: "What metric does the eval output? (e.g., p50_ms, ctr_score)"
- Direction — Ask: "Is lower or higher better?"
- Evaluator (optional) — Show built-in evaluators. Ask: "Use a built-in evaluator, or your own?"
- Scope — Ask: "Store in project (.autoresearch/) or user (~/.autoresearch/)?"
Then run setup_experiment.py with the collected parameters.
Listing
# Show existing experiments
python {skill_path}/scripts/setup_experiment.py --list
# Show available evaluators
python {skill_path}/scripts/setup_experiment.py --list-evaluators
Built-in Evaluators
| Name |
Metric |
Use Case |
benchmark_speed |
p50_ms (lower) |
Function/API execution time |
benchmark_size |
size_bytes (lower) |
File, bundle, Docker image size |
test_pass_rate |
pass_rate (higher) |
Test suite pass percentage |
build_speed |
build_seconds (lower) |
Build/compile/Docker build time |
memory_usage |
peak_mb (lower) |
Peak memory during execution |
llm_judge_content |
ctr_score (higher) |
Headlines, titles, descriptions |
llm_judge_prompt |
quality_score (higher) |
System prompts, agent instructions |
llm_judge_copy |
engagement_score (higher) |
Social posts, ad copy, emails |
After Setup
Report to the user:
- Experiment path and branch name
- Whether the eval command worked and the baseline metric
- Suggest: "Run
/ar:run {domain}/{name} to start iterating, or /ar:loop {domain}/{name} for autonomous mode."
When to Use
Set up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator.
Covers: /ar:setup — Create New Experiment, What It Does, If arguments provided, If no arguments (interactive mode), Listing.
1---2name: setup3description: Set up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator.4license: MIT5---6# /ar:setup — Create New Experiment78Set up a new autoresearch experiment with all required configuration.910## Usage1112```13/ar:setup # Interactive mode14/ar:setup engineering api-speed src/api.py "pytest bench.py" p50_ms lower15/ar:setup --list # Show existing experiments16/ar:setup --list-evaluators # Show available evaluators17```1819## What It Does2021### If arguments provided2223Pass them directly to the setup script:2425```bash26python {skill_path}/scripts/setup_experiment.py \27 --domain {domain} --name {name} \28 --target {target} --eval "{eval_cmd}" \29 --metric {metric} --direction {direction} \30 [--evaluator {evaluator}] [--scope {scope}]31```3233### If no arguments (interactive mode)3435Collect each parameter one at a time:36371. **Domain** — Ask: "What domain? (engineering, marketing, content, prompts, custom)"382. **Name** — Ask: "Experiment name? (e.g., api-speed, blog-titles)"393. **Target file** — Ask: "Which file to optimize?" Verify it exists.404. **Eval command** — Ask: "How to measure it? (e.g., pytest bench.py, python evaluate.py)"415. **Metric** — Ask: "What metric does the eval output? (e.g., p50_ms, ctr_score)"426. **Direction** — Ask: "Is lower or higher better?"437. **Evaluator** (optional) — Show built-in evaluators. Ask: "Use a built-in evaluator, or your own?"448. **Scope** — Ask: "Store in project (.autoresearch/) or user (~/.autoresearch/)?"4546Then run `setup_experiment.py` with the collected parameters.4748### Listing4950```bash51# Show existing experiments52python {skill_path}/scripts/setup_experiment.py --list5354# Show available evaluators55python {skill_path}/scripts/setup_experiment.py --list-evaluators56```5758## Built-in Evaluators5960| Name | Metric | Use Case |61|------|--------|----------|62| `benchmark_speed` | `p50_ms` (lower) | Function/API execution time |63| `benchmark_size` | `size_bytes` (lower) | File, bundle, Docker image size |64| `test_pass_rate` | `pass_rate` (higher) | Test suite pass percentage |65| `build_speed` | `build_seconds` (lower) | Build/compile/Docker build time |66| `memory_usage` | `peak_mb` (lower) | Peak memory during execution |67| `llm_judge_content` | `ctr_score` (higher) | Headlines, titles, descriptions |68| `llm_judge_prompt` | `quality_score` (higher) | System prompts, agent instructions |69| `llm_judge_copy` | `engagement_score` (higher) | Social posts, ad copy, emails |7071## After Setup7273Report to the user:74- Experiment path and branch name75- Whether the eval command worked and the baseline metric76- Suggest: "Run `/ar:run {domain}/{name}` to start iterating, or `/ar:loop {domain}/{name}` for autonomous mode."7778## When to Use7980Set up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator.8182Covers: /ar:setup — Create New Experiment, What It Does, If arguments provided, If no arguments (interactive mode), Listing.