Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when starting or resuming an AgentSociety research workspace, deciding which research skill to invoke next, checking current pipeline state, or sizing a simulation before configuration and module creation.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 103% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 242% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 264% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 104% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 163% | 0% |
Orchestrates the AgentSociety research workflow. Determines which skill to invoke based on the current workspace state and user intent.
The research pipeline is a revision-capable workflow: literature search → hypothesis → experiment config → run → analysis → paper, with explicit reroutes back to the smallest sufficient earlier stage. After a draft exists, paper-review can perform an optional robust author-side mock review using three parallel independent reviewers and a separate evidence-verifying MetaReview agent, then advise which earlier stage to revisit. The review remains read-only; the user or controlling coding agent closes the feedback loop by explicitly applying an accepted route through research-pipeline reroute. Supporting skills (scan-modules, create-agent, create-env-module, web-research, datasets) branch off the main trunk at specific points.
Before entering experiment-config, create-agent, or create-env-module, confirm the simulation scale budget:
If any of these are missing, ask one round of clarifying questions first. Present 2-3 approaches with trade-offs and a recommendation, then route into the appropriate skill once the budget is fixed.
If the task may depend on external data, treat dataset access as a first-class branch rather than an afterthought.
agentsociety-use-dataset to search, inspect, and download datasets from the platform.agentsociety-create-dataset when the work needs packaging, validation, upload, or publishing of a dataset.At the beginning of a new session or resumption, run:
bash$PYTHON_PATH .agentsociety/bin/ags.py research-pipeline where-am-i --json
This reads .agentsociety/progress.json to determine the current stage. If the file does not exist, fall back to file-existence detection and then bootstrap tracking with init.
Every pipeline transition must be persisted with an explicit git commit. Hook-based auto-commit approaches are unreliable — always commit manually.
When bootstrapping a new workspace with research-pipeline init:
bash# 1. Init the workspace directory if not already a git repo git init # 2. Create progress tracking $PYTHON_PATH .agentsociety/bin/ags.py research-pipeline init --topic "TOPIC" # 3. Initial commit git add -A && git commit -m "init: bootstrap research pipeline"
After every call to research-pipeline update-stage, commit the current iteration's changes:
bash$PYTHON_PATH .agentsociety/bin/ags.py research-pipeline update-stage STAGE STATUS git add -A && git commit -m "pipeline: STAGE → STATUS"
For example:
bash$PYTHON_PATH .agentsociety/bin/ags.py research-pipeline update-stage literature_search completed git add -A && git commit -m "pipeline: literature_search → completed"
Apply an accepted review or analysis reroute with the same checkpoint discipline:
bash$PYTHON_PATH .agentsociety/bin/ags.py research-pipeline reroute experiment_config \ --reason "MetaReview found that the control cannot identify the claimed effect" \ --source-artifact paper/reviews/acl-arr-review-r1.md git add -A && git commit -m "pipeline: reroute to experiment_config"
git is not initialized in the workspace, run git init first.pipeline: STAGE → STATUS.git add -A to capture all changes produced by the current stage.Use where-am-i --json whenever the current stage is unclear.
.agentsociety/progress.json exists, trust current_stage as the primary routing signal.needs_revision, route to the owning skill with the active reroute reason and source artifact as required context.| current_stage | Route to Skill | |-----------------|----------------| | literature_search | literature-search | | hypothesis | hypothesis | | experiment_config | experiment-config | | run_experiment | run-experiment | | analysis | analysis | | generate_paper | paper-toolkit |
Post-paper review is routed by user intent rather than current_stage: when a complete draft exists and the user asks for an internal review, venue score, or revision-stage advice, invoke agentsociety-paper-review. For PDF input, prepare one frozen page-aware intake and pass the same text, layout, and page renders to every agent; stop when its quality gate fails. A normal result requires three isolated reviewer subagents running concurrently followed by a separately spawned MetaReview subagent. The review bundle is advisory and must not update .agentsociety/progress.json; only the user or controlling coding agent may subsequently accept a stage-valued reroute and call research-pipeline reroute.
| Command | Purpose | |---------|---------| | $PYTHON_PATH .agentsociety/bin/ags.py research-pipeline init --topic "TEXT" | Bootstrap progress.json (also git init + initial commit if needed) | | $PYTHON_PATH .agentsociety/bin/ags.py research-pipeline status | Show progress summary | | $PYTHON_PATH .agentsociety/bin/ags.py research-pipeline where-am-i --json | Get current stage as JSON | | $PYTHON_PATH .agentsociety/bin/ags.py research-pipeline update-stage STAGE STATUS | Update stage status (then git add -A && git commit) | | $PYTHON_PATH .agentsociety/bin/ags.py research-pipeline reroute STAGE --reason "TEXT" --source-artifact PATH | Start an auditable revision round at the current or an earlier stage | | $PYTHON_PATH .agentsociety/bin/ags.py research-pipeline set-verification STAGE STATUS | Update stage verification status | | $PYTHON_PATH .agentsociety/bin/ags.py research-pipeline next-action --json | Get the recommended next action |
dotdigraph research_pipeline { rankdir=LR; node [shape=box, style=filled, fillcolor="#E8F4FD"]; decide [label="where-am-i"]; lit [label="literature-search"]; hypo [label="hypothesis"]; scan [label="scan-modules\noptional helper"]; exp [label="experiment-config"]; run [label="run-experiment"]; analysis [label="analysis"]; paper [label="paper-toolkit"]; review [label="paper-review\n3 reviewers + MetaReview"]; agent [label="create-agent"]; env [label="create-env-module"]; create_ds [label="create-dataset"]; use_ds [label="use-dataset"]; web [label="web-research"]; decide -> lit; decide -> hypo; decide -> exp; decide -> run; decide -> analysis; decide -> paper; lit -> hypo; lit -> web [style=dashed, label="supplementary context"]; hypo -> scan [style=dashed, label="names uncertain"]; scan -> hypo; hypo -> exp; exp -> scan [style=dashed, label="need discovery or validation"]; scan -> exp; exp -> agent [style=dashed, label="missing agent"]; agent -> exp; exp -> env [style=dashed, label="missing env"]; env -> exp; exp -> create_ds [style=dashed, label="publish dataset"]; exp -> use_ds [style=dashed, label="need external data"]; use_ds -> exp; exp -> run; run -> analysis; analysis -> paper; paper -> review [style=dashed, label="internal mock review"]; review -> lit [style=dashed, label="accepted reroute"]; review -> hypo [style=dashed, label="accepted reroute"]; review -> exp [style=dashed, label="accepted reroute"]; review -> run [style=dashed, label="accepted reroute"]; review -> analysis [style=dashed, label="accepted reroute"]; review -> paper [style=dashed, label="accepted reroute"]; analysis -> hypo [style=dashed, label="revise hypothesis"]; analysis -> use_ds [style=dashed, label="comparison data"]; analysis -> web [style=dashed, label="supplementary context"]; }
| # | Skill | Produces | Consumes | |---|-------|----------|----------| | 1 | literature-search | papers/, papers/literature_index.json | TOPIC.md | | 2 | hypothesis | hypothesis_{id}/HYPOTHESIS.md, SIM_SETTINGS.json | literature index | | 3 | experiment-config | init_config.json, steps.yaml, config_params.py | SIM_SETTINGS.json | | 4 | run-experiment | run/replay/_schema.json, sharded replay JSONL, run/output.log, run/artifacts/ | init_config.json + steps.yaml | | 5 | analysis | presentation/hypothesis_{id}/report.md, charts, data | run/replay/ | | 6 | paper-toolkit | paper deliverables | analysis report + literature index | | 7 (optional) | paper-review | frozen input manifest + 3 independent reviews under paper/reviews/<venue>-review-r<N>/; final paper/reviews/<venue>-review-r<N>.md MetaReview | complete paper draft + selected evidence artifacts |
| Branch Skill | Called By | When | |-------------|-----------|------| | scan-modules | hypothesis, experiment-config | When module names are unknown or need validation | | create-agent | experiment-config | When needed agent class doesn't exist | | create-env-module | experiment-config | When needed env module doesn't exist | | web-research | literature-search, hypothesis, analysis | When supplementary non-academic context needed | | create-dataset | experiment-config | When packaging data for upload or publishing | | use-dataset | literature-search, hypothesis, experiment-config, analysis | When searching, downloading, or inspecting datasets |
| Skill | Trigger Keywords | |-------|-----------------| | literature-search | "literature", "papers", "related work", "background research" | | hypothesis | "hypothesis", "research question", "control", "treatment", "experiment groups" | | experiment-config | "configure experiment", "init_config", "steps.yaml", "set up experiment" | | run-experiment | "run experiment", "start simulation", "check status", "stop experiment" | | analysis | "analyze", "results", "visualization", "chart", "report" | | paper-toolkit | "write paper", "academic paper", "generate paper", "Nature paper" | | paper-review | "review paper", "paper score", "mock review", "review feedback", "where should revision go" | | scan-modules | "available modules", "list agents", "find environment" | | create-agent | "create agent", "custom agent", "new agent type" | | create-env-module | "create environment", "custom module", "env module" | | web-research | "web search", "current events", "recent developments" | | create-dataset | "create dataset", "upload dataset", "publish data" | | use-dataset | "download dataset", "find data", "browse datasets", "search datasets", "dataset search" |
research-pipeline reroutereroute is the only supported backward transition. It:
workspace.revision_round;needs_revision without deleting artifacts;transitions log;active_reroute until all invalidated stages are completed or explicitly skipped.Do not apply human_decision or none as stages. Pause for accountable input on human_decision; leave pipeline state unchanged for none. When several review routes exist, apply the earliest accepted stage once—the normal forward flow will revisit its invalidated downstream stages.
| File | Git | Purpose | |------|-----|---------| | .agentsociety/progress.json | Committable | Stage tracker with status, revision round, active reroute, attempts, and append-only transition history |
run-experiment produces run/replay/_schema.jsonexperiment-config check before run-experimentpaper-toolkit requires analysis reports to existpaper-review requires a complete draft, a passing shared PDF intake when applicable, and a valid 3-reviewer ensemble before MetaReview; it writes only the reserved review bundle and never updates pipeline stage or executes reroute adviceresearch-pipeline reroute; do not edit current_stage or downstream statuses by handprogress.json; subagents return artifacts and must not perform pipeline transitionsresearch-pipeline update-stage after completing a pipeline stageresearch-pipeline update-stage — see Git Checkpoint Disciplinegit init (if needed) followed by an initial commitOther measured skills in the registry, with their headline benchmark lift.