/ds-decision
Use when the quest needs an explicit go, stop, branch, reuse-baseline, write, finalize, reset, or user-decision transition with reasons and evidence.
$ npx -y skills add OpenLAIR/dr-claw --skill ds-decision --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/ds-decision
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when the quest needs an explicit go, stop, branch, reuse-baseline, write, finalize, reset, or user-decision transition with reasons and evidence.
SKILL.md
ds-decision.SKILL.mdname: ds-decision
description: Use when the quest needs an explicit go, stop, branch, reuse-baseline, write, finalize, reset, or user-decision transition with reasons and evidence.
skill_role: stage
license: MIT
metadata:
author: ResearAI/DeepScientist
version: "1.0.0"
Decision
Use this skill whenever continuation is non-trivial.
Interaction discipline
- Follow the shared interaction contract injected by the system prompt.
- For ordinary active work, prefer a concise progress update once work has crossed roughly 6 tool calls with a human-meaningful delta, and do not drift beyond roughly 12 tool calls or about 8 minutes without a user-visible update.
- Message templates are references only. Adapt to context and vary wording so updates feel natural and non-robotic.
- If the runtime starts an auto-continue turn with no new user message, continue from the active requirements and durable quest state instead of replaying the previous user turn.
- If `startup_contract.decision_policy = autonomous`, do not emit ordinary `artifact.interact(kind='decision_request', ...)` calls; decide the route yourself, record the reason, and continue.
- Use `reply_mode='blocking'` for the actual decision request only when the user must choose before safe continuation and the quest contract still allows a user-gated decision.
- If a threaded user reply arrives, interpret it relative to the latest decision or progress interaction before assuming the task changed completely.
- Quest completion is a special terminal decision: first ask for explicit completion approval with `artifact.interact(kind='decision_request', reply_mode='blocking', reply_schema={'decision_type': 'quest_completion_approval'}, ...)`, and only after an explicit approval reply should you call `artifact.complete_quest(...)`.
Tool discipline
- **Do not use native `shell_command` / `command_execution` in this skill.**
- **If decision-making needs shell, CLI, Python, bash, node, git, npm, uv, or environment evidence, gather it through `bash_exec(...)`.**
- **For git state inside the current quest repository or worktree, prefer `artifact.git(...)` before raw shell git commands.**
- **Use `decision` to judge the route, not as an excuse to bypass the `bash_exec(...)` / `artifact.git(...)` tool contract.**
Stage purpose
`decision` is not a normal anchor. It is a cross-cutting control skill that should be used whenever the quest must decide:
- whether to continue
- whether to branch
- whether to attach or reuse a baseline
- whether to launch an experiment
- whether to launch an analysis campaign
- whether to move to writing
- whether to finalize
- whether to reset
- whether to stop
- whether to ask the user for a structured decision
Use when
- the next stage is not obvious
- the evidence is mixed
- the current line may need to stop
- the quest needs a branch or reset
- a user preference-sensitive choice remains
- a blocker needs an explicit route
Required decision record
Every consequential decision should make clear:
- verdict
- action
- reason
- evidence paths
- next stage or next direction
Recommended verdicts
- `good`
- `bad`
- `neutral`
- `blocked`
Allowed actions
Use the following canonical actions:
- `continue`
- `launch_experiment`
- `launch_analysis_campaign`
- `branch`
- `prepare_branch`
- `activate_branch`
- `reuse_baseline`
- `attach_baseline`
- `publish_baseline`
- `write`
- `finalize`
- `iterate`
- `reset`
- `stop`
- `request_user_decision`
Choose the smallest action that genuinely resolves the current state.
In the current runtime, prefer these concrete flow actions:
- record a candidate brief before branch promotion -> `artifact.submit_idea(mode='create', submission_mode='candidate', ...)`
- accepted idea -> `artifact.submit_idea(mode='create', lineage_intent='continue_line'|'branch_alternative', ...)`
- promote a candidate brief into a durable optimization line -> `artifact.submit_idea(mode='create', submission_mode='line', source_candidate_id=..., lineage_intent='continue_line'|'branch_alternative', ...)`
- maintenance-only in-place cleanup of the same branch -> `artifact.submit_idea(mode='revise', ...)`
- compare branch foundations before a new round -> `artifact.list_research_branches(...)`
- return to an older durable branch without creating a new node -> `artifact.activate_branch(...)`
- materialize the concrete main-result node when a real main experiment line is about to be or was just durably recorded -> dedicated child `run/*` branch/worktree
- start the next optimization round from a measured result -> `artifact.record(payload={'kind': 'decision', 'action': 'iterate', ...})`
- launch analysis campaign -> `artifact.create_analysis_campaign(...)`
- finish one analysis slice -> `artifact.record_analysis_slice(...)`
- select a paper outline -> `artifact.submit_paper_outline(mode='select', ...)`
- revise the selected paper outline -> `artifact.submit_paper_outline(mode='revise', ...)`
- close writing into a durable bundle -> `artifact.submit_paper_bundle(...)`
If the chosen action is baseline reuse, the decision is not complete until one of these is durably true:
- the reuse landed on `artifact.attach_baseline(...)` plus `artifact.confirm_baseline(...)`
- or the quest recorded an explicit blocker or waiver explaining why reuse could not be completed safely
Treat `prepare_branch` as a compatibility or recovery action, not the normal path. Treat `activate_branch` as the correct recovery or revisit action when the quest should resume on an existing older durable branch while preserving the newer research head. Treat each accepted branch as one durable research round. Treat candidate briefs as branchless pre-promotion objects; they are not yet durable optimization lines. If a branch already has a durable main-experiment result, a genuinely new optimization round should normally create a child branch from a chosen foundation rather than keep revising that old branch in place. Tre
Read more
name: ds-decision description: Use when the quest needs an explicit go, stop, branch, reuse-baseline, write, finalize, reset, or user-decision transition with reasons and evidence. skill_role: stage license: MIT metadata: author: ResearAI/DeepScientist version: "1.0.0"
Decision
Use this skill whenever continuation is non-trivial.
Interaction discipline
- Follow the shared interaction contract injected by the system prompt.
- For ordinary active work, prefer a concise progress update once work has crossed roughly 6 tool calls with a human-meaningful delta, and do not drift beyond roughly 12 tool calls or about 8 minutes without a user-visible update.
- Message templates are references only. Adapt to context and vary wording so updates feel natural and non-robotic.
- If the runtime starts an auto-continue turn with no new user message, continue from the active requirements and durable quest state instead of replaying the previous user turn.
- If `startup_contract.decision_policy = autonomous`, do not emit ordinary `artifact.interact(kind='decision_request', ...)` calls; decide the route yourself, record the reason, and continue.
- Use `reply_mode='blocking'` for the actual decision request only when the user must choose before safe continuation and the quest contract still allows a user-gated decision.
- If a threaded user reply arrives, interpret it relative to the latest decision or progress interaction before assuming the task changed completely.
- Quest completion is a special terminal decision: first ask for explicit completion approval with `artifact.interact(kind='decision_request', reply_mode='blocking', reply_schema={'decision_type': 'quest_completion_approval'}, ...)`, and only after an explicit approval reply should you call `artifact.complete_quest(...)`.
Tool discipline
- **Do not use native `shell_command` / `command_execution` in this skill.**
- **If decision-making needs shell, CLI, Python, bash, node, git, npm, uv, or environment evidence, gather it through `bash_exec(...)`.**
- **For git state inside the current quest repository or worktree, prefer `artifact.git(...)` before raw shell git commands.**
- **Use `decision` to judge the route, not as an excuse to bypass the `bash_exec(...)` / `artifact.git(...)` tool contract.**
Stage purpose
`decision` is not a normal anchor. It is a cross-cutting control skill that should be used whenever the quest must decide:
- whether to continue
- whether to branch
- whether to attach or reuse a baseline
- whether to launch an experiment
- whether to launch an analysis campaign
- whether to move to writing
- whether to finalize
- whether to reset
- whether to stop
- whether to ask the user for a structured decision
Use when
- the next stage is not obvious
- the evidence is mixed
- the current line may need to stop
- the quest needs a branch or reset
- a user preference-sensitive choice remains
- a blocker needs an explicit route
Required decision record
Every consequential decision should make clear:
- verdict
- action
- reason
- evidence paths
- next stage or next direction
Recommended verdicts
- `good`
- `bad`
- `neutral`
- `blocked`
Allowed actions
Use the following canonical actions:
- `continue`
- `launch_experiment`
- `launch_analysis_campaign`
- `branch`
- `prepare_branch`
- `activate_branch`
- `reuse_baseline`
- `attach_baseline`
- `publish_baseline`
- `write`
- `finalize`
- `iterate`
- `reset`
- `stop`
- `request_user_decision`
Choose the smallest action that genuinely resolves the current state.
In the current runtime, prefer these concrete flow actions:
- record a candidate brief before branch promotion -> `artifact.submit_idea(mode='create', submission_mode='candidate', ...)`
- accepted idea -> `artifact.submit_idea(mode='create', lineage_intent='continue_line'|'branch_alternative', ...)`
- promote a candidate brief into a durable optimization line -> `artifact.submit_idea(mode='create', submission_mode='line', source_candidate_id=..., lineage_intent='continue_line'|'branch_alternative', ...)`
- maintenance-only in-place cleanup of the same branch -> `artifact.submit_idea(mode='revise', ...)`
- compare branch foundations before a new round -> `artifact.list_research_branches(...)`
- return to an older durable branch without creating a new node -> `artifact.activate_branch(...)`
- materialize the concrete main-result node when a real main experiment line is about to be or was just durably recorded -> dedicated child `run/*` branch/worktree
- start the next optimization round from a measured result -> `artifact.record(payload={'kind': 'decision', 'action': 'iterate', ...})`
- launch analysis campaign -> `artifact.create_analysis_campaign(...)`
- finish one analysis slice -> `artifact.record_analysis_slice(...)`
- select a paper outline -> `artifact.submit_paper_outline(mode='select', ...)`
- revise the selected paper outline -> `artifact.submit_paper_outline(mode='revise', ...)`
- close writing into a durable bundle -> `artifact.submit_paper_bundle(...)`
If the chosen action is baseline reuse, the decision is not complete until one of these is durably true:
- the reuse landed on `artifact.attach_baseline(...)` plus `artifact.confirm_baseline(...)`
- or the quest recorded an explicit blocker or waiver explaining why reuse could not be completed safely
Treat `prepare_branch` as a compatibility or recovery action, not the normal path. Treat `activate_branch` as the correct recovery or revisit action when the quest should resume on an existing older durable branch while preserving the newer research head. Treat each accepted branch as one durable research round. Treat candidate briefs as branchless pre-promotion objects; they are not yet durable optimization lines. If a branch already has a durable main-experiment result, a genuinely new optimization round should normally create a child branch from a chosen foundation rather than keep revising that old branch in place. Tre
A Super AI Lab with massive AI Doctors as Assistants. Best IDE for Research via AI Power.
Repo: OpenLAIR/dr-claw
Other skills on dr-claw.
- /dr-claw
Dr. Claw skill for OpenClaw project discovery, idea intake, waiting-session triage, structured session control, event-driven notifications, and mobile reporting through the local drclaw CLI.
Open skill - /academic-researcher
Academic research assistant for literature reviews, paper analysis, and scholarly writing. Use when: reviewing academic papers, conducting literature reviews, writing research summaries, analyzing methodologies, formatting citations, or when user mentions academic research,
Open skill - /autogpt
Autonomous AI agent platform for building and deploying continuous agents. Use when creating visual workflow agents, deploying persistent autonomous agents, or building complex multi-step AI automation systems.
Open skill - /crewai
Multi-agent orchestration framework for autonomous AI collaboration. Use when building teams of specialized agents working together on complex tasks, when you need role-based agent collaboration with memory, or for production workflows requiring sequential/hierarchical
Open skill - /langchain
Framework for building LLM-powered applications with agents, chains, and RAG. Supports multiple providers (OpenAI, Anthropic, Google), 500+ integrations, ReAct agents, tool calling, memory management, and vector store retrieval. Use for building chatbots, question-answering
Open skill - /llamaindex
Data framework for building LLM applications with RAG. Specializes in document ingestion (300+ connectors), indexing, and querying. Features vector indices, query engines, agents, and multi-modal support. Use for document Q&A, chatbots, knowledge retrieval, or building RAG
Open skill

