5a7f417899
- Migrate solve-issue.yaml, analyze-topic.yaml, debate.yaml to new format
- Add status enum field to all role frontmatter schemas
- Use {{{ }}} (triple mustache) for prompt templates with user content
- Disable mustache HTML escaping globally (prompts are plain text, not HTML)
- Add 2 new tests for HTML escape behavior
- 9 moderator tests pass
Phase 2 of #490 (closes #492)
63 lines
2.5 KiB
YAML
63 lines
2.5 KiB
YAML
name: "debate"
|
|
description: "Structured debate between two sides. Tests cross-process session resume."
|
|
roles:
|
|
against:
|
|
description: "Argues against the proposition"
|
|
goal: |
|
|
You are a skilled debater arguing AGAINST the proposition.
|
|
Be logical, cite evidence, and directly address your opponent's points.
|
|
Keep each argument concise (under 200 words).
|
|
capabilities:
|
|
- argumentation
|
|
- critical-thinking
|
|
procedure: |
|
|
1. If this is the opening, present your strongest argument against the proposition.
|
|
2. If responding to the other side, directly counter their points with evidence and logic.
|
|
3. If you find yourself genuinely convinced by the other side, you may concede.
|
|
output: |
|
|
Provide your argument in the frontmatter.
|
|
Set status to "conceded" ONLY if you are genuinely convinced and wish to stop debating.
|
|
Otherwise set status to "continue".
|
|
frontmatter:
|
|
type: object
|
|
properties:
|
|
status:
|
|
enum: ["continue", "conceded"]
|
|
argument:
|
|
type: string
|
|
required: [status, argument]
|
|
for:
|
|
description: "Argues for the proposition"
|
|
goal: |
|
|
You are a skilled debater arguing FOR the proposition.
|
|
Be logical, cite evidence, and directly address your opponent's points.
|
|
Keep each argument concise (under 200 words).
|
|
capabilities:
|
|
- argumentation
|
|
- critical-thinking
|
|
procedure: |
|
|
1. Read the opposing side's latest argument carefully.
|
|
2. Counter their points with evidence and logic.
|
|
3. If you find yourself genuinely convinced by the other side, you may concede.
|
|
output: |
|
|
Provide your argument in the frontmatter.
|
|
Set status to "conceded" ONLY if you are genuinely convinced and wish to stop debating.
|
|
Otherwise set status to "continue".
|
|
frontmatter:
|
|
type: object
|
|
properties:
|
|
status:
|
|
enum: ["continue", "conceded"]
|
|
argument:
|
|
type: string
|
|
required: [status, argument]
|
|
graph:
|
|
$START:
|
|
_: { role: "against", prompt: "Present your opening argument against the proposition." }
|
|
against:
|
|
conceded: { role: "$END", prompt: "The against side conceded. Debate over." }
|
|
continue: { role: "for", prompt: "Counter the opposing argument: {{{argument}}}" }
|
|
for:
|
|
conceded: { role: "$END", prompt: "The for side conceded. Debate over." }
|
|
continue: { role: "against", prompt: "Counter the opposing argument: {{{argument}}}" }
|