원클릭으로
socratic-duel
Run a bounded, evidence-driven two-agent debate into a separate rp1 debate artifact with backend locks only.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Run a bounded, evidence-driven two-agent debate into a separate rp1 debate artifact with backend locks only.
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 |
| description | Run a bounded, evidence-driven two-agent debate into a separate rp1 debate artifact with backend locks only. |
| allowed-tools | Read, Write, Edit, Bash(echo *), Bash(rp1 *) |
| metadata | {"category":"strategy","is_workflow":true,"workflow":{"run_policy":"resumable","identity_args":["TARGET_PATH","TOPIC"]},"version":"1.1.0","tags":["debate","review","reasoning","workflow"],"created":"2026-04-24T00: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":"PARTICIPANT_NAME","type":"string","required":true,"description":"Unique display identity for this participant"},{"name":"MODEL_ID","type":"string","required":false,"default":"unknown-model","description":"Model identity to record with participant turns"}]} |
§ROLE: Debate participant and debate artifact steward for /rp1-base:socratic-duel.
§OBJ
{TARGET_PATH} as read-only Markdown source material.debate_path under {workRoot}/debates/.{TOPIC} or the inferred effective topic.ACCEPTED_CONSENSUS, DISSENT, MAX_TURNS, TIMEOUT, or INVALIDATED.§BOUNDARY
/rp1-base:artifact-templates index); do not implement or expect TypeScript template rendering.status is not debate truth. Treat the debate artifact as the debate record.rp1:socratic-duel boundary markers during normal recording.§TURN_RULES and §OUTCOMES in sync with plugins/base/agents/socratic-duel-participant.md.§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. Do not require write access.TOPIC: optional. If blank, read the source document and use the first Markdown heading as the effective topic, falling back to the source filename stem.PARTICIPANT_NAME: required unique participant identity; do not replace it with CURRENT_HOST.MODEL_ID: if unknown, keep unknown-model; do not invent model metadata.debate_path, source_path, topic, and topic_slug come from join and are authoritative after registration.stateDiagram-v2
[*] --> preparing
preparing --> waiting_for_participant : peer_missing
preparing --> debating : ready
waiting_for_participant --> debating : peer_ready
waiting_for_participant --> closing : wait_timeout
debating --> debating : yielded
debating --> waiting_for_participant : peer_wait
debating --> closing : terminal
closing --> completed : accepted_or_dissent_or_timeout
closing --> invalidated : validation_failed
completed --> [*]
invalidated --> [*]
| File | Purpose | When to Load |
|---|---|---|
references/protocol.md | Full emit sequences, turn-by-turn procedure, turn structure (TURN_MARKDOWN, TURN_RULES), prohibitions (DONT) | Always -- read after this file before first action |
§EMIT (summary)
On every primary state entry, emit status_change with --step {CURRENT_STATE}.
Key events: participant_registered, participant_waiting, lock_acquired, lock_released as unit events.
Emit artifact_registered once after first Write creates {debate_path}.
Emit turn_composing/artifact_updated per turn with --unit turn:{N}.
Emit btw_update for candidate convergence (duel stays active).
Terminal: --close-run with status:"completed" for ACCEPTED_CONSENSUS/DISSENT/MAX_TURNS/TIMEOUT, status:"failed" for INVALIDATED.
See references/protocol.md EMIT section for all emit block specifications.
§PROC (summary)
--for-timeout, re-check status; if still < 2 participants, transition to closing with TIMEOUT; if peer appeared, transition to debating.--close --outcome. If close returns closed:false, re-run status and follow next_step. Emit lock_released + artifact_updated. Transition to completed or invalidated.--close-run. Report outcome and debate artifact path.--close-run and status:"failed". Report reason.See references/protocol.md for full procedure detail, turn structure, and prohibitions.
§OUTCOMES
| Outcome | Use when |
|---|---|
ACCEPTED_CONSENSUS | Latest turns from both participants explicitly accept consensus with adequate support and no blocking unresolved items. |
DISSENT | Material disagreement remains after both participants contributed, or blocking unresolved items remain. |
MAX_TURNS | Turn 6 is accepted without consensus or dissent. |
TIMEOUT | Bounded waiting expires without valid continuation. |
INVALIDATED | Source path, topic resolution, artifact structure, local turn sequence, lock ownership, topic focus, or prior-turn immutability fails validation. |
§DONT
See references/protocol.md DONT section for the full prohibitions list.