From asta-tools
Run scientific (software) experiments. Use when the user asks to "run an experiment", "run an investigation", or "research with Asta." Also use this skill to analyze experimental data generate a research report from it. The user may refer to this system by its internal project name, "Panda."
How this skill is triggered — by the user, by Claude, or both
Slash command
/asta-tools:experimentThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run a computational experiment. Given a research question that can be answered via software,
Run a computational experiment. Given a research question that can be answered via software, this skill will write and run the necessary software and generate a report on the results.
This skill can also be used to analyze experimental data and generate a research report from it, even if the experiment itself was not run by Asta. In that case, the user can provide the experimental data as a file input, and Asta will analyze it and generate a report.
asta experiment (Panda) reads its model choice and credentials from the environment. These are not exposed as CLI flags, so set them before invoking the skill if you want to override the defaults.
Model selection:
PANDA_LLM — selects the underlying LLM (e.g., a Claude or GPT model name). If unset, the default defined in panda_agent/config.py is used.Provider credentials (set the ones matching the model you select via PANDA_LLM):
OPENAI_API_KEY — required for GPT models; also required for Panda's default configuration.ANTHROPIC_API_KEY — required to use Claude models.TOGETHER_API_KEY — required to use Mistral or Llama models.INFERD_TOKEN — required to use OLMo models.Example — run the experiment with Claude:
export PANDA_LLM="claude-3-5-sonnet-latest"
export ANTHROPIC_API_KEY="..."
asta experiment --task "..." --outputs_dir "$OUTPUTS_DIR" --result_file "$OUTPUTS_DIR/result.json"
For the authoritative list of supported models and any additional variables, see asta experiment --help and the Panda README.
The user will either:
IMPORTANT: Always specify output locations to keep experiments organized in .asta/experiment/:
.asta/experiment/<YYYY-MM-DD-slug>/ where:
YYYY-MM-DD is the current dateslug is a short descriptive name derived from the task (e.g., "french-translation", "gpt4-eval")<OUTPUTS_DIR>/result.jsonExample directory structure:
.asta/experiment/
├── 2024-01-15-french-translation/
│ ├── result.json
│ └── [experiment outputs]
└── 2024-01-16-model-comparison/
├── result.json
└── [experiment outputs]
The user may optionally override these locations by providing: 3. a custom directory for experimental outputs (OUTPUTS_DIR) 4. a custom path for the result summary JSON (RESULT_FILE)
If the user describes a task and (optionally) provides background knowledge, then run as follows:
With default output locations (recommended):
# Create output directory with date and slug
OUTPUTS_DIR=".asta/experiment/$(date +%Y-%m-%d)-<task-slug>"
mkdir -p "$OUTPUTS_DIR"
asta experiment \
--task "TASK" \
--background_knowledge "BACKGROUND_KNOWLEDGE" \
--force_report \
--outputs_dir "$OUTPUTS_DIR" \
--result_file "$OUTPUTS_DIR/result.json"
Example:
# Task: Assess GPT-4 translation quality
OUTPUTS_DIR=".asta/experiment/$(date +%Y-%m-%d)-gpt4-french-translation"
mkdir -p "$OUTPUTS_DIR"
asta experiment \
--task "Perform an experiment to assess how good gpt-4o is at translating into French. Use just 5 test examples." \
--force_report \
--outputs_dir "$OUTPUTS_DIR" \
--result_file "$OUTPUTS_DIR/result.json"
With custom output locations (if user specifies):
asta experiment \
--task "TASK" \
--background_knowledge "BACKGROUND_KNOWLEDGE" \
--force_report \
--outputs_dir "/custom/path/experiments/" \
--result_file "/custom/path/result.json"
When the user provides files containing the task and background knowledge:
With default output locations (recommended):
# Create output directory with date and slug (derived from task filename or content)
OUTPUTS_DIR=".asta/experiment/$(date +%Y-%m-%d)-<task-slug>"
mkdir -p "$OUTPUTS_DIR"
asta experiment \
--task_file "TASK_FILE" \
--background_knowledge_file "BACKGROUND_KNOWLEDGE_FILE" \
--force_report \
--outputs_dir "$OUTPUTS_DIR" \
--result_file "$OUTPUTS_DIR/result.json"
Example:
# Files: my_project/task.txt, my_project/background_knowledge.txt
OUTPUTS_DIR=".asta/experiment/$(date +%Y-%m-%d)-custom-experiment"
mkdir -p "$OUTPUTS_DIR"
asta experiment \
--task_file "my_project/task.txt" \
--background_knowledge_file "my_project/background_knowledge.txt" \
--force_report \
--outputs_dir "$OUTPUTS_DIR" \
--result_file "$OUTPUTS_DIR/result.json"
With custom output locations (if user explicitly specifies paths):
asta experiment \
--task_file "my_project/task.txt" \
--background_knowledge_file "my_project/background_knowledge.txt" \
--force_report \
--outputs_dir "my_project/experiments/" \
--result_file "my_project/result.json"
.asta/experiment/<YYYY-MM-DD-slug>/ directory before running the experiment using mkdir -p<OUTPUTS_DIR>/result.json for consistencynpx claudepluginhub allenai/asta-plugins --plugin asta-toolsCarries out deep learning experiment plans with isolated worktrees, artifact tracking, and reproducibility checks. Use for implementing experiment scaffolding or running research batches.
Run an end-to-end automated ML research project with the AIRAS MCP tools, using backend LLM API keys for the generation steps (hypothesis, experimental design, analysis, paper writing). Use when the user wants to start or continue automated research with AIRAS and LLM provider API keys (OPENAI_API_KEY etc.) are configured in ~/.airas/credentials.json. If no LLM provider key is available, use the auto-research-claude-code skill instead.
Maintain a non-linear, reproducible experiment lane with project knowledge, run identity, parameter scans, long-run supervision, scientific review, immutable Git records, and instant materialized status. Use for /hw:experiment, experiment setup or reruns, NeRF/AceSim-style comparisons, baseline changes, parameter sweeps, result triage, and questions such as "现在实验怎么样".