co-scientist-start
Goal:
- Start one Co-Scientist run from Claude Code using a natural-language goal or an imported brief.
Expected input:
- either a natural-language research goal
- or a brief path such as
notes/drug_resistance_brief.md - or no explicit arguments, which should trigger a short guided intake
Guided intake:
- If the user only says
/co-scientist-start, ask at most four short questions:- What is the research goal?
- Should the run favor exploration or grounded progress?
- Should the run use a completion-driven search or a capped low-cost iteration budget?
- Is there an existing brief, paper note, or other file to import?
- Do not ask for low-level mechanics settings such as
num_debaters,elo_k_factor, orucb_exploration_constant. - If the user explicitly asks for stricter or lighter review, capture that as a high-level
reviewoverride for critique depth without replacing the iteration-strategy question or disabling any review stage. - After collecting the answers, render a confirmation summary before you create any files.
Execution steps:
If the user supplied a natural-language goal, convert it into
--goal "<goal>".If the user supplied a brief file, convert it into
--brief <path>.When the user also specified high-level controls such as exploration, iteration strategy, or review rigor, pass them through as:
--exploration <value> --generation-bias <value> --review <value> --budget <value> --evolution <value> --stop-policy <value> --iteration-policy <value> --iteration-band <value> --human-checkpoint <value>Convert Claude-style
key: valuecontrols into real CLI flags before execution. For example:exploration: aggressive->--exploration aggressivereview: strict->--review strictiteration policy: capped->--iteration-policy cappediteration band: 6 10->--iteration-band 6_10human checkpoint: before overview->--human-checkpoint before_overview
Before creating the run, render a summary with:
python -m tools.host.claude_project_cli start --goal "<goal>" --skill co-scientist-pipeline --summary-onlyor the equivalent brief-based variant.
Show the returned summary to the user and wait for confirmation.
- When you present the summary, also tell the user that the run-local dashboard receipt will be written to:
runs/<run_id>/dashboard/LINKS.mdruns/<run_id>/dashboard/LINKS.json
- Tell the user that
/co-scientist-dashboard <run-dir>is the ready-link follow-up when the background bootstrap has not finished yet.
- When you present the summary, also tell the user that the run-local dashboard receipt will be written to:
After confirmation, run:
python -m tools.host.claude_project_cli start --goal "<goal>" --skill co-scientist-pipelineor the equivalent brief-based variant.
Read the emitted handoff artifact:
runs/<run_id>/state/HOST_AGENT_HANDOFF.json
Read the CLI JSON result and the run-local dashboard receipt artifacts:
runs/<run_id>/dashboard/LINKS.mdruns/<run_id>/dashboard/LINKS.json
If the CLI JSON contains
dashboardLinks:- If
dashboard.statusisrunning, returndashboardLinks.dashboardas the primary dashboard URL and include the deep links. - If
dashboard.statusisstarting, immediately run:
python -m tools.host.claude_project_cli dashboard <run-dir>- Read the refreshed CLI JSON result plus
runs/<run_id>/dashboard/LINKS.md. - If
runtime.statusis nowrunning, return the refreshedlinks.dashboardURL as the primary dashboard URL and include the deep links. - If
runtime.statusis stillstarting, tell the user that the dashboard is still booting, point them toruns/<run_id>/dashboard/LINKS.md, and include the retry command:
/co-scientist-dashboard <run-dir>- If
Open the canonical workflow and shared contracts:
skills/co-scientist-pipeline/SKILL.mdskills/shared-references/artifact-contract.mdskills/shared-references/state-contract.mdskills/shared-references/integration-contract.mdskills/shared-references/execution-modes.md
- Continue execution from the canonical repository-local skills tree instead of inventing a parallel flow. If the first refreshed routing plan returns
run_configuration, executeresearch-configbefore any generation work. - After each major phase write, run:
python -m tools.validation.contract_validation runs/<run_id> --skill co-scientist-pipeline
Rules:
- Use
co-scientist-startwhen the user wants the system to create the run directory,input.md, and the canonical start artifacts. - If the user first asks what can be configured, route them to
co-scientist-paramsor summarize../../shared-references/start-parameters.md. - Use
co-scientist-runonly when the user already has a run directory or a compatibilityconfig.yaml. - Prefer
--interaction-mode guidedwhen the run came from a question-driven intake. - Prefer
--interaction-mode brief_importwhen the run is anchored by an imported brief without a separate free-form goal. - Fresh runs normally pass through the explicit
Configurationstage first soresearch-configcan materializeresearch_plan/RESEARCH_PLAN.json. - Once the user confirms the start summary, do not ask again after each evolution round when the effective policy is
iteration_policy = completion_drivenandhuman_checkpoint = auto. - Under
completion_driven + auto, keep running until the routing plan reaches overview orinspect_state, or a validator/safety stop requires intervention. Finalcompletecomes from the completion verifier after overview work. - If you must stop before convergence or a terminal route, tell the user the run is paused, current convergence has not been reached, persisted state is resumable, and the next recommended action is continue evolution through resume or an explicit continue request.
- Never pass Claude-style
key: valuetext straight intoclaude_project_cli; convert it to explicit flags first. - Read execution semantics from repository-local
SKILL.mdfiles and dynamic context from canonical artifacts. - Treat
skills/as canonical and.claude/skills/as the Claude Code entry surface. - Treat
runs/<run_id>/dashboard/LINKS.mdas the human-readable dashboard receipt andruns/<run_id>/dashboard/LINKS.jsonas the machine-readable receipt.