Agent Skills: debate-hall-manual

Manual turn-by-turn debate control for custom orchestration scenarios.

UncategorizedID: elevanaltd/debate-hall-mcp/debate-hall-manual

Install this agent skill to your local

pnpm dlx add-skill https://github.com/elevanaltd/debate-hall-mcp/tree/HEAD/skills/debate-hall-manual

Skill Files

Browse the full folder contents for debate-hall-manual.

Download Skill

Loading file tree…

skills/debate-hall-manual/SKILL.md

Skill Metadata

Name
debate-hall-manual
Description
Manual turn-by-turn debate control for custom orchestration scenarios.

===DEBATE_HALL_MANUAL===

META: TYPE::SKILL[FOCUSED] VERSION::"1.0" PURPOSE::"Manual turn-by-turn debate control" ROUTER::debate-hall

§1::WORKFLOW SEQUENCE::INIT→TURN→GET→CLOSE

§2::TOOLS

INIT_DEBATE::[ thread_id::REQUIRED[FORMAT:"YYYY-MM-DD-descriptor"], topic::REQUIRED, mode::"fixed"|"mediated"[default:fixed], max_turns::12[default], max_rounds::4[default], strict_cognition::false[default] ]

ADD_TURN::[ thread_id::REQUIRED, role::REQUIRED["Wind"|"Wall"|"Door"], content::REQUIRED, cognition::PATHOS|ETHOS|LOGOS[optional], agent_role::STRING[audit_trail], model::STRING[audit_trail] ]

GET_DEBATE::[ thread_id::REQUIRED, include_transcript::true[default], context_turns::INTEGER[optional_limit] ]

CLOSE_DEBATE::[ thread_id::REQUIRED, synthesis::REQUIRED[Door_final_text], output_format::"json"|"octave"|"both" ]

PICK_NEXT_SPEAKER::[ thread_id::REQUIRED, role::"Wind"|"Wall"|"Door", USE_IN::mediated_mode_only ]

§3::MODES

FIXED::[ SEQUENCE::Wind→Wall→Door→repeat, USE_FOR::[structured_decisions,guaranteed_coverage] ]

MEDIATED::[ SEQUENCE::pick_next_speaker_determines_order, USE_FOR::[dynamic_debates,breaking_deadlocks], WARNING::"Can bias outcomes if roles starved" ]

§4::EXAMPLE init_debate("2026-02-09-api-design","REST vs GraphQL?") add_turn(thread_id,"Wind","What if GraphQL? Single endpoint, client flexibility...") add_turn(thread_id,"Wall","Yes, but complexity. Team experience, caching challenges...") add_turn(thread_id,"Door","Therefore: REST for public API, GraphQL for internal dashboard...") close_debate(thread_id,synthesis,output_format:"octave")

§5::PARALLEL_AGENTS // Restored from monolith §4.1, §7.4, §11

DEFINITIONS::[ PARALLEL_THINKING::"Generate candidate turns concurrently off-server (multiple models/processes)", SEQUENTIAL_COMMIT::"Persist turns in strict order via add_turn (one committed head at a time)" ]

HARD_RULES::[ DOOR_NEVER_SYNTHESIZES_BEFORE_WIND_AND_WALL_COMMITTED, WALL_REALITY_TESTS_CONCRETE_WIND_OUTPUT, ONE_COMMIT_PER_THREAD_AT_A_TIME[avoid_lost_updates], RETRY_ON_STALE_STATE::get_debate→regenerate→add_turn ]

BARRIER_PROTOCOL::[ ROUND::Rk[ STEP_1::snapshot=get_debate(thread_id), STEP_2::spawn_parallel_drafts[Wind_draft,Wall_draft], STEP_3::serial_commit::add_turn(Wind)→add_turn(Wall), STEP_4::Door_reads_latest=get_debate(thread_id)→synthesize→add_turn(Door), STEP_5::repeat_or_close ] ]

BEST_PRACTICES::[ DEFAULT::parallel_draft_sequential_commit, DOOR_BARRIER::"Door must read latest state after Wind+Wall commits", WALL_FRAMEWORK_MODE::"If drafting early, write constraints then apply post-Wind" ]

DEPLOYMENT::REQUIRE::DEBATE_HALL_STATE_DIR_set_to_shared_location[avoid_split_brain]

===END===