一键导入
socratic-duel-run
Run Socratic Duel through two participant subagents while the launcher only coordinates and reports.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Run Socratic Duel through two participant subagents while the launcher only coordinates and reports.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Agent-only canonical output templates for rp1 artifacts. Load when producing structured markdown to ensure format consistency and routing metadata.
Ask about rp1 capabilities, discover skills, and get workflow guidance.
Evidence-gated tech debt and bloat detection. Scouts signals, ranks by materiality, validates by refutation, reports up to 5 findings with actions.
Synchronizes user-facing documentation with the current knowledge base through validate -> stale gate -> scan -> approval -> process orchestration.
Orchestrates parallel KB generation using spatial analysis and a map-reduce architecture with incremental and feature-learning modes.
Analyzes systems holistically to provide strategic recommendations balancing cost, quality, performance, complexity, and business objectives with quantified trade-offs.
| name | socratic-duel-run |
| description | Run Socratic Duel through two participant subagents while the launcher only coordinates and reports. |
| allowed-tools | Read, Bash(echo *), Bash(rp1 *), Task |
| metadata | {"category":"strategy","is_workflow":true,"workflow":{"run_policy":"fresh","identity_args":[]},"version":"1.0.0","tags":["debate","review","reasoning","workflow","orchestration"],"created":"2026-04-25T00:00:00.000Z","updated":"2026-04-25T00:00:00.000Z","author":"cloud-on-prem/rp1","arguments":[{"name":"TARGET_PATH","type":"string","required":true,"description":"Absolute path to the readable local Markdown source document to debate"},{"name":"TOPIC","type":"string","required":false,"description":"Optional topic focus; when omitted, infer the topic from the source heading or filename"},{"name":"MODEL_ID","type":"string","required":false,"default":"unknown-model","description":"Model identity to pass to both participant agents"}],"sub_agents":["rp1-base:socratic-duel-participant"]} |
§ROLE: Subagent-only Socratic Duel launcher.
§OBJ
rp1-base:socratic-duel-participant agents with distinct participant names.§BOUNDARY
--close-run outcome emits.§CTX
RUN_ID, projectRoot, workRoot, codeRoot, resolved arguments.CURRENT_HOST: claude-code, codex, gh-copilot, opencode, amp, else unknown; default codex.TARGET_PATH: required absolute readable .md or .markdown source path.TOPIC: optional. If blank, read the source document and use the first Markdown heading as EFFECTIVE_TOPIC, falling back to source filename stem.MODEL_ID: pass through unchanged; if unknown, keep unknown-model.stateDiagram-v2
[*] --> preparing
preparing --> invalidated : invalid_input
preparing --> waiting_for_participant : agents_launched
waiting_for_participant --> debating : participants_active
waiting_for_participant --> closing : terminal_seen
waiting_for_participant --> invalidated : orchestration_failure
debating --> debating : participant_turn
debating --> closing : terminal_seen
debating --> invalidated : orchestration_failure
closing --> completed : accepted_or_dissent_or_timeout
closing --> invalidated : validation_failed
completed --> [*]
invalidated --> [*]
§EMIT
Launcher state entry:
rp1 agent-tools emit --harness $CURRENT_HOST \
--workflow socratic-duel-run \
--type status_change \
--run-id {RUN_ID} \
--step {CURRENT_STATE} \
--data '{"status":"running","target":"{TARGET_PATH}","topic":"{EFFECTIVE_TOPIC}"}'
Launch progress:
rp1 agent-tools emit --harness $CURRENT_HOST \
--workflow socratic-duel-run \
--type status_change \
--run-id {RUN_ID} \
--step preparing \
--unit orchestrator:launch \
--data '{"status":"running","event":"launching_participants","target":"{TARGET_PATH}","topic":"{EFFECTIVE_TOPIC}"}'
Waiting progress:
rp1 agent-tools emit --harness $CURRENT_HOST \
--workflow socratic-duel-run \
--type status_change \
--run-id {RUN_ID} \
--step waiting_for_participant \
--unit orchestrator:waiting \
--data '{"status":"waiting","event":"waiting_for_participant_closure","target":"{TARGET_PATH}","topic":"{EFFECTIVE_TOPIC}"}'
Orchestration failure only:
rp1 agent-tools emit --harness $CURRENT_HOST \
--workflow socratic-duel-run \
--type status_change \
--run-id {RUN_ID} \
--step invalidated \
--close-run \
--unit orchestrator:waiting \
--data '{"status":"failed","outcome":"INVALIDATED","message":"{failure_reason}","target":"{TARGET_PATH}","topic":"{EFFECTIVE_TOPIC}"}'
§PROC
preparing
preparing.TARGET_PATH: absolute, readable, .md or .markdown.invalidated with --close-run; stop.EFFECTIVE_TOPIC from TOPIC, first source heading, or filename stem.orchestrator:launch.launch participants
RUN_ID, TARGET_PATH, EFFECTIVE_TOPIC, MODEL_ID, workRoot, and codeRoot.Socratic Duel Participant ASocratic Duel Participant B{% dispatch_agent "rp1-base:socratic-duel-participant", background %} RUN_ID={RUN_ID} TARGET_PATH={TARGET_PATH} TOPIC={EFFECTIVE_TOPIC} PARTICIPANT_NAME=Socratic Duel Participant A MODEL_ID={MODEL_ID} WORK_ROOT={workRoot} CODE_ROOT={codeRoot} WORKFLOW=socratic-duel-run {% enddispatch_agent %}
{% dispatch_agent "rp1-base:socratic-duel-participant", background %} RUN_ID={RUN_ID} TARGET_PATH={TARGET_PATH} TOPIC={EFFECTIVE_TOPIC} PARTICIPANT_NAME=Socratic Duel Participant B MODEL_ID={MODEL_ID} WORK_ROOT={workRoot} CODE_ROOT={codeRoot} WORKFLOW=socratic-duel-run {% enddispatch_agent %}
waiting_for_participant
orchestrator:waiting.completed or invalidated run stateINVALIDATED with --close-run.report
terminal:true or the run is visibly terminal.debate_path, outcome, duel_id, and participant names.INVALIDATED, include the participant-provided reason.§OUT
## Socratic Duel Run Complete
**Outcome**: {terminal_outcome}
**Debate Artifact**: `{debate_path}`
**Duel ID**: `{duel_id}`
**Participants**: Socratic Duel Participant A, Socratic Duel Participant B
**Closure**: Participant-owned
§DONT
{TARGET_PATH}.{debate_path}.rp1 agent-tools socratic-duel claim-lock, refresh-lock, or release-lock.ACCEPTED_CONSENSUS, DISSENT, MAX_TURNS, TIMEOUT, or INVALIDATED.