PluginBench
Skill
Pass
Audit score 90

setup

alirezarezvani/claude-skills

Interactively configure a new autoresearch optimization experiment with domain, target file, eval command, and metric.

What is setup?

Sets up a new autoresearch experiment by collecting configuration parameters (domain, target file, eval command, metric, direction, evaluator). Use this when starting a new optimization loop to measure and improve code or content.

  • Collects experiment parameters interactively or via command arguments
  • Validates target file existence and eval command functionality
  • Displays baseline metric from initial evaluation
  • Lists existing experiments and available built-in evaluators
  • Stores experiment config in project or user scope
  • Supports 8 built-in evaluators (speed, size, test pass rate, memory, LLM judges)

How to install setup

npx skills add https://github.com/alirezarezvani/claude-skills --skill setup
Prerequisites
  • autoresearch framework installed
  • Python with pytest or custom eval script available
  • Target file must exist in the project
Claude Code
Cursor
Windsurf
Cline

How to use setup

  1. 1.Run `/ar:setup` to enter interactive mode
  2. 2.Answer prompts for domain, experiment name, target file, eval command, metric, and direction
  3. 3.Optionally select a built-in evaluator or use your own
  4. 4.Choose storage scope (project or user)
  5. 5.Verify baseline metric is reported
  6. 6.Run `/ar:run` or `/ar:loop` to start optimization

Use cases

Good for
  • Set up a performance optimization experiment for an API endpoint
  • Create a test pass-rate improvement experiment for a test suite
  • Configure a bundle size reduction experiment for a web app
  • Initialize a content quality evaluation using LLM judges for headlines
  • Start a memory usage optimization experiment for a function
Who it's for
  • Engineers optimizing code performance or quality metrics
  • Content creators improving headlines or copy with LLM evaluation
  • DevOps/build engineers reducing build or deployment time
  • QA teams improving test pass rates
  • Anyone running autoresearch optimization loops

setup FAQ

Can I pass all parameters at once instead of interactive mode?

Yes. Use `/ar:setup domain name target "eval_cmd" metric direction [--evaluator name]` to skip prompts.

What if my eval command outputs multiple metrics?

Specify which metric to track with the `--metric` parameter. The evaluator will extract that specific value.

Can I use a custom evaluator instead of built-in ones?

Yes. Select 'custom' when prompted for evaluator, and provide your own evaluation script.

Where are experiments stored?

In `.autoresearch/` (project scope) or `~/.autoresearch/` (user scope), depending on your choice during setup.

How do I see what experiments already exist?

Run `/ar:setup --list` to show existing experiments or `/ar:setup --list-evaluators` to see available evaluators.

Full instructions (SKILL.md)

Source of truth, from alirezarezvani/claude-skills.


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." 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:

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

# 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

NameMetricUse Case
benchmark_speedp50_ms (lower)Function/API execution time
benchmark_sizesize_bytes (lower)File, bundle, Docker image size
test_pass_ratepass_rate (higher)Test suite pass percentage
build_speedbuild_seconds (lower)Build/compile/Docker build time
memory_usagepeak_mb (lower)Peak memory during execution
llm_judge_contentctr_score (higher)Headlines, titles, descriptions
llm_judge_promptquality_score (higher)System prompts, agent instructions
llm_judge_copyengagement_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."