一键导入
decision
Use when the quest needs an explicit go, stop, branch, reuse-baseline, write, finalize, reset, or user-decision transition with reasons and evidence.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when the quest needs an explicit go, stop, branch, reuse-baseline, write, finalize, reset, or user-decision transition with reasons and evidence.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use DeepScientist from Codex CLI through the native dsctl adapter for research semantics/provenance: quests, memory, artifacts, experiments, strict literature workflow, paper/resource operations, and formal ds_bash_exec evidence. Routine file/search/edit, shell, Git, tests/builds, and process work remains Codex-native. This adapter is not MCP and does not call external ds.
Use when a quest needs one or more follow-up runs such as ablations, robustness checks, error analysis, or failure analysis after a main experiment.
Use when a quest needs to attach, import, reproduce, repair, verify, compare, or publish a baseline and its metrics.
Use when a quest is ready for a concrete implementation pass or a main experiment run tied to a selected idea and an accepted baseline.
Use when the quest is ready to consolidate final claims, limitations, recommendations, summary state, and graph exports before stopping or archiving.
Use when a quest does not start from a blank state and the agent must first audit, trust-rank, and reconcile existing baselines, results, drafts, or review materials before choosing the next anchor.
| name | 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 |
Use this skill whenever continuation is non-trivial.
startup_contract.decision_policy = autonomous, do not emit ordinary ds_artifact_record payload={'kind': 'decision_request'}, ...) calls; decide the route yourself, record the reason, and continue.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.ds_artifact_record payload={'kind': 'decision_request'}, reply_mode='blocking', reply_schema={'decision_type': 'quest_completion_approval'}, ...), and only after an explicit approval reply should you call a Codex-controlled finalize recommendation record(...).ds_bash_exec; otherwise Codex-native checks are acceptable and the final decision should be recorded through ds_artifact_record.quest-local git state via backend service or Codex-controlled git action(...) before raw shell git commands.decision to judge the route, not as an excuse to bypass the ds_bash_exec ...) / quest-local git state via backend service or Codex-controlled git action(...) tool contract.decision is not a normal anchor.
It is a cross-cutting control skill that should be used whenever the quest must decide:
Every consequential decision should make clear:
goodbadneutralblockedUse the following canonical actions:
continuelaunch_experimentlaunch_analysis_campaignbranchprepare_branchactivate_branchreuse_baselineattach_baselinepublish_baselinewritefinalizeiterateresetstoprequest_user_decisionChoose the smallest action that genuinely resolves the current state.
In the current runtime, prefer these concrete flow actions:
artifact.submit_idea(mode='create', submission_mode='candidate', ...)artifact.submit_idea(mode='create', lineage_intent='continue_line'|'branch_alternative', ...)artifact.submit_idea(mode='create', submission_mode='line', source_candidate_id=..., lineage_intent='continue_line'|'branch_alternative', ...)artifact.submit_idea(mode='revise', ...)artifact.list_research_branches(...)a Codex-controlled branch activation action(...)run/* branch/worktreeds_artifact_record payload={'kind': 'decision', 'action': 'iterate', ...})artifact.create_analysis_campaign(...)ds_artifact_record_analysis_slice(...)artifact.submit_paper_outline(mode='select', ...)artifact.submit_paper_outline(mode='revise', ...)artifact.submit_paper_bundle(...)If the chosen action is baseline reuse, the decision is not complete until one of these is durably true:
artifact.attach_baseline(...) plus artifact.confirm_baseline(...)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.
Treat each durable main experiment as its own child run/* branch/node, not as another mutable state on the idea branch.
When paper mode is enabled and the necessary analysis for a strong run is done, the next default route is write on a dedicated paper/* branch/worktree derived from that run branch.
Do not approve launch_analysis_campaign casually; analysis usually carries extra resource cost and should require clear academic or claim-level value before spending that budget.
Make decisions from durable evidence:
Do not make major decisions from vibe or momentum.
When the quest is algorithm-first, add one extra truth-source rule before non-trivial route choices:
ds_artifact_record / analysis artifact lookup(...)Write the real question explicitly, such as:
Summarize only the decision-relevant evidence:
Typical mapping:
good
neutral
bad
blocked
The action must match the actual state.
When the decision is about choosing among multiple candidate outputs, such as:
do not decide implicitly.
Record:
When the choice is about an experiment package or analysis package, also record:
When the choice is about paper outline candidates, also record:
research_questions and experimental_designs become the active contract after selectionTypical criteria include:
For paper outline candidates specifically, prefer a paperagent-like rubric:
motivation -> challenge -> resolution -> validation -> impactIf evaluator scores exist, use them. Do not blindly follow a score if the underlying evidence is weak; explain the override when needed.
When the decision is about choosing a research direction, experiment route, or branch to invest in:
Use a light incumbent/frontier discipline for non-trivial route decisions:
incumbent:
frontier:
For these decisions, do not default to launching a small exploratory run just to break ties. Prefer careful judgment from durable evidence already on hand, especially:
When recording the decision, make explicit:
For algorithm-first route choices, prefer this default mapping:
explore -> widen or refine candidate briefs before new branch creationexploit -> keep the strongest line active and advance the best implementation candidatesfusion -> open at most one bounded fusion candidatestop -> record the stop decision and explicit reopen conditionGood route-selection criteria often include:
When selecting an experiment package, make the choice as if you must later justify:
If one option is more novel but much less testable, say that explicitly instead of hiding the tradeoff.
The reason should be concrete and evidence-backed. Avoid generic wording like “seems better”.
When the decision is stage-shaping, prefer a richer structure that later stages can execute directly. Useful optional fields include:
target_idea_idtarget_run_idcampaign_idreflection
what_workedwhat_failedlearned_constraintsnext_direction
expected_roi
cost_estimateconfidenceWhen a decision materially changes the route, follow it with the appropriate user-visible ds_artifact_record ...) update:
ds_artifact_record payload={'kind': 'milestone'}, reply_mode='threaded', ...) when the decision is already durably resolved and the quest can continue automaticallyreply_mode='blocking' only when the user must choose before safe continuation and startup_contract.decision_policy is not autonomousThis is especially useful for:
Ask the user only when:
When asking, use a structured decision request with:
Use ds_artifact_record payload={'kind': 'decision', ...}) for the final decision.
If user input is needed, also use ds_artifact_record payload={'kind': 'decision_request'}, ...).
If the timeout expires without a user reply, choose the best option yourself, record why, and notify the user of the chosen option before moving on.
This does not apply when the only blocker is a missing external credential or secret that only the user can provide; in that case keep the interaction waiting and, if resumed without the credential, you may park with ds_bash_exec command='sleep 3600', mode='await', timeout_seconds=3700) instead of busy-looping.
If startup_contract.decision_policy = autonomous, ordinary route ambiguity is not by itself grounds to request user input.
In that mode, only explicit approval-style exceptions such as quest completion should normally become blocking user decisions.
Good decisions:
Weak decisions:
Write to memory only when the lesson is reusable across future decisions, such as:
The canonical record of the decision itself belongs in artifact.
Exit once the decision is durably recorded and the next stage or action is explicit.