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: new: { role: "against", prompt: "Present your opening argument against the proposition." } resume: { role: "against", prompt: "Review the previous debate output and continue the 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}}}" }