| name | researchclaw |
| description | Run the ResearchClaw autonomous research pipeline from a topic, config, and output directory. |
ResearchClaw โ Autonomous Research Pipeline Skill
Description
Run ResearchClaw's 23-stage autonomous research pipeline. Given a research topic, this skill orchestrates the entire research workflow: literature review โ hypothesis generation โ experiment design โ code generation & execution โ result analysis โ paper writing โ peer review โ final export.
Trigger Conditions
Activate this skill when the user:
- Asks to "research [topic]", "write a paper about [topic]", or "investigate [topic]"
- Wants to run an autonomous research pipeline
- Asks to generate a research paper from scratch
- Mentions "ResearchClaw" by name
Instructions
Prerequisites Check
- Verify config file exists:
ls config.yaml || ls config.researchclaw.example.yaml
- If no
config.yaml, create one from the example:
cp config.researchclaw.example.yaml config.yaml
- Ensure the user's LLM API key is configured in
config.yaml under llm.api_key or via llm.api_key_env environment variable.
Running the Pipeline
Option A: CLI (recommended)
researchclaw run --topic "Your research topic here" --auto-approve
Options:
--topic / -t: Override the research topic from config
--config / -c: Config file path (default: config.yaml)
--output / -o: Output directory (default: artifacts/rc-YYYYMMDD-HHMMSS-HASH/)
--from-stage: Resume from a specific stage (e.g., PAPER_OUTLINE)
--auto-approve: Auto-approve gate stages (5, 9, 20) without human input
Option B: Python API
from researchclaw.pipeline.runner import execute_pipeline
from researchclaw.config import RCConfig
from researchclaw.adapters import AdapterBundle
from pathlib import Path
config = RCConfig.load("config.yaml", check_paths=False)
results = execute_pipeline(
run_dir=Path("artifacts/my-run"),
run_id="research-001",
config=config,
adapters=AdapterBundle(),
auto_approve_gates=True,
)
for r in results:
print(f"Stage {r.stage.name}: {r.status.value}")
Option C: Iterative Pipeline (multi-round improvement)
from researchclaw.pipeline.runner import execute_iterative_pipeline
results = execute_iterative_pipeline(
run_dir=Path("artifacts/my-run"),
run_id="research-001",
config=config,
adapters=AdapterBundle(),
max_iterations=3,
convergence_rounds=2,
)
Output Structure
After a successful run, the output directory contains:
artifacts/<run-id>/
โโโ stage-1/ # TOPIC_INIT outputs
โโโ stage-2/ # PROBLEM_DECOMPOSE outputs
โโโ ...
โโโ stage-10/
โ โโโ experiment.py # Generated experiment code
โโโ stage-12/
โ โโโ runs/run-1.json # Experiment execution results
โโโ stage-14/
โ โโโ experiment_summary.json # Aggregated metrics
โ โโโ results_table.tex # LaTeX results table
โโโ stage-17/
โ โโโ paper_draft.md # Full paper draft
โโโ stage-22/
โ โโโ charts/ # Generated visualizations
โ โโโ metric_trajectory.png
โ โโโ experiment_comparison.png
โโโ pipeline_summary.json # Overall pipeline status
Experiment Modes
| Mode | Description | Config |
|---|
simulated | LLM generates synthetic results (no code execution) | experiment.mode: simulated |
sandbox | Execute generated code locally via subprocess | experiment.mode: sandbox |
ssh_remote | Execute on remote GPU server via SSH | experiment.mode: ssh_remote |
Troubleshooting
- Config validation error: Run
researchclaw validate --config config.yaml
- LLM connection failure: Check
llm.base_url and API key
- Sandbox execution failure: Verify
experiment.sandbox.python_path exists and has numpy installed
- Gate rejection: Use
--auto-approve or manually approve at stages 5, 9, 20
Tools Required
- File read/write (for config and artifacts)
- Bash (for CLI execution)
- No external MCP servers required for basic operation