setup — Claude Code skill for autoresearch experiments
Sets up an autoresearch experiment by collecting its target file, evaluation command, metric, and optimization direction. Use it before starting an optimization loop.
/plugin marketplace add alirezarezvani/claude-skills
/plugin install autoresearch-agent@claude-code-skillsWhat setup does
The skill configures an autoresearch experiment. In interactive mode, it asks for a domain, experiment name, target file, evaluation command, metric, and whether higher or lower results are better. You can also choose a built-in evaluator and store the experiment in the project’s .autoresearch/ directory or the user’s ~/.autoresearch/ directory. It checks that the target file exists.
Built-in evaluators cover speed, file or bundle size, test pass rate, build time, and memory use. Others score content, prompts, and copy. Pass configuration as arguments, or use --list and --list-evaluators to inspect experiments and evaluators. Setup runs through setup_experiment.py.
Install it when you want to define experiment settings before an autoresearch loop. You still need an evaluation command and a metric that fit the target you plan to optimize.
What it helps with
- configure an evaluation command for a target file
- choose a metric and optimization direction
- inspect the available built-in evaluators
- list existing autoresearch experiments
Example prompts for the agent
- Set up an autoresearch experiment for `src/api.py` using `pytest bench.py`; track `p50_ms`, where lower is better.
- Show me the built-in evaluators for prompts and content.
- Create an `engineering` experiment named `api-speed` and store it in the project.
How to install setup
1Plugin marketplace
/plugin marketplace add alirezarezvani/claude-skills/plugin install autoresearch-agent@claude-code-skillsThis installs the whole autoresearch-agent plugin with all its skills
2Skills CLI (Vercel)
npx skills add alirezarezvani/claude-skills --skill setup -a claude-code3Manually: put the files in place
~/.claude/skills/setup/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/setup/
Manually: put the files in place
.agents/skills/setup/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/setup/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install alirezarezvani/claude-skills setup2Manually: put the files in place
.github/skills/setup/SKILL.mdPlatform CLI
gemini skills install https://github.com/alirezarezvani/claude-skills --path engineering/autoresearch-agent/skills/setupManually: put the files in place
.devin/skills/setup/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set349
The whole set →Similar
Questions about setup
How do I install setup in Claude Code?
Add the marketplace with /plugin marketplace add alirezarezvani/claude-skills, then install the plugin with /plugin install autoresearch-agent@claude-code-skills.
What does the setup skill do?
It collects autoresearch experiment settings and passes them to setup_experiment.py. You can set a target file, evaluation command, metric, and optimization direction.
Which evaluators come with setup?
Built-in options measure speed, size, test pass rate, build time, and memory use. llm_judge_content, llm_judge_prompt, and llm_judge_copy score text and prompts.
Source text
SKILL.md · MIT
---
name: "setup"
description: "Set up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator. Use when the user runs /ar:setup or asks to start optimizing a file with the autoresearch loop."
metadata:
command: /ar:setup
---
# /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:
```bash
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:
1. **Domain** — Ask: "What domain? (engineering, marketing, content, prompts, custom)"
2. **Name** — Ask: "Experiment name? (e.g., api-speed, blog-titles)"
3. **Target file** — Ask: "Which file to optimize?" Verify it exists.
4. **Eval command** — Ask: "How to measure it? (e.g., pytest bench.py, python evaluate.py)"
5. **Metric** — Ask: "What metric does the eval output? (e.g., p50_ms, ctr_score)"
6. **Direction** — Ask: "Is lower or higher better?"
7. **Evaluator** (optional) — Show built-in evaluators. Ask: "Use a built-in evaluator, or your own?"
8. **Scope** — Ask: "Store in project (.autoresearch/) or user (~/.autoresearch/)?"
Then run `setup_experiment.py` with the collected parameters.
### Listing
```bash
# 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:ar-run {domain}/{name}` to start iterating, or `/ar:loop {domain}/{name}` for autonomous mode."
© Alireza Rezvani · MIT · alirezarezvani/claude-skills