2.6 KiB
Create New Debate
Step 1: Motion
"What's your debate motion?
You can write it in any of these formats:
Formal styles:
This house believes that[proposition] — British ParliamentaryThis house would[action] — Policy debateResolved:[statement] — American Parliamentary
Or state it directly (we'll keep it as-is)
Your motion:"
Step 2: Slug
If $1 argument provided:
- Use
$1as the slug - Validate format (lowercase, numbers, hyphens only)
- Check it doesn't exist as a directory
- If valid: skip to Step 3
- If invalid format: explain requirements and ask for new slug
- If exists: list existing debates and ask for different name
If no argument provided:
-
After receiving motion, auto-generate 2-3 slug suggestions from motion keywords
-
Present: "Suggested slugs:
- [auto-generated-1]
- [auto-generated-2]
- [auto-generated-3]
Pick a number, or type your own (lowercase, hyphens only):"
-
Validate chosen/custom slug:
- Check format (lowercase, numbers, hyphens only)
- Check doesn't exist as a directory
- If format invalid: explain and ask again
- If exists: list existing debates and ask for different name
Step 3: Definitions & Scope (Optional)
"Optional refinements:
Type 'definitions' to define key terms, 'scope' to set debate focus, or 'skip' to continue:"
If user types 'definitions':
- Suggest 2-3 key terms from the motion that might need defining
- For each term: "Define '[term]':" (record definition)
If user types 'scope':
- Ask: "Specify the debate's scope or focus:"
- Record scope
If user types 'skip':
- Proceed to creation
Step 4: Create Debate
Once all information is gathered:
- Create directory:
{slug}/ - Create
{slug}/arguments/directory - Create
{slug}/debate.mdwith JSON frontmatter:
{
"debate_id": "{slug}",
"current_exchange": 0,
"current_phase": "awaiting_arguments",
"cumulative_scores": {
"proposition": {"total": 0, "count": 0},
"opposition": {"total": 0, "count": 0}
}
}
# Motion
{formalized motion}
## Definitions
{if any definitions were provided:}
- **{term}**: {definition}
## Scope
{scope if provided}
- Create
{slug}/scores.json:
{}
- Confirm to user:
"✓ Debate '{slug}' created successfully!
Motion: {full formalized motion} {if definitions: Definitions: {count} terms defined} {if scope: Scope: {scope}}
Run /debate-run {slug} 8 to start the debate. Exchange 0 (opening statements) runs automatically, then specify how many rebuttal exchanges to run."