diff --git a/docs/testing.md b/docs/testing.md index d817cfa0..a3f068bb 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -157,7 +157,7 @@ The gate runs, in order: 2. the guide jargon check (`npm run seo:jargon`): no generated guide in `public/` other than `/lincoln-douglas-debate` and `/policy-debate` may use framework, contention, warrant or impact calculus more than once in its visible text or its JSON-LD ([`scripts/check_jargon.py`](../scripts/check_jargon.py)) 3. lint 4. type checking -5. unit tests +5. unit tests, including the comparison-page templating check: no sentence of more than 12 words may appear on more than two of the seven comparison pages, apart from the pricing sentence and the byline and disclosure lines ([`scripts/check_templating.py`](../scripts/check_templating.py), run by `src/test/seo/comparison-templating.test.ts`) 6. collaboration service tests 7. native Edge Function tests 8. production build diff --git a/public/ai-debate-tools-for-teachers/index.html b/public/ai-debate-tools-for-teachers/index.html index 86548e33..dc48b8d8 100644 --- a/public/ai-debate-tools-for-teachers/index.html +++ b/public/ai-debate-tools-for-teachers/index.html @@ -35,14 +35,15 @@ body.teach h1{font-size:clamp(2.3rem,6vw,3.8rem);padding-top:28px} body.teach .hero-note{background:#0B1426;color:#EEF4FF;margin:0 -16px;padding:8px 22px 22px;border-radius:0 0 32px 32px} body.teach .hero-note a{color:#FCE48A} -body.teach .wins{list-style:none;padding:0}body.teach .wins li{display:flex;align-items:center;margin:6px 0} +body.teach .checklist{list-style:none;padding:0;margin:4px 0 12px}body.teach .checklist li{margin:6px 0}body.teach .checklist li::before{content:"";display:inline-block;width:.9em;height:.9em;border:2px solid #FCE48A;border-radius:4px;margin-right:10px;vertical-align:-1px} +body.teach .hero-note .kicker{color:#FCE48A} body.teach .scene{padding:8px 0 4px;border-top:1px solid #CDD7E4} body.teach .scene.first{border-top:none;background:#fff;margin:18px -16px 0;padding:8px 22px 18px;border-radius:24px} body.teach .kicker{font-family:Fredoka,Nunito,sans-serif;color:#0556D6;margin-bottom:0} body.teach .club{background:#FFF8DB;margin:0 -16px;padding:8px 22px 18px;border-radius:24px} body.teach .privacy{font-size:1.15rem} - +
@@ -56,14 +57,20 @@

AI debate tools for teachers

The pick for a class with no sign-ups

-

If the lesson is tomorrow, DebateOwl's free tools are the pick: nothing to install, no student accounts, and a timer you can put on the projector. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account. For the wider map, see the short answer. Topic ideas live on debate topics for students, and flowing is covered in how to flow in debate. A club that needs cases and rounds should read how to prepare for a debate with AI.

- +

If the lesson is tomorrow, DebateOwl's free tools are the pick: nothing to install, no student accounts, and a timer you can put on the projector. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate timer, motion generator, flow sheet and speech-time calculator are free with no account. For the wider map, see the short answer. Topic ideas live on debate topics for students, and flowing is covered in how to flow in debate. A club that needs cases and rounds should read how to prepare for a debate with AI.

+

Checklist for tomorrow's lesson

+

Open the free classroom timer

Scenario 1

I want to run a debate tomorrow with no sign-ups

-

Use DebateOwl's free tools. The timer knows seven formats (Public Forum, Lincoln-Douglas, Policy, British Parliamentary, World Schools, Asian Parliamentary and School 4-6-6-3), shows protected time, and has points-of-information knocks and prep banks. You can build a custom format, share it as a link, and embed the timer. The motion generator has 300 original motions and a 3-motion veto drill. The flow sheet prints on A4 or Letter. The timer saves the round in the browser, not on a server. Spanish and Hungarian versions exist at /es/tools and /hu/tools.

+

Use DebateOwl's free tools. The timer knows seven formats (Public Forum, Lincoln-Douglas, Policy, British Parliamentary, World Schools, Asian Parliamentary and School 4-6-6-3), shows protected time, and has points-of-information knocks and prep banks. You can build a custom format, share it as a link, and embed the timer. The motion generator has 300 original motions and a 3-motion veto drill. The flow sheet prints on A4 or Letter. The timer saves the round in the browser, not on a server. There are Spanish and Hungarian versions too.

That is the clearest fit when you refuse to spend the lesson on accounts. Open the tools, the motion generator and the flow sheet from any laptop on the projector.

@@ -87,7 +94,7 @@

I want a written discussion I can grade

Scenario 5

My debate club is preparing for a competition

-

This is where the DebateOwl app is the pick. Students get a case they can read out, with "If they say… we answer…" replies, Crossfire drills and timed Sparring in School 4-6-6-3, Lincoln-Douglas or Public Forum, in English, Spanish or Hungarian. There is no teacher dashboard. It is built for the students who are preparing, not for a screen that shows every student at once. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account.

+

This is where the DebateOwl app is the pick. Students get a case they can read out, with "If they say… we answer…" replies, Crossfire drills and timed Sparring in School 4-6-6-3, Lincoln-Douglas or Public Forum, in English, Spanish or Hungarian. There is no teacher dashboard. It is built for the students who are preparing, not for a screen that shows every student at once. The app is paid after a 3-day free trial.

If you also want roles, timing and judges' score sheets for a live in-class debate, with an AI analysis from uploaded audio, Camelot for Debate does that in Italian and English. P17

@@ -101,7 +108,7 @@

Before you use any AI tool with students

DebateOwl's free tools need no account, and the timer saves the round in the browser, not on a server. The app, once a student signs in, keeps cases and rounds behind that account.

-

Questions from teachers

What should I use if I want a free tool for class tomorrow?

DebateOwl's free tools, if you want no student accounts: the timer, the motion generator and the flow sheet. For a written discussion you can grade, Kialo Edu. For AI-judged class tournaments, ArguFight for Schools is free for classrooms.

Can students debate an AI in class?

Yes. Symbai gives each student their own AI opponent in a workspace the teacher sets up, and SchoolAI lets teachers build AI activities and watch them live. SchoolAI's pages we opened do not call it a debate product. It is a general classroom platform where you can build a debate activity as a Space.

Do students need accounts for DebateOwl's tools?

No. The tools at /tools run in the browser with no account. The timer saves the round in the browser, not on a server.

Is the DebateOwl app free for schools?

The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account.

Can I project the debate timer?

Yes. It has a fullscreen mode, and it can be embedded on a class site.

+

Questions from teachers

What should I use if I want a free tool for class tomorrow?

DebateOwl's free tools, if you want no student accounts: the timer, the motion generator and the flow sheet. For a written discussion you can grade, Kialo Edu. For AI-judged class tournaments, ArguFight for Schools is free for classrooms.

Can students debate an AI in class?

Yes. Symbai gives each student their own AI opponent in a workspace the teacher sets up, and SchoolAI lets teachers build AI activities and watch them live. SchoolAI's pages we opened do not call it a debate product. It is a general classroom platform where you can build a debate activity as a Space.

Do students need accounts for DebateOwl's tools?

No. The free tools run in the browser with no account. The timer saves the round in the browser, not on a server.

Is the DebateOwl app free for schools?

No. The app is paid after a 3-day free trial. The timer, motion generator and flow sheet stay free for the whole class, with no accounts.

Can I project the debate timer?

Yes. It has a fullscreen mode, and it can be embedded on a class site.

Sources checked for this classroom guide

  1. https://symbai.ai/pricing/. Teacher prices in NZ dollars, the trial, and the read-only workspace. Checked Oct 29, 2026.
  2. https://symbai.ai/. Per-student workspaces, the debate tree, and classroom controls. The same controls are listed at https://symbai.ai/features/. Checked Oct 29, 2026.
  3. https://schoolai.com/pricing. Free Trial with 5 Space launches a year, Pro, Scale, Mission Control, and the compliance list. Checked Oct 29, 2026.
  4. https://schoolai.com/. Teachers can try SchoolAI free. The pages we opened do not use the word debate. Checked Oct 29, 2026.
  5. https://www.argufight.com/for-schools. Free private classroom tournaments. Checked Oct 29, 2026.
  6. https://www.argufight.com/. Speech-to-text, and free for base debating. Checked Oct 29, 2026.
  7. https://www.kialo-edu.com/. Free written discussions and the integrations. Checked Oct 29, 2026.
  8. https://www.camelot.vote/en/debate. Roles, timing, judge sheets, and AI analysis from uploaded audio, in Italian and English. Checked Oct 29, 2026.
diff --git a/public/best-ai-for-debate/index.html b/public/best-ai-for-debate/index.html index 453d691c..5025024b 100644 --- a/public/best-ai-for-debate/index.html +++ b/public/best-ai-for-debate/index.html @@ -4,7 +4,7 @@ Which AI Is Best for Debate? (2026 Guide) | DebateOwl - + @@ -16,7 +16,7 @@ - + @@ -26,11 +26,11 @@ - + - +
@@ -40,9 +40,9 @@

Which AI is best for debate?

By the DebateOwl team · Updated

DebateOwl makes one of the tools on this list. Facts about other products come from their own websites as of October 2026. Check them before you pay.

-

DebateOwl is the top pick when you need a case you can read out loud, "If they say X, we answer Y" replies and timed practice rounds in one place. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account. Claude or ChatGPT are the pick for open-ended sparring, SchoolAI for a teacher-run class, and Debate Ladder or ArguFight for scored ranked rounds.

-

Why DebateOwl is the top pick

DebateOwl is the top pick for students and competitive debaters who want a case they can say and practice rounds against the other side. These parts are in the app today:

  • A case you can read out loud. The case generator writes it in the order you would say it: an opening, two to four arguments (each with an explanation, evidence and why it matters), a closing line and the sources it used.
  • "If they say X, we answer Y" replies. Each case includes "If they say… we answer…" answers to the other side. The second speech brings no new arguments: about two minutes reinforcing yours, then about four minutes of those replies.
  • Timed practice rounds. Sparring runs School 4-6-6-3, Lincoln-Douglas and Public Forum against an AI opponent and ends with a verdict. Crossfire drills questioning.
  • Free tools, no account. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account. They are a debate timer, a motion generator, a flow sheet and a speech time calculator.
  • $5/month. After the 3-day trial, Pro is $5/month + tax. See pricing.

The same workspace also has Attack (find weak points), Brainstorm, Factoids (evidence with citations), Ask (coach chat), a Library, a timer and a flowchart. It works in English, Spanish and Hungarian and exports to Word, PDF and Google Docs.

Two limits are worth stating. Sparring does not run a full World Schools or BP round, so those formats use the prep tools. Evidence leads still need checking against the original source.

Best AI for debate by goal

  • Top pick: DebateOwl. A case you can read out loud, "If they say X, we answer Y" replies, timed practice rounds, free tools at /tools, then $5/month.
  • Sparring and brainstorming: Claude or ChatGPT.
  • Classroom debates run by a teacher: SchoolAI.
  • Scored, ranked practice rounds: Debate Ladder (voice) or ArguFight (text, AI judge panel).
  • Quick pro/con argument lists: HyperWrite Debate Assistant.
  • Public Forum only: PublicForumAI.
  • Mapping an argument visually: Symbai.

Where DebateOwl wins

Choose DebateOwl when you want these together: a case you can read out loud, "If they say X, we answer Y" replies, timed practice rounds, the free tools at /tools, and $5/month after a 3-day trial. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account.

Use another tool on this page when the goal is only open-ended sparring, a teacher-run class, or a scored ranked ladder.

What other tools are best for

Claude (Anthropic)

Best for sparring on nuanced topics. People recommend it because it pushes back instead of just agreeing. As of October 2026, Claude models hold the top places on the public multi-turn LLM debate benchmark at github.com/lechmazur/debate. That benchmark has AI models debating each other, not students. Claude is free to start, with paid plans.

ChatGPT (OpenAI)

Best for brainstorming and counter-arguments. It is good for fast brainstorming, generating counter-arguments and Socratic back-and-forth. It has a free tier and paid plans. It doesn't keep a motion, side and speech times unless you set them up each time, and it tends to agree with you over a long chat. See DebateOwl vs ChatGPT.

How to make a general model a better opponent

  • Assign it the other side explicitly.
  • Tell it not to concede unless your answer actually beats the point.
  • Ask for one specific weak point at a time.

SchoolAI

Best for teacher-run K-12 classroom debates. Teachers set up AI "Spaces", for example a debate Space, and watch students in real time on a Mission Control dashboard. SchoolAI says it is FERPA/COPPA compliant. It has a free trial (5 Space launches a year) and paid Pro/Scale plans for schools. It is built for a teacher running the debate, not for solo competitive prep.

Debate Ladder

Best for voice practice with an Elo rating. You argue PRO or CON out loud (opening, rebuttal, closing) against an AI opponent, and an AI judge scores logic, responsiveness, clarity, delivery and persuasiveness. Ranked wins move your Elo, which starts at 500. New accounts get 100 free credits, and a debate costs about one credit per minute of speaking.

ArguFight

Best for scored text debates with an AI judge panel. Debates are against an AI or a real person. A panel of AI judge personas, each with a published paradigm, scores every debate 0–100. You get Elo rankings and belts. It is free to start.

HyperWrite Debate Assistant

Best for quick pro/con argument lists. It generates pro and con arguments with supporting points. It writes text but doesn't debate you. HyperWrite has a limited free tier, and Premium is $19.99/month.

PublicForumAI

Best for Public Forum practice. It covers Public Forum only: cases, flows and practice rounds. Practice is free, and $9.99/month removes the round limit and adds sourced evidence.

Symbai

Best for mapping an argument visually. It combines argument mapping and debating and offers a free trial.

Comparison table

ToolBest forPractice rounds against AICase prepFormatsPrice (Oct 2026)
DebateOwlSchool and competitive case prep plus timed practiceYes: timed Sparring with a verdict, Crossfire drillsYes: opening, arguments, "If they say… we answer…", closing, sourcesSparring: School 4-6-6-3, LD, PF; prep tools for any formatNo free plan: 3-day free trial, then $5/month + tax; /tools free
ClaudeSparring, nuanced topicsChat only (you set it up)Yes, by promptingAny (you set it up)Free tier, paid plans
ChatGPTBrainstorming, counter-argumentsChat only (you set it up)Yes, by promptingAny (you set it up)Free tier, paid plans
SchoolAITeacher-run K-12 classroom debatesThrough teacher-made SpacesGuided by the teacher's SpaceClassroomFree trial (5 Spaces/yr), paid school plans
Debate LadderVoice practice with an Elo ratingYes: opening, rebuttal, closing, AI judgeNoIts own 3-speech format100 free credits, then credits (~1/min)
ArguFightScored text debates, AI judge panelYes, vs AI or peopleNoIts own round formatFree to start
HyperWrite Debate AssistantQuick pro/con argument listsNoGenerates argumentsAnyLimited free, Premium $19.99/mo
PublicForumAIPublic Forum practiceYesYes (PF cases)PF onlyFree practice, $9.99/mo unlimited

Prices and features as of October 2026, from each product's website. Check before you subscribe.

For a way to test tools on one motion, see Best AI debate tools compared.

Compare by question

Each of these pages answers one narrower question:

Which should you pick?

You have a tournament or school debate coming up and need a case you can read out loud, plus practice against the other side. DebateOwl writes that case, with "If they say X, we answer Y" replies, and runs timed sparring. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account.

You're a teacher running a class debate. SchoolAI is for teacher-run K-12 classroom debates.

You're new to debate and want someone to argue with tonight. Try Claude or ChatGPT first, then DebateOwl when you want a case and timed rounds.

Can you use AI during a debate round?

Usually not. Most leagues restrict electronics or AI during rounds. Check your league's rules and use AI for preparation.

-

Frequently asked questions

Which AI is best for debate?

DebateOwl is the top pick for a case you can read out loud, "If they say X, we answer Y" replies and timed practice rounds. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account. Claude or ChatGPT fit open-ended sparring, SchoolAI a teacher-run class, and Debate Ladder or ArguFight scored ranked rounds.

Is ChatGPT or Claude better for debate practice?

Both work. People often pick Claude for nuanced pushback and ChatGPT for fast brainstorming. Neither runs timed rounds unless you set that up yourself.

What is the best AI debate app for students?

For a case you can read out loud and timed practice: DebateOwl. Classroom debates run by a teacher: SchoolAI. Ranked voice rounds: Debate Ladder.

Is there a free AI for debate practice?

Yes. General models have free tiers, ArguFight is free to start, Debate Ladder gives 100 free credits and PublicForumAI has free PF practice. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account.

What does a DebateOwl case include?

An opening, two to four arguments each with an explanation, evidence and why it matters, "If they say X, we answer Y" replies, a closing line and the sources it used. It is written in the order you would say it.

Can AI replace practicing with real people?

No. It's useful for extra reps and finding weak points, but human opponents and judges are still unpredictable in ways AI isn't. Use both.

+

DebateOwl is the top pick when you need a case you can read out loud, "If they say X, we answer Y" replies and timed practice rounds in one place, paid after a 3-day free trial. Claude or ChatGPT are the pick for open-ended sparring, SchoolAI for a teacher-run class, and Debate Ladder or ArguFight for scored ranked rounds.

+

Why DebateOwl is the top pick

DebateOwl is the top pick for students and competitive debaters who want a case they can say and practice rounds against the other side. These parts are in the app today:

  • A case you can read out loud. The case generator writes it in the order you would say it: an opening, two to four arguments (each with an explanation, evidence and why it matters), a closing line and the sources it used.
  • "If they say X, we answer Y" replies. Each case includes "If they say… we answer…" answers to the other side. The second speech brings no new arguments: about two minutes reinforcing yours, then about four minutes of those replies.
  • Timed practice rounds. Sparring runs School 4-6-6-3, Lincoln-Douglas and Public Forum against an AI opponent and ends with a verdict. Crossfire drills questioning.
  • Free tools, no account. The free debate tools are a debate timer, a motion generator, a flow sheet and a speech time calculator, separate from the app.
  • $5/month. After the 3-day trial, Pro is $5/month + tax. See pricing.

The same workspace also has Attack (find weak points), Brainstorm, Factoids (evidence with citations), Ask (coach chat), a Library, a timer and a flowchart. It works in English, Spanish and Hungarian and exports to Word, PDF and Google Docs.

Two limits are worth stating. Sparring does not run a full World Schools or BP round, so those formats use the prep tools. Evidence leads still need checking against the original source.

Best AI for debate by goal

  • Top pick: DebateOwl. A case you can read out loud, "If they say X, we answer Y" replies, timed practice rounds and free debate tools; the app is $5/month after the trial.
  • Sparring and brainstorming: Claude or ChatGPT.
  • Classroom debates run by a teacher: SchoolAI.
  • Scored, ranked practice rounds: Debate Ladder (voice) or ArguFight (text, AI judge panel).
  • Quick pro/con argument lists: HyperWrite Debate Assistant.
  • Public Forum only: PublicForumAI.
  • Mapping an argument visually: Symbai.

Where DebateOwl wins

Choose DebateOwl when you want these together: a case you can read out loud, "If they say X, we answer Y" replies, timed practice rounds, free debate tools, and $5/month after a 3-day trial.

Use another tool on this page when the goal is only open-ended sparring, a teacher-run class, or a scored ranked ladder.

What other tools are best for

Claude (Anthropic)

Best for sparring on nuanced topics. People recommend it because it pushes back instead of just agreeing. As of October 2026, Claude models hold the top places on the public multi-turn LLM debate benchmark at github.com/lechmazur/debate. That benchmark has AI models debating each other, not students. Claude is free to start, with paid plans.

ChatGPT (OpenAI)

Best for brainstorming and counter-arguments. It is good for fast brainstorming, generating counter-arguments and Socratic back-and-forth. It has a free tier and paid plans. It doesn't keep a motion, side and speech times unless you set them up each time, and it tends to agree with you over a long chat. See DebateOwl vs ChatGPT.

How to make a general model a better opponent

  • Assign it the other side explicitly.
  • Tell it not to concede unless your answer actually beats the point.
  • Ask for one specific weak point at a time.

SchoolAI

Best for teacher-run K-12 classroom debates. Teachers set up AI "Spaces", for example a debate Space, and watch students in real time on a Mission Control dashboard. SchoolAI says it is FERPA/COPPA compliant. It has a free trial (5 Space launches a year) and paid Pro/Scale plans for schools. It is built for a teacher running the debate, not for solo competitive prep.

Debate Ladder

Best for voice practice with an Elo rating. You argue PRO or CON out loud (opening, rebuttal, closing) against an AI opponent, and an AI judge scores logic, responsiveness, clarity, delivery and persuasiveness. Ranked wins move your Elo, which starts at 500. New accounts get 100 free credits, and a debate costs about one credit per minute of speaking.

ArguFight

Best for scored text debates with an AI judge panel. Debates are against an AI or a real person. A panel of AI judge personas, each with a published paradigm, scores every debate 0–100. You get Elo rankings and belts. It is free to start.

HyperWrite Debate Assistant

Best for quick pro/con argument lists. It generates pro and con arguments with supporting points. It writes text but doesn't debate you. HyperWrite has a limited free tier, and Premium is $19.99/month.

PublicForumAI

Best for Public Forum practice. It covers Public Forum only: cases, flows and practice rounds. Practice is free, and $9.99/month removes the round limit and adds sourced evidence.

Symbai

Best for mapping an argument visually. It combines argument mapping and debating and offers a free trial.

Comparison table

ToolBest forPractice rounds against AICase prepFormatsPrice (Oct 2026)
DebateOwlSchool and competitive case prep plus timed practiceYes: timed Sparring with a verdict, Crossfire drillsYes: opening, arguments, "If they say… we answer…", closing, sourcesSparring: School 4-6-6-3, LD, PF; prep tools for any formatNo free plan: 3-day free trial, then $5/month + tax; free tools
ClaudeSparring, nuanced topicsChat only (you set it up)Yes, by promptingAny (you set it up)Free tier, paid plans
ChatGPTBrainstorming, counter-argumentsChat only (you set it up)Yes, by promptingAny (you set it up)Free tier, paid plans
SchoolAITeacher-run K-12 classroom debatesThrough teacher-made SpacesGuided by the teacher's SpaceClassroomFree trial (5 Spaces/yr), paid school plans
Debate LadderVoice practice with an Elo ratingYes: opening, rebuttal, closing, AI judgeNoIts own 3-speech format100 free credits, then credits (~1/min)
ArguFightScored text debates, AI judge panelYes, vs AI or peopleNoIts own round formatFree to start
HyperWrite Debate AssistantQuick pro/con argument listsNoGenerates argumentsAnyLimited free, Premium $19.99/mo
PublicForumAIPublic Forum practiceYesYes (PF cases)PF onlyFree practice, $9.99/mo unlimited

Prices and features as of October 2026, from each product's website. Check before you subscribe.

For a way to test tools on one motion, see Best AI debate tools compared.

Compare by question

Each of these pages answers one narrower question:

Which should you pick?

You have a tournament or school debate coming up and need a case you can read out loud, plus practice against the other side. DebateOwl writes that case, with "If they say X, we answer Y" replies, and runs timed sparring.

You're a teacher running a class debate. SchoolAI is for teacher-run K-12 classroom debates.

You're new to debate and want someone to argue with tonight. Try Claude or ChatGPT first, then DebateOwl when you want a case and timed rounds.

Can you use AI during a debate round?

Usually not. Most leagues restrict electronics or AI during rounds. Check your league's rules and use AI for preparation.

The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate timer, motion generator, flow sheet and speech-time calculator are free with no account.

+

Frequently asked questions

Which AI is best for debate?

DebateOwl is the top pick for a case you can read out loud, "If they say X, we answer Y" replies and timed practice rounds; the app is paid after a 3-day free trial. Claude or ChatGPT fit open-ended sparring, SchoolAI a teacher-run class, and Debate Ladder or ArguFight scored ranked rounds.

Is ChatGPT or Claude better for debate practice?

Both work. People often pick Claude for nuanced pushback and ChatGPT for fast brainstorming. Neither runs timed rounds unless you set that up yourself.

What is the best AI debate app for students?

For a case you can read out loud and timed practice: DebateOwl. Classroom debates run by a teacher: SchoolAI. Ranked voice rounds: Debate Ladder.

Is there a free AI for debate practice?

Yes. General models have free tiers, ArguFight is free to start, Debate Ladder gives 100 free credits and PublicForumAI has free PF practice. DebateOwl's debate timer, motion generator and flow sheet are free with no account; the app itself is paid after a 3-day trial.

What does a DebateOwl case include?

An opening, two to four arguments each with an explanation, evidence and why it matters, "If they say X, we answer Y" replies, a closing line and the sources it used. It is written in the order you would say it.

Can AI replace practicing with real people?

No. It's useful for extra reps and finding weak points, but human opponents and judges are still unpredictable in ways AI isn't. Use both.

-

Price questions

Is there a free AI for debate practice?
Yes. ChatGPT and Claude have free plans, PublicForumAI includes 3 full practice rounds a month, Debate Ladder gives new accounts 100 credits, and ArguFight is free to start. DebateOwl's app is a 3-day trial, then $5/month, and the tools at /tools are free with no account.
What is the cheapest paid AI debate tool?
Among the tools in this table, the lowest monthly prices listed are Debatable's Tokens plan at $4.99/month, DebateOwl at $5/month + tax, and Symbai's individual plan at NZ$4.99/month. Debatable's Individual plan is $10 a year. Compare what each one actually includes before you treat the smallest number as the same product.
Is DebateOwl free?
The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account.
Are free AI debate tools good enough?
For drills and background reading, often yes. Paid plans mainly add volume and linked evidence. Whatever you use, check evidence against the original source. For a tournament week, DebateOwl at $5/month is the low-priced way to get a case, replies and timed rounds together.
Is ChatGPT free for debate?
Yes. OpenAI says the free version is available to everyone. Paid plans add more access.
+

Price questions

Is there a free AI for debate practice?
Yes. ChatGPT and Claude have free plans, PublicForumAI includes 3 full practice rounds a month, Debate Ladder gives new accounts 100 credits, and ArguFight is free to start. DebateOwl's app is paid after a 3-day trial, and its timer and motion generator cost nothing.
What is the cheapest paid AI debate tool?
Among the tools in this table, the lowest monthly prices listed are Debatable's Tokens plan at $4.99/month, DebateOwl at $5/month + tax, and Symbai's individual plan at NZ$4.99/month. Debatable's Individual plan is $10 a year. Compare what each one actually includes before you treat the smallest number as the same product.
Is DebateOwl free?
The app is not: you get a 3-day free trial, then Pro at $5/month + tax. The timer, flow sheet and motion generator on its free tools page cost nothing.
Are free AI debate tools good enough?
For drills and background reading, often yes. Paid plans mainly add volume and linked evidence. Whatever you use, check evidence against the original source. For a tournament week, DebateOwl at $5/month is the low-priced way to get a case, replies and timed rounds together.
Is ChatGPT free for debate?
Yes. OpenAI says the free version is available to everyone. Paid plans add more access.

Sources for the prices

  1. https://chatgpt.com/pricing. Free version available to everyone. Go, Plus and Pro are on the page; the FAQ also names Business and Enterprise. No dollar prices in the text we opened. Checked Oct 29, 2026.
  2. https://claude.com/pricing. Free $0. Pro $17/mo annual or $20 monthly. Max from $100. Free plan: web search, memory, voice. Context window up to 1M, varying by model. Checked Oct 29, 2026.
  3. https://publicforumai.com/pricing. Free tier and Premium at $9.99/mo or $79/yr. Checked Oct 29, 2026.
  4. https://debateladder.com/. 100 free credits. About one credit per minute. /pricing returned 404. Checked Oct 29, 2026.
  5. https://www.argufight.com/. Free to start. Free forever for base debating. Checked Oct 29, 2026.
  6. https://www.argufight.com/for-schools. Free for classrooms. Checked Oct 29, 2026.
  7. https://debatable.com/pricing. Voice minutes and the Individual, Voice, Tokens, BYOK, Team and school prices. Checked Oct 29, 2026.
  8. https://cardinaldebate.org/. Core tools free forever. Pro $10/month or $75 a season. Checked Oct 29, 2026.
  9. https://www.prilo.ai/nsda. $15/month or $60/year. Checked Oct 29, 2026.
  10. https://www.hyperwriteai.com/aitools/debate-assistant. Limited trial. Premium $19.99/mo. Ultra $44.99/mo. Checked Oct 29, 2026.
  11. https://www.hyperwriteai.com/pricing. Premium and Ultra, including annual prices. Checked Oct 29, 2026.
  12. https://www.debatearena.app/ai-debate-practice. Free plan and Gold. No Gold price on the page. Checked Oct 29, 2026.
  13. https://symbai.ai/pricing/. NZ$ prices, trial, and the free read-only workspace. Checked Oct 29, 2026.
  14. https://www.kialo-edu.com/. Free, and the site says it always will be. Checked Oct 29, 2026.
diff --git a/public/how-to-prepare-for-a-debate-with-ai/index.html b/public/how-to-prepare-for-a-debate-with-ai/index.html index 0177747c..aed550b8 100644 --- a/public/how-to-prepare-for-a-debate-with-ai/index.html +++ b/public/how-to-prepare-for-a-debate-with-ai/index.html @@ -36,11 +36,11 @@ body.prep .steps{list-style:none;padding:0;margin:0;border-left:3px solid #0A6FF0} body.prep .steps li{padding:0 0 8px 22px;position:relative} body.prep .steps li::before{content:"";position:absolute;left:-8px;top:8px;width:13px;height:13px;border-radius:50%;background:#0A6FF0} -body.prep .wins{list-style:none;padding:0}body.prep .wins li{display:flex;align-items:center;margin:4px 0} +body.prep .row{display:flex;align-items:center;gap:4px;border-top:2px solid #0A6FF0;border-bottom:2px solid #0A6FF0;padding:10px 0;margin:14px 0} body.prep .sheet{background:#FFF8DB;border:3px solid #0B1426;border-radius:8px;padding:8px 22px 18px;margin-top:28px} body.prep .sheet ol li{margin:8px 0} - +
@@ -54,10 +54,11 @@

How to prepare for a debate with AI

Seven steps, DebateOwl first

-

That is the part DebateOwl is built for: a case you can read out loud, "If they say X, we answer Y" replies, and timed practice rounds, with the separate tools at /tools free and the app at $5/month after a 3-day trial. The wider comparison is the short answer. If you are choosing between chatbots first, read ChatGPT vs Claude for debate. A head-to-head with a ranked voice game is DebateOwl vs Debate Ladder. Teachers running the class itself should read AI debate tools for teachers. Case structure in general is in how to write a debate case.

-
  • Brainstorm, then a case you can read
  • Replies in the case itself
  • Crossfire, then a timed round
  • Free timer for every other format
+

DebateOwl fits at step 3: once you know what each side must prove, the case generator drafts the arguments and the "If they say…" replies together, and Sparring times the round at step 7. The wider comparison is the short answer. If you are choosing between chatbots first, read ChatGPT vs Claude for debate. A head-to-head with a ranked voice game is DebateOwl vs Debate Ladder. Teachers running the class itself should read AI debate tools for teachers. Case structure in general is in how to write a debate case.

+

Where the app saves the most time: steps 3 to 5 come back as one draft you can read aloud.

  1. 1. Read the motion

    In DebateOwl. Open Brainstorm on the Current Debate and ask what each side has to prove.

    With any AI. Paste the motion and ask it to define the terms and say what each side must prove. See the related guide.

  2. 2. Gather sources

    In DebateOwl. Use Factoids for one claim and the Library for sources you already trust.

    With any AI. Ask for the source and the year of every fact, then open each one. Cut anything you cannot find. See the related guide.

  3. 3. Draft the arguments

    In DebateOwl. The case generator writes the opening, two to four arguments, and why each matters.

    With any AI. Ask for a point, an explanation, evidence with a source and year, and why it matters. Do not accept a wall of text. See the related guide.

  4. 4. Predict the other side

    In DebateOwl. Run Attack on your case, and read the case's own "If they say…" lines.

    With any AI. Ask for the strongest case against you, written so a fan of that side would agree. See the related guide.

  5. 5. Write the replies

    In DebateOwl. The case already includes "If they say X, we answer Y" blocks. Regenerate one weak block if you need to.

    With any AI. Demand one short answer per opposing point, in words you could say aloud.

  6. 6. Drill the questions

    In DebateOwl. Crossfire asks one question at a time, or lets the AI question you.

    With any AI. Say you will answer one question at a time and that it should wait. See the related guide.

  7. 7. Practise at real times

    In DebateOwl. Sparring runs School 4-6-6-3, Lincoln-Douglas or Public Forum and ends with a verdict. For every other format, use the free timer.

    With any AI. You keep the clock yourself. The free timer already knows seven formats. See the related guide.

Generate your first case in the 3-day trial

+

The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate timer, motion generator, flow sheet and speech-time calculator are free with no account.

A worked second speech: phones in class

@@ -78,7 +79,7 @@

Second speech, about 6 minutes

  • If they say "Parents want to reach their children", we answer: parents can call the office, and students can check messages at lunch. A class period is short enough that a delay is not the same as being unreachable.
  • Closing line. That is why phones belong outside the lesson: the class stays on the work, and a real emergency still has a way through.

    -

    This is the shape DebateOwl's case generator produces for the second-speaker role. Every case also ends with the sources it used. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account.

    +

    This is the shape DebateOwl's case generator produces for the second-speaker role. Every case also ends with the sources it used.

    What you still decide yourself

    @@ -90,7 +91,7 @@

    What you still decide yourself

    Teachers who want the class to do this without accounts can put the timer on a projector and print the flow sheet. Students who are preparing a dated round should be in the app, because that is where the case, the replies and the timed round stay attached to one motion. Both can be true in the same week.

    If you only have twenty minutes, do the smallest version. Read the motion, generate the case, say the second speech's reply blocks once, and open one source. That is a complete prep, not a sketch you feel guilty about. The rest of the week can add the timed round.

    -

    Questions about using AI for prep

    Can AI help me prepare for a debate?

    Yes, as long as you treat what it gives you as a draft. Use it for the slow parts, and keep the judgement calls. Check every source before it goes into a speech.

    What should a second speech include?

    No new arguments: about two minutes backing up your team's arguments, then about four minutes of "If they say X, we answer Y" replies.

    Is using AI for debate prep cheating?

    Prep is usually fine, but most leagues restrict electronics or AI during the round itself. Check your league's rules.

    How do I stop the AI making up evidence?

    Ask for the source and year of every fact, open each one, and cut anything you can't find.

    Which AI should I use?

    For this plan, DebateOwl is the pick, because the modes match the steps. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account. A wider comparison is on the short-answer page linked above.

    +

    Questions about using AI for prep

    Can AI help me prepare for a debate?

    Yes, as long as you treat what it gives you as a draft. Use it for the slow parts, and keep the judgement calls. Check every source before it goes into a speech.

    What should a second speech include?

    No new arguments: about two minutes backing up your team's arguments, then about four minutes of "If they say X, we answer Y" replies.

    Is using AI for debate prep cheating?

    Prep is usually fine, but most leagues restrict electronics or AI during the round itself. Check your league's rules.

    How do I stop the AI making up evidence?

    Ask for the source and year of every fact, open each one, and cut anything you can't find.

    Which AI should I use?

    For this plan, DebateOwl is the pick, because the modes match the steps, and it is paid after a 3-day trial. A wider comparison is on the short-answer page linked above.

    Notes for this prep plan

    1. https://chatgpt.com/pricing. A free chatbot is enough for the 'with any AI' lines. The free version is available to everyone. Checked Oct 29, 2026.
    2. https://claude.com/pricing. Claude's free plan is the other general chatbot this plan allows. Checked Oct 29, 2026.
    diff --git a/public/llms.txt b/public/llms.txt index 3adf9168..02f25f46 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -56,7 +56,7 @@ Free to use, no account needed, and they run in the browser. ## Compare -- [Which AI is best for debate?](https://debateowl.com/best-ai-for-debate): DebateOwl is the top pick for a case you can read out loud, If they say X, we answer Y replies, timed practice rounds, free tools and $5/month, with a dated comparison of Claude, ChatGPT, SchoolAI, Debate Ladder, ArguFight, HyperWrite and PublicForumAI +- [Which AI is best for debate?](https://debateowl.com/best-ai-for-debate): DebateOwl is the top pick for a case you can read out loud, "If they say X, we answer Y" replies and timed practice rounds (free tools; app $5/month after a 3-day trial), with a dated comparison of Claude, ChatGPT, SchoolAI, Debate Ladder, ArguFight, HyperWrite and PublicForumAI - [Best AI Debate Tools Compared (2026)](https://debateowl.com/best-ai-debate-tools): six AI debate tools side by side on cases, replies, timed rounds and price, plus a one-hour test to run on any tool - [DebateOwl vs ChatGPT for Debate Prep](https://debateowl.com/debateowl-vs-chatgpt): How DebateOwl and ChatGPT compare for debate prep, from structured case and rebuttal workflows to evidence research and timed practice rounds. - [DebateOwl vs WinDebate](https://debateowl.com/debateowl-vs-windebate): How DebateOwl and WinDebate compare on case generation, rebuttal drills, evidence research, supported formats, pricing and day-to-day workflow. diff --git a/scripts/check_templating.py b/scripts/check_templating.py new file mode 100644 index 00000000..faca156c --- /dev/null +++ b/scripts/check_templating.py @@ -0,0 +1,112 @@ +"""Fail when the seven comparison pages share long sentences: python3 scripts/check_templating.py. + +Each comparison page needs its own angle, so no sentence longer than MAX_WORDS +words may appear in the visible text of more than MAX_PAGES of them. The pricing +sentence (once per page by design) and the byline, disclosure and "Last updated" +lines are exempt. +""" + +from collections import defaultdict +from html import unescape +from html.parser import HTMLParser +from pathlib import Path +import re +import sys + +PUBLIC = Path(__file__).resolve().parents[1] / "public" +PAGES = [ + "best-ai-for-debate", + "ai-debate-tools-for-teachers", + "best-ai-for-public-forum", + "chatgpt-vs-claude-for-debate", + "debateowl-vs-debate-ladder", + "free-vs-paid-ai-debate-tools", + "how-to-prepare-for-a-debate-with-ai", +] +MAX_WORDS = 12 +MAX_PAGES = 2 +PRICING_START = "The DebateOwl app has no free plan" +# Elements whose text is the same on every page on purpose. +EXEMPT_CLASSES = {"byline", "disclosure", "updated", "dates"} +BLOCKS = {"p", "li", "h1", "h2", "h3", "h4", "td", "th", "dt", "dd", "summary", "caption", "label", "legend", "pre", "div", "section", "aside", "nav", "footer", "header", "tr", "ol", "ul", "dl", "table", "figcaption"} +VOID = {"br", "img", "input", "meta", "link", "hr", "source", "wbr"} + + +class Blocks(HTMLParser): + """Visible body text, split into one string per block element.""" + + def __init__(self): + super().__init__(convert_charrefs=True) + self.in_body = False + self.hidden = 0 + self.stack = [] + self.blocks = [] + self.current = [] + + def flush(self): + text = re.sub(r"\s+", " ", "".join(self.current)).strip() + if text: + self.blocks.append(text) + self.current = [] + + def handle_starttag(self, tag, attrs): + if tag == "body": + self.in_body = True + if tag in VOID: + return + classes = set((dict(attrs).get("class") or "").split()) + exempt = tag in {"script", "style"} or bool(classes & EXEMPT_CLASSES) + if tag in BLOCKS: + self.flush() + self.stack.append((tag, exempt)) + if exempt: + self.hidden += 1 + + def handle_endtag(self, tag): + if tag in VOID: + return + while self.stack: + open_tag, exempt = self.stack.pop() + if exempt: + self.hidden -= 1 + if open_tag == tag: + break + if tag in BLOCKS: + self.flush() + + def handle_data(self, data): + if self.in_body and not self.hidden: + self.current.append(data) + + +def sentences(html): + parser = Blocks() + parser.feed(html) + parser.flush() + for block in parser.blocks: + for sentence in re.split(r"(?<=[.!?])[\"”’)]*\s+(?=[\"“‘(]?[A-Z0-9$])", unescape(block)): + sentence = sentence.strip() + if sentence: + yield sentence + + +def main(): + seen = defaultdict(set) + for slug in PAGES: + html = (PUBLIC / slug / "index.html").read_text() + for sentence in sentences(html): + if len(sentence.split()) <= MAX_WORDS or sentence.startswith(PRICING_START) or "Last updated" in sentence: + continue + seen[re.sub(r"\s+", " ", sentence).lower()].add(slug) + shared = {sentence: pages for sentence, pages in seen.items() if len(pages) > MAX_PAGES} + for sentence, pages in sorted(shared.items()): + print(f"On {len(pages)} pages ({', '.join(sorted(pages))}):\n {sentence}") + if shared: + print(f"\n{len(shared)} sentence(s) of more than {MAX_WORDS} words appear on more than {MAX_PAGES} comparison pages. Give each page its own wording.") + return 1 + print(f"Templating check passed: no sentence of more than {MAX_WORDS} words is on more than {MAX_PAGES} of the {len(PAGES)} comparison pages.") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/generate_seo_content.py b/scripts/generate_seo_content.py index 0c9751ca..a29fadd8 100644 --- a/scripts/generate_seo_content.py +++ b/scripts/generate_seo_content.py @@ -2,6 +2,7 @@ from datetime import date from pathlib import Path import html +from html import unescape import json import re import sys @@ -34,6 +35,11 @@ def site_sentence(key): # What a generated case contains, and the app-versus-free-tools pricing fact, as the home page states them. CASE_FORMAT = site_sentence("caseFormat") FREE_PLAN = site_sentence("freePlan") +# FREE_PLAN as /best-ai-for-debate shows it once, in its call-to-action area, with the free tools linked by name. +FREE_PLAN_HTML = html.escape(FREE_PLAN).replace( + "the separate tools at /tools are free", + 'the separate timer, motion generator, flow sheet and speech-time calculator are free', +) # The SoftwareApplication description, the same as SOFTWARE_DESCRIPTION in src/lib/seo/pages.ts. SOFTWARE_DESCRIPTION = f'{SITE["tagline"]} {CASE_FORMAT}' if len(SOFTWARE_DESCRIPTION) > 300: @@ -99,7 +105,7 @@ def site_sentence(key): {"slug": "debate-speech-structure", "title": "Debate Speech Structure and Delivery | {product}", "description": "How to structure constructive, rebuttal and final debate speeches by format, with a timed outline and the delivery habits that judges notice.", "eyebrow": "Strategy guide", "h1": "Debate Speech Structure Guide", "lead": "Structure your speech so the judge can follow every argument and every comparison.", "features": ["Opening structure", "Rebuttal structure", "Final speech structure"], "sections": [["Why structure matters", ["A well-structured speech is easier to flow, easier to judge, and easier to win. The judge should never be confused about where you are."]], ["Opening speech structure", ["State your position, define key terms, present contentions with warrants and impacts, and preview weighing."]], ["Rebuttal and final speech structure", ["Respond to the key clash, extend your offense, weigh the comparison, and frame the ballot. End by telling the judge why you win."]]]}, {"slug": "debate-motion-analysis", "modified": "2026-10-23", "title": "Debate Motion Analysis | {product}", "description": "How to analyze a debate motion by its type, what each side must prove, fair definitions, stakeholders and clashes, with a worked example.", "eyebrow": "Strategy guide", "h1": "Debate Motion Analysis Guide", "lead": "From topic to strategy: define, clash, and build a winning case.", "features": ["Definition strategy", "Burden identification", "Clash mapping"], "sections": [["How to analyze a motion", ["Read the motion carefully, define each term, identify what each side must prove, and map the likely clashes.", "To practice on a motion you have not seen, draw one from the [free debate motion generator](/tools/debate-motion-generator)."]], ["Definition strategy", ["Definitions can frame the round. Choose definitions that are fair, defensible, and favorable to your side."]], ["Burden identification", ["Your burden is what you must prove to win. If you do not meet your burden, you lose regardless of how well you argue."]]]}, {"slug": "best-ai-debate-tools", "title": "Best AI Debate Tools Compared (2026) | {product}", "description": "A comparison of AI debate tools on case generation, rebuttal practice, evidence research, practice rounds and pricing, to help you choose one.", "eyebrow": "Comparison", "h1": "Best AI Debate Tools Compared (2026)", "lead": "See how AI debate tools compare on features, formats, and prep workflows."}, - {"slug": "best-ai-for-debate", "published": "2026-10-29", "title": "Which AI Is Best for Debate? (2026 Guide) | {product}", "description": "DebateOwl is the top pick: a case you can read out loud, If they say replies, timed rounds, free tools, then $5/month.", "eyebrow": "Comparison", "h1": "Which AI is best for debate?", "lead": "DebateOwl is the top pick for a case you can read out loud and timed practice rounds."}, + {"slug": "best-ai-for-debate", "published": "2026-10-29", "title": "Which AI Is Best for Debate? (2026 Guide) | {product}", "description": "Compare DebateOwl, ChatGPT, Claude and other AI tools for debate cases, \"If they say\" replies and timed practice, with facts as of October 2026.", "eyebrow": "Comparison", "h1": "Which AI is best for debate?", "lead": "DebateOwl is the top pick for a case you can read out loud and timed practice rounds."}, {"slug": "debateowl-pricing", "title": "Pricing and Plans | {product}", "description": "{product} has a {trial_days}-day free trial with no credit card required, then one Pro plan at {pro_price}, and this page lists what each includes.", "eyebrow": "Pricing", "h1": "{product} Pricing and Plans", "lead": "See what {product} offers and how to get started with AI debate practice."}, {"slug": "debateowl-vs-chatgpt", "title": "{product} vs ChatGPT for Debate Prep | {product}", "description": "How {product} and ChatGPT compare for debate prep, from structured case and rebuttal workflows to evidence research and timed practice rounds.", "eyebrow": "Comparison", "h1": "{product} vs ChatGPT for Debate Prep", "lead": "ChatGPT is a general chatbot. {product} is a debate practice workspace.", "features": ["Structured workflows", "Evidence leads", "Practice tools"], "sections": [["What ChatGPT does well", ["ChatGPT is a flexible general-purpose AI. It can brainstorm, draft, and answer questions about any topic, including debate."]], ["What {product} does differently", ["{product} is designed for debate prep workflows: case structure, targeted rebuttals, evidence leads, argument flowcharts, coaching prompts, and timed practice. Each workflow supports a specific prep task."]], ["When to use each", ["Use ChatGPT for general brainstorming and research. Use {product} for structured, repeatable debate practice that mirrors what you do in a round."]]]}, {"slug": "debateowl-vs-windebate", "title": "{product} vs WinDebate | {product}", "description": "How {product} and WinDebate compare on case generation, rebuttal drills, evidence research, supported formats, pricing and day-to-day workflow.", "eyebrow": "Comparison", "h1": "{product} vs WinDebate", "lead": "Two AI debate prep platforms compared on features and workflows.", "features": ["Feature comparison", "Format coverage", "Workflow differences"], "sections": [["WinDebate overview", ["WinDebate focuses on research, drills, feedback, and progress tracking for competitive debaters. It covers PF, LD, Congress, Policy, and Worlds."]], ["{product} overview", ["{product} focuses on structured prep workflows: case generation, rebuttal practice, evidence leads, argument flowcharts, coaching prompts, and online debate timers."]], ["How to choose", ["Compare format coverage, feature depth, feedback style, pricing, and which tool fits your actual tournament workflow."]]]}, @@ -659,7 +665,8 @@ def best_ai_llms_line(): """The /best-ai-for-debate summary in the Compare section.""" return ( f"- [Which AI is best for debate?]({page_url('best-ai-for-debate')}): " - f"{PRODUCT} is the top pick for a case you can read out loud, If they say X, we answer Y replies, timed practice rounds, free tools and $5/month, " + f'{PRODUCT} is the top pick for a case you can read out loud, "If they say X, we answer Y" replies and timed practice rounds (free tools; app $5/month after a 3-day trial), ' + f"with a dated comparison of Claude, ChatGPT, SchoolAI, Debate Ladder, ArguFight, HyperWrite and PublicForumAI" ) @@ -702,7 +709,7 @@ def spans_of(): {"@type": "ItemList", "name": "Best AI for debate by goal", "itemListElement": [{"@type": "ListItem", "position": index, "name": name, "url": url} for index, (name, url) in enumerate(page["items"], start=1)]}, {"@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": BASE + "/"}, {"@type": "ListItem", "position": 2, "name": "Best AI for debate", "item": page_url(page["slug"])}]}, ] - cta = f'' + cta = f'

    {FREE_PLAN_HTML}

    ' html = f''' @@ -753,8 +760,12 @@ def spans_of(): ''' - if FREE_PLAN not in html: - raise SystemExit(f"{page['slug']} is missing the pricing sentence") + body = html.split("]+>", " ", re.sub(r"", " ", body))) + if FREE_PLAN_HTML not in html or visible.count(FREE_PLAN.split(";")[0]) != 1: + raise SystemExit(f"{page['slug']} must state the pricing sentence exactly once, with the tools linked") + if "/tools" in visible: + raise SystemExit(f"{page['slug']} shows the path /tools; link the tools by name instead") if re.search(r"\b(frameworks?|contentions?|warrants?)\b", html, re.I): raise SystemExit(f"{page['slug']} contains debate jargon") return html diff --git a/scripts/seo_comparison_pages.py b/scripts/seo_comparison_pages.py index d7bf2230..2920be52 100644 --- a/scripts/seo_comparison_pages.py +++ b/scripts/seo_comparison_pages.py @@ -5,7 +5,7 @@ refuses jargon, a missing pricing sentence, or two pages that share more than two H2s. """ -from html import escape +from html import escape, unescape from pathlib import Path import json import re @@ -38,11 +38,13 @@ 'evidence that names its source and year, and why it matters, then "If they say… we answer…" replies, a closing line, and the sources it used. ' "You can regenerate one weak section without touching the rest." ) -WINS = ( - "That is the part DebateOwl is built for: a case you can read out loud, " - '"If they say X, we answer Y" replies, and timed practice rounds, ' - "with the separate tools at /tools free and the app at $5/month after a 3-day trial." +# The pricing sentence as the pages show it: once per page, in the call-to-action area, +# with the free tools named and linked instead of a bare "/tools". +PRICE_HTML = escape(PRICE).replace( + "the separate tools at /tools are free", + 'the separate timer, motion generator, flow sheet and speech-time calculator are free', ) +PRICE_START = f"The {PRODUCT} app has no free plan" JARGON = re.compile( r"\b(frameworks?|contentions?|warrants?|impact calculus|keretrendszer(?:t|ek)?|kontenció(?:k|t)?)\b", @@ -234,7 +236,7 @@ def page_ladder(): ) faqs = [ ("Is Debate Ladder free?", "New accounts get 100 free credits, and a debate costs about one credit per minute of speaking, according to its site (October 2026). More credits are sold; its /pricing page returned 404, so there is no published plan price beyond credits."), - ("Is DebateOwl free?", PRICE), + ("Is DebateOwl free?", "Not the app: it is paid after a 3-day free trial. Its debate timer, motion generator and flow sheet are free without an account."), ("Which should I use for a school debate next week?", "DebateOwl. It writes the case you will read and the answers to the other side, then lets you practise the round at real speech times. Debate Ladder is the better fit when the goal is ranked speaking reps on topics you did not choose."), ("Can I practise speaking out loud with DebateOwl?", "Yes. Sparring speeches can be typed or spoken."), ("Does Debate Ladder rank you?", "Yes. Ranked wins raise your Elo, which starts at 500, and losses lower it. Practice and custom debates are unrated."), @@ -258,14 +260,14 @@ def page_ladder(): ("Written case", 'Yes: opening, 2–4 arguments, "If they say… we answer…", closing, sources', "Not listed on its homepage"), ("Scoring", "Judged verdict after a Sparring round", "AI judge on 5 criteria, Elo from 500"), ("Voice", "Type or speak", "Voice-first; type in practice mode"), - ("Price", "No free plan: 3-day free trial, then $5/month + tax; /tools free", "100 free credits, then credits (about 1 per minute of speaking)"), + ("Price", "No free plan: 3-day free trial, then $5/month + tax; the free timer needs no account", "100 free credits, then credits (about 1 per minute of speaking)"), ] trs = "".join(f"{esc(a)}{esc(b)}{esc(c)}" for a, b, c in rows) body = f"""

    {TICK}Start here when the round is real. DebateOwl writes the case you will actually read, including the replies, then times the practice.

    The pick for a dated round

    -

    If your motion and your date are already set, DebateOwl is the pick. {esc(WINS)} The short answer across more tools is a separate page. Debate Ladder stays the right extra when you want frequent out-loud reps and a ranking, including if you are not in a tournament at all.

    +

    If your motion and your date are already set, DebateOwl is the pick. Its job is written prep: the speech and the replies are on the page before you say them, then a timed round gives you somewhere to say them, where Debate Ladder starts from your voice and a ranking. The short answer across more tools is a separate page. Debate Ladder stays the right extra when you want frequent out-loud reps and a ranking, including if you are not in a tournament at all.

    {wins([ "A case you can read out loud", '"If they say X, we answer Y" replies', @@ -274,6 +276,7 @@ def page_ladder(): "$5/month after a 3-day trial", ])}

    Build your case for the next round, then spar it

    +

    {PRICE_HTML}

    The 7-question checklist

    @@ -293,7 +296,7 @@ def page_ladder():

    What DebateOwl does well

    {esc(CASE)}

    Speaker roles follow a school round. The introductor gets the opening and the headline arguments. The first refutation speaker gets the full arguments. The second speaker brings no new arguments: about two minutes backing up the team's arguments, then about four minutes on "If they say X, we answer Y" replies, usually five or six blocks. The closing speaker brings no new arguments either: two or three reasons your side won, then the closing line.

    -

    Around that case, Attack looks for the weak link in the other side, Factoids researches a claim and names sources you still have to open, Crossfire drills questions, and Sparring runs a timed round in School 4-6-6-3, Lincoln-Douglas or Public Forum and ends with a judged verdict. World Schools, British Parliamentary, Policy and Congress use the prep tools, not a full simulated round. The app is in English, Spanish and Hungarian. Pro adds expanded AI prep access, all 10 models (including Claude Opus and Sonnet, GPT-6.1 Sol and Gemini), Active Grounding research and priority support. Evidence leads still need checking against the original source. {esc(PRICE)}

    +

    Around that case, Attack looks for the weak link in the other side, Factoids researches a claim and names sources you still have to open, Crossfire drills questions, and Sparring runs a timed round in School 4-6-6-3, Lincoln-Douglas or Public Forum and ends with a judged verdict. World Schools, British Parliamentary, Policy and Congress use the prep tools, not a full simulated round. The app is in English, Spanish and Hungarian. Pro adds expanded AI prep access, all 10 models (including Claude Opus and Sonnet, GPT-6.1 Sol and Gemini), Active Grounding research and priority support. Evidence leads still need checking against the original source.

    The free debate timer is separate from the app: seven formats, protected time, points-of-information knocks and prep banks, and it saves the round in the browser. See also the case generator, practice rounds, rebuttal practice and pricing.

    @@ -347,20 +350,20 @@ def page_ladder(): def page_price(): answer = ( - "Start with DebateOwl when you want a case you can read out, replies to the other side and timed rounds at the low end of paid prices. " - + PRICE + - " You can practise with AI for free: ChatGPT and Claude have free plans, PublicForumAI gives 3 practice rounds a month, Debate Ladder gives new accounts 100 credits, and ArguFight is free to start. " + "Start with DebateOwl when you want a case you can read out, replies to the other side and timed rounds at the low end of paid prices: " + "$5/month after a 3-day free trial, with its separate debate tools free. " + "You can practise with AI for free: ChatGPT and Claude have free plans, PublicForumAI gives 3 practice rounds a month, Debate Ladder gives new accounts 100 credits, and ArguFight is free to start. " "Paid plans mostly add more rounds, linked evidence or speaking time, at roughly $5 to $20 a month." ) faqs = [ - ("Is there a free AI for debate practice?", "Yes. ChatGPT and Claude have free plans, PublicForumAI includes 3 full practice rounds a month, Debate Ladder gives new accounts 100 credits, and ArguFight is free to start. DebateOwl's app is a 3-day trial, then $5/month, and the tools at /tools are free with no account."), + ("Is there a free AI for debate practice?", "Yes. ChatGPT and Claude have free plans, PublicForumAI includes 3 full practice rounds a month, Debate Ladder gives new accounts 100 credits, and ArguFight is free to start. DebateOwl's app is paid after a 3-day trial, and its timer and motion generator cost nothing."), ("What is the cheapest paid AI debate tool?", "Among the tools in this table, the lowest monthly prices listed are Debatable's Tokens plan at $4.99/month, DebateOwl at $5/month + tax, and Symbai's individual plan at NZ$4.99/month. Debatable's Individual plan is $10 a year. Compare what each one actually includes before you treat the smallest number as the same product."), - ("Is DebateOwl free?", PRICE), + ("Is DebateOwl free?", "The app is not: you get a 3-day free trial, then Pro at $5/month + tax. The timer, flow sheet and motion generator on its free tools page cost nothing."), ("Are free AI debate tools good enough?", "For drills and background reading, often yes. Paid plans mainly add volume and linked evidence. Whatever you use, check evidence against the original source. For a tournament week, DebateOwl at $5/month is the low-priced way to get a case, replies and timed rounds together."), ("Is ChatGPT free for debate?", "Yes. OpenAI says the free version is available to everyone. Paid plans add more access."), ] tools = [ - ("DebateOwl", "3-day free trial, no card; /tools free, no account", "$5/month + tax (Pro)", "All 10 models, Active Grounding, priority support. The case, the replies and timed rounds are the job.", "This site"), + ("DebateOwl", "3-day free trial, no card; the separate debate tools are free, no account", "$5/month + tax (Pro)", "All 10 models, Active Grounding, priority support. The case, the replies and timed rounds are the job.", "This site"), ("ChatGPT", "Free version available to everyone", "Go, Plus, Pro, plus Business and Enterprise (dollar prices not shown on the page we opened)", "More messages. Plus and Pro add more models and deep research. Study mode and voice are on the free plan too.", "P1"), ("Claude", "Free plan, $0", "Pro $20/mo monthly ($17/mo billed annually); Max from $100/mo", "More usage, Opus, Research. The free plan includes web search, memory and voice.", "P2"), ("PublicForumAI", "Free: 3 full practice rounds/mo, unlimited AI Flow drills, 5 AI cases/mo plus 2 Premium cases with real sources, 15 training modules", "Premium $9.99/mo or $79/yr", "Unlimited rounds, real sourced evidence with links, rounds and ballots kept. Free rounds are kept 30 days.", "P3"), @@ -381,8 +384,8 @@ def page_price(): body = f"""

    The pick on price

    -

    For a case you can read, replies, and timed rounds, DebateOwl is the row to read first. {esc(PRICE)} See the short answer if you want the wider map, or ChatGPT and Claude if the question is which general chatbot to open. Public Forum tools are compared speech by speech, and Debate Ladder is the ranked voice game.

    - {wins(["Readable case plus replies", "Timed Sparring rounds", "Free /tools, no account", "$5/month after the trial"])} +

    For a case you can read, replies, and timed rounds, DebateOwl is the row to read first. {PRICE_HTML} See the short answer if you want the wider map, or ChatGPT and Claude if the question is which general chatbot to open. Public Forum tools are compared speech by speech, and Debate Ladder is the ranked voice game.

    +

    {TICK}DebateOwl in one line: a readable case with replies and timed Sparring rounds, for $5 a month once the trial ends.

    Try the free tools first, no account

    @@ -461,8 +464,7 @@ def page_price(): body.prices table{min-width:920px;font-size:.95rem} body.prices tr.top{background:#EEF7FF} body.prices tr.top th{font-size:1.05rem} -body.prices .wins{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:10px 18px} -body.prices .wins li{display:flex;align-items:center} +body.prices .row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;background:#fff;border:2px solid #0B1426;border-radius:999px;padding:8px 16px;margin:0 0 14px} body.prices dt{font-family:Fredoka,Nunito,sans-serif;margin-top:16px} body.prices .steps{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start} body.prices .steps ol{font-size:1.05rem} @@ -496,7 +498,7 @@ def page_chat(): ("Can ChatGPT run a debate round with me?", "It can role-play an opponent if you set it up. It has no built-in speech timer or verdict for debate formats, so long rounds work better in a tool built for them."), ("Is Claude free?", "Yes. Claude has a free plan. Pro is $20/month billed monthly, or $17/month billed annually."), ("Will AI make up sources?", "It can, so open every source and confirm the exact claim before it goes on a card."), - ("What does DebateOwl add over a chatbot?", 'A saved workspace per motion, a case with "If they say… we answer…" replies, Crossfire drills and timed Sparring rounds with a verdict. ' + PRICE), + ("What does DebateOwl add over a chatbot?", 'A saved workspace per motion, a case with "If they say… we answer…" replies, Crossfire drills and timed Sparring rounds with a verdict. The app is paid after a 3-day trial.'), ] prompts = [ ("1. Hold the other side", "Take the other side of this motion and do not concede unless my answer beats your point. Stay on that side for the whole exchange."), @@ -509,9 +511,10 @@ def page_chat(): body = f"""

    The pick when you want the round set up

    -

    Open a chatbot for background. Come back to DebateOwl for the motion itself. {esc(WINS)} The short answer compares more tools. Prices for these plans are on free vs paid AI debate tools, and the full prep sequence is how to prepare for a debate with AI.

    - {wins(["One Current Debate per motion", "A case with replies, ready to read", "Sparring at real speech times", "$5/month after a 3-day trial"])} +

    Open a chatbot for background. Come back to DebateOwl for the motion itself. A chatbot starts every new chat without your motion, your side or your speech times; DebateOwl keeps all three in one Current Debate, with the case and its replies saved beside them. The short answer compares more tools. Prices for these plans are on free vs paid AI debate tools, and the full prep sequence is how to prepare for a debate with AI.

    +

    If you are exploring a topic you have never argued, pick ChatGPT. If you are pasting in a long case for critique, pick Claude. If you are preparing a set motion for a dated round, pick DebateOwl.

    Skip the prompt setup: get a case with replies ready

    +

    {PRICE_HTML}

    Where a debate tool does the setup for you

    @@ -522,10 +525,10 @@ def page_chat(): Remembers your motion, side and roleBuilt in: one Current Debate per motionOnly if you set it up (Projects or memory)Only if you set it up (Projects or memory) Case structureOpening, 2–4 arguments, "If they say… we answer…", closing, sourcesWhatever you promptWhatever you prompt Timed rounds with a verdictSparring: School 4-6-6-3, LD, PFNo built-in debate timerNo built-in debate timer - Free optionNo free app plan: 3-day free trial, then $5/month; /tools freeFree versionFree plan + Free optionNo free app plan: paid after a 3-day free trial; the debate timer is freeFree versionFree plan -

    {esc(PRICE)} Pair that with the DebateOwl vs ChatGPT page if you already live in one chatbot, and with rebuttal practice and cross-examination when you want the drills.

    +

    If you already live in one chatbot, the DebateOwl vs ChatGPT page goes further. For the drills themselves, see rebuttal practice and cross-examination.

    What general chatbots are good at in debate

    @@ -561,7 +564,7 @@ def page_chat():

    Using a chatbot and DebateOwl together

    -

    Use the chatbot for background reading and for a first list of ideas. Use DebateOwl once the motion is chosen: generate the case, read the replies, run Crossfire, then spar at the real times. {esc(PRICE)}

    +

    Use the chatbot for background reading and for a first list of ideas. Use DebateOwl once the motion is chosen: generate the case, read the replies, run Crossfire, then spar at the real times.

    {faq_block("Questions about chatbots and debate", faqs, "cards")} {sources("Notes on the chatbot pages", [ @@ -574,7 +577,8 @@ def page_chat(): body.chat{background:linear-gradient(#F2EEFF,#F7FAFE 280px)}body.chat main{width:min(1040px,calc(100% - 32px));margin:28px auto 70px} body.chat h1{font-size:clamp(2.2rem,5vw,3.6rem);max-width:16ch} body.chat .verdict{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;align-items:center} -body.chat .wins{list-style:none;padding:0}body.chat .wins li{display:flex;align-items:center;margin:6px 0} +body.chat .verdict>h2,body.chat .verdict>p:first-of-type,body.chat .verdict>p:last-child{grid-column:1/-1;margin-bottom:0} +body.chat .ifyou{background:#fff;border-radius:18px;padding:12px 16px;border:1px solid #E2D9FF} body.chat .split{display:grid;grid-template-columns:1fr 1fr;gap:22px} body.chat .qcards{display:grid;gap:12px}body.chat .qcards article{background:#fff;border-radius:18px;padding:14px 16px;border:1px solid #E2D9FF} body.chat table{min-width:720px;background:#fff}body.chat th:nth-child(2),body.chat td:nth-child(2){background:#EEF7FF} @@ -584,7 +588,7 @@ def page_chat(): "slug": "chatgpt-vs-claude-for-debate", "lang": "en", "body": "chat", - "title": "ChatGPT vs Claude for Debate: And When a Debate Tool Is Better | DebateOwl", + "title": "ChatGPT vs Claude for Debate (2026), and When to Use a Debate Tool | DebateOwl", "description": "ChatGPT and Claude both help with debate prep. Where each fits, prompts that make them argue back, and when a debate-specific tool saves time.", "h1": "ChatGPT vs Claude for debate prep", "question": "Is ChatGPT or Claude better for debate?", @@ -605,21 +609,27 @@ def page_teachers(): faqs = [ ("What should I use if I want a free tool for class tomorrow?", "DebateOwl's free tools, if you want no student accounts: the timer, the motion generator and the flow sheet. For a written discussion you can grade, Kialo Edu. For AI-judged class tournaments, ArguFight for Schools is free for classrooms."), ("Can students debate an AI in class?", "Yes. Symbai gives each student their own AI opponent in a workspace the teacher sets up, and SchoolAI lets teachers build AI activities and watch them live. SchoolAI's pages we opened do not call it a debate product. It is a general classroom platform where you can build a debate activity as a Space."), - ("Do students need accounts for DebateOwl's tools?", "No. The tools at /tools run in the browser with no account. The timer saves the round in the browser, not on a server."), - ("Is the DebateOwl app free for schools?", PRICE), + ("Do students need accounts for DebateOwl's tools?", "No. The free tools run in the browser with no account. The timer saves the round in the browser, not on a server."), + ("Is the DebateOwl app free for schools?", "No. The app is paid after a 3-day free trial. The timer, motion generator and flow sheet stay free for the whole class, with no accounts."), ("Can I project the debate timer?", "Yes. It has a fullscreen mode, and it can be embedded on a class site."), ] body = f"""

    The pick for a class with no sign-ups

    -

    If the lesson is tomorrow, DebateOwl's free tools are the pick: nothing to install, no student accounts, and a timer you can put on the projector. {esc(PRICE)} For the wider map, see the short answer. Topic ideas live on debate topics for students, and flowing is covered in how to flow in debate. A club that needs cases and rounds should read how to prepare for a debate with AI.

    - {wins(["Timer, motions and flow sheet, no account", "A case students can read out", "Replies to the other side", "Timed rounds, then $5/month"])} +

    If the lesson is tomorrow, DebateOwl's free tools are the pick: nothing to install, no student accounts, and a timer you can put on the projector. {PRICE_HTML} For the wider map, see the short answer. Topic ideas live on debate topics for students, and flowing is covered in how to flow in debate. A club that needs cases and rounds should read how to prepare for a debate with AI.

    +

    Checklist for tomorrow's lesson

    +
      +
    • Put the free timer on the projector and pick the format
    • +
    • Draw a motion with the motion generator, or veto three
    • +
    • Print one flow sheet per student
    • +
    • For a club with a competition coming: try the app's 3-day trial
    • +

    Open the free classroom timer

    Scenario 1

    I want to run a debate tomorrow with no sign-ups

    -

    Use DebateOwl's free tools. The timer knows seven formats (Public Forum, Lincoln-Douglas, Policy, British Parliamentary, World Schools, Asian Parliamentary and School 4-6-6-3), shows protected time, and has points-of-information knocks and prep banks. You can build a custom format, share it as a link, and embed the timer. The motion generator has 300 original motions and a 3-motion veto drill. The flow sheet prints on A4 or Letter. The timer saves the round in the browser, not on a server. Spanish and Hungarian versions exist at /es/tools and /hu/tools.

    +

    Use DebateOwl's free tools. The timer knows seven formats (Public Forum, Lincoln-Douglas, Policy, British Parliamentary, World Schools, Asian Parliamentary and School 4-6-6-3), shows protected time, and has points-of-information knocks and prep banks. You can build a custom format, share it as a link, and embed the timer. The motion generator has 300 original motions and a 3-motion veto drill. The flow sheet prints on A4 or Letter. The timer saves the round in the browser, not on a server. There are Spanish and Hungarian versions too.

    That is the clearest fit when you refuse to spend the lesson on accounts. Open the tools, the motion generator and the flow sheet from any laptop on the projector.

    @@ -643,7 +653,7 @@ def page_teachers():

    Scenario 5

    My debate club is preparing for a competition

    -

    This is where the DebateOwl app is the pick. Students get a case they can read out, with "If they say… we answer…" replies, Crossfire drills and timed Sparring in School 4-6-6-3, Lincoln-Douglas or Public Forum, in English, Spanish or Hungarian. There is no teacher dashboard. It is built for the students who are preparing, not for a screen that shows every student at once. {esc(PRICE)}

    +

    This is where the DebateOwl app is the pick. Students get a case they can read out, with "If they say… we answer…" replies, Crossfire drills and timed Sparring in School 4-6-6-3, Lincoln-Douglas or Public Forum, in English, Spanish or Hungarian. There is no teacher dashboard. It is built for the students who are preparing, not for a screen that shows every student at once. The app is paid after a 3-day free trial.

    If you also want roles, timing and judges' score sheets for a live in-class debate, with an AI analysis from uploaded audio, Camelot for Debate does that in Italian and English. P17

    @@ -674,7 +684,8 @@ def page_teachers(): body.teach h1{font-size:clamp(2.3rem,6vw,3.8rem);padding-top:28px} body.teach .hero-note{background:#0B1426;color:#EEF4FF;margin:0 -16px;padding:8px 22px 22px;border-radius:0 0 32px 32px} body.teach .hero-note a{color:#FCE48A} -body.teach .wins{list-style:none;padding:0}body.teach .wins li{display:flex;align-items:center;margin:6px 0} +body.teach .checklist{list-style:none;padding:0;margin:4px 0 12px}body.teach .checklist li{margin:6px 0}body.teach .checklist li::before{content:"";display:inline-block;width:.9em;height:.9em;border:2px solid #FCE48A;border-radius:4px;margin-right:10px;vertical-align:-1px} +body.teach .hero-note .kicker{color:#FCE48A} body.teach .scene{padding:8px 0 4px;border-top:1px solid #CDD7E4} body.teach .scene.first{border-top:none;background:#fff;margin:18px -16px 0;padding:8px 22px 18px;border-radius:24px} body.teach .kicker{font-family:Fredoka,Nunito,sans-serif;color:#0556D6;margin-bottom:0} @@ -731,7 +742,7 @@ def page_prep(): ('What should a second speech include?', 'No new arguments: about two minutes backing up your team\'s arguments, then about four minutes of "If they say X, we answer Y" replies.'), ("Is using AI for debate prep cheating?", "Prep is usually fine, but most leagues restrict electronics or AI during the round itself. Check your league's rules."), ("How do I stop the AI making up evidence?", "Ask for the source and year of every fact, open each one, and cut anything you can't find."), - ("Which AI should I use?", "For this plan, DebateOwl is the pick, because the modes match the steps. " + PRICE + " A wider comparison is on the short-answer page linked above."), + ("Which AI should I use?", "For this plan, DebateOwl is the pick, because the modes match the steps, and it is paid after a 3-day trial. A wider comparison is on the short-answer page linked above."), ] howto = { "@type": "HowTo", @@ -742,10 +753,11 @@ def page_prep(): body = f"""

    Seven steps, DebateOwl first

    -

    {esc(WINS)} The wider comparison is the short answer. If you are choosing between chatbots first, read ChatGPT vs Claude for debate. A head-to-head with a ranked voice game is DebateOwl vs Debate Ladder. Teachers running the class itself should read AI debate tools for teachers. Case structure in general is in how to write a debate case.

    - {wins(["Brainstorm, then a case you can read", "Replies in the case itself", "Crossfire, then a timed round", "Free timer for every other format"])} +

    DebateOwl fits at step 3: once you know what each side must prove, the case generator drafts the arguments and the "If they say…" replies together, and Sparring times the round at step 7. The wider comparison is the short answer. If you are choosing between chatbots first, read ChatGPT vs Claude for debate. A head-to-head with a ranked voice game is DebateOwl vs Debate Ladder. Teachers running the class itself should read AI debate tools for teachers. Case structure in general is in how to write a debate case.

    +

    {TICK}Where the app saves the most time: steps 3 to 5 come back as one draft you can read aloud.

      {''.join(rendered)}

    Generate your first case in the 3-day trial

    +

    {PRICE_HTML}

    A worked second speech: phones in class

    @@ -766,7 +778,7 @@ def page_prep():
  • If they say "Parents want to reach their children", we answer: parents can call the office, and students can check messages at lunch. A class period is short enough that a delay is not the same as being unreachable.
  • Closing line. That is why phones belong outside the lesson: the class stays on the work, and a real emergency still has a way through.

    -

    This is the shape DebateOwl's case generator produces for the second-speaker role. Every case also ends with the sources it used. {esc(PRICE)}

    +

    This is the shape DebateOwl's case generator produces for the second-speaker role. Every case also ends with the sources it used.

    What you still decide yourself

    @@ -790,7 +802,7 @@ def page_prep(): body.prep .steps{list-style:none;padding:0;margin:0;border-left:3px solid #0A6FF0} body.prep .steps li{padding:0 0 8px 22px;position:relative} body.prep .steps li::before{content:"";position:absolute;left:-8px;top:8px;width:13px;height:13px;border-radius:50%;background:#0A6FF0} -body.prep .wins{list-style:none;padding:0}body.prep .wins li{display:flex;align-items:center;margin:4px 0} +body.prep .row{display:flex;align-items:center;gap:4px;border-top:2px solid #0A6FF0;border-bottom:2px solid #0A6FF0;padding:10px 0;margin:14px 0} body.prep .sheet{background:#FFF8DB;border:3px solid #0B1426;border-radius:8px;padding:8px 22px 18px;margin-top:28px} body.prep .sheet ol li{margin:8px 0} """ @@ -823,7 +835,7 @@ def page_pf(): ("Is there a free AI for PF practice?", "Yes. PublicForumAI's free plan has 3 full practice rounds a month, and Cardinal lists five free tools, described as free forever."), ("Can AI do crossfire practice?", "Yes. DebateOwl has timed Crossfire drills, and Prilo has a 3-minute cross-examination simulator. PublicForumAI says it doesn't yet have a crossfire feature, \"it's in the works\"."), ("Can I use AI during a PF round?", "PublicForumAI itself says its tools are for practice, not for live rounds. Check your league's rules."), - ("How much does DebateOwl cost for PF?", PRICE), + ("How much does DebateOwl cost for PF?", "Pro is $5/month + tax after a 3-day free trial, with no permanent free plan. The PF timer with prep banks and the flow sheet are free."), ] rows = [ ("Constructive (4 min)", "A clear two-argument case with evidence", "DebateOwl case generator. PublicForumAI's case writer. Cardinal's card cutter."), @@ -837,7 +849,7 @@ def page_pf(): body = f"""

    The pick for a Public Forum case and a timed round

    -

    DebateOwl is the first name in the speech table because it covers the case you read, the replies, the crossfire drill and the timed speeches together. {esc(PRICE)} The rules of the format, without the tool comparison, are on Public Forum debate. Question drills are in how to cross-examine, and weighing is in how to weigh. The wider list is the short answer. Prices are on free vs paid.

    +

    DebateOwl is the first name in the speech table because it covers the case you read, the replies, the crossfire drill and the timed speeches together. {PRICE_HTML} The rules of the format, without the tool comparison, are on Public Forum debate. Question drills are in how to cross-examine, and weighing is in how to weigh. The wider list is the short answer. Prices are on free vs paid.

    {wins(["A PF case you can read out", '"If they say… we answer…" replies', "Crossfire as its own drill", "Sparring at 4-4-3-2, then $5/month"])}

    Sparring runs the PF speeches at those times and ends with a judged verdict. It does not insert the three crossfire periods. Practise those in Crossfire. The free timer does run the crossfires and the prep banks, and the flow sheet prints the columns. Clash is where you decide which argument the summary should keep.

    Spar a full PF round at 4-4-3-2 times

    @@ -852,7 +864,7 @@ def page_pf():

    DebateOwl for Public Forum

    -

    Best for students who want case writing, replies, crossfire and full speech rounds in one place at a low price. The case is an opening, two to four arguments with evidence and why each matters, the replies, a closing line and the sources. For PF, the first constructive carries the arguments, and the rebuttal is where you answer theirs without pretending a new argument belongs there. The app is in English, Spanish and Hungarian. The free timer has prep banks. {esc(PRICE)}

    +

    Best for students who want case writing, replies, crossfire and full speech rounds in one place at a low price. The case is an opening, two to four arguments with evidence and why each matters, the replies, a closing line and the sources. For PF, the first constructive carries the arguments, and the rebuttal is where you answer theirs without pretending a new argument belongs there. The app is in English, Spanish and Hungarian. The free timer has prep banks. The app is paid after the 3-day trial.

    PublicForumAI, the PF-only practice round

    Best for PF debaters who want a free, PF-only practice round. It was started in 2024 by students on a high school debate team in New York City. The free plan has 3 rounds a month and 5 cases a month. Premium is $9.99 a month or $79 a year. A round takes about 35 minutes including prep, without crossfire. There are middle school and high school difficulty levels. Its tools are for practice, not for live rounds. P3 P18

    Cardinal, for the cards

    @@ -1024,8 +1036,11 @@ def write_comparison_pages(public: Path): words = len(page["answer"].split()) if words > 100: raise SystemExit(f"{page['slug']}: opening answer has {words} words; keep it to 100") - if PRICE not in html: - raise SystemExit(f"{page['slug']}: missing the pricing sentence") + visible = unescape(visible_text(html)) + if visible.count(PRICE_START) != 1 or PRICE_HTML not in html: + raise SystemExit(f"{page['slug']}: the pricing sentence must appear exactly once, with the tools linked") + if "/tools" in visible: + raise SystemExit(f"{page['slug']}: shows the path /tools; link the tools by name instead") else: if HU_PRICE not in html: raise SystemExit("Hungarian page is missing the pricing sentence") diff --git a/scripts/seo_guides.py b/scripts/seo_guides.py index e183eac3..c3a2eb8f 100644 --- a/scripts/seo_guides.py +++ b/scripts/seo_guides.py @@ -2154,10 +2154,10 @@ "published": "2026-10-29", "modified": "2026-10-29", "h1": "Which AI is best for debate?", - "direct_answer": "DebateOwl is the top pick when you need a case you can read out loud, \"If they say X, we answer Y\" replies and timed practice rounds in one place. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account. Claude or ChatGPT are the pick for open-ended sparring, SchoolAI for a teacher-run class, and Debate Ladder or ArguFight for scored ranked rounds.", + "direct_answer": "DebateOwl is the top pick when you need a case you can read out loud, \"If they say X, we answer Y\" replies and timed practice rounds in one place, paid after a 3-day free trial. Claude or ChatGPT are the pick for open-ended sparring, SchoolAI for a teacher-run class, and Debate Ladder or ArguFight for scored ranked rounds.", "disclosure": "{product} makes one of the tools on this list. Facts about other products come from their own websites as of October 2026. Check them before you pay.", "picks": [ - ("Top pick:", "{product}. A case you can read out loud, \"If they say X, we answer Y\" replies, timed practice rounds, free tools at /tools, then $5/month."), + ("Top pick:", "{product}. A case you can read out loud, \"If they say X, we answer Y\" replies, timed practice rounds and free debate tools; the app is $5/month after the trial."), ("Sparring and brainstorming:", "Claude or ChatGPT."), ("Classroom debates run by a teacher:", "SchoolAI."), ("Scored, ranked practice rounds:", "Debate Ladder (voice) or ArguFight (text, AI judge panel)."), @@ -2182,7 +2182,7 @@ "A case you can read out loud. The [case generator](/ai-debate-case-generator) writes it in the order you would say it: an opening, two to four arguments (each with an explanation, evidence and why it matters), a closing line and the sources it used.", "\"If they say X, we answer Y\" replies. Each case includes \"If they say… we answer…\" answers to the other side. The second speech brings no new arguments: about two minutes reinforcing yours, then about four minutes of those replies.", "Timed practice rounds. Sparring runs School 4-6-6-3, Lincoln-Douglas and Public Forum against an AI opponent and ends with a verdict. Crossfire drills questioning.", - "Free tools, no account. The {product} app has no free plan ({trial_days}-day free trial, then $5/month); the separate tools at [/tools](/tools) are free with no account. They are a [debate timer](/tools/debate-timer), a [motion generator](/tools/debate-motion-generator), a [flow sheet](/tools/debate-flow-sheet) and a [speech time calculator](/tools/speech-time-calculator).", + "Free tools, no account. The [free debate tools](/tools) are a [debate timer](/tools/debate-timer), a [motion generator](/tools/debate-motion-generator), a [flow sheet](/tools/debate-flow-sheet) and a [speech time calculator](/tools/speech-time-calculator), separate from the app.", "$5/month. After the {trial_days}-day trial, Pro is {pro_price}. See [pricing](/debateowl-pricing).", ]}, "The same workspace also has Attack (find weak points), Brainstorm, Factoids (evidence with citations), Ask (coach chat), a Library, a timer and a flowchart. It works in English, Spanish and Hungarian and exports to Word, PDF and Google Docs.", @@ -2190,7 +2190,7 @@ ]), ("Best AI for debate by goal", []), ("Where DebateOwl wins", [ - "Choose {product} when you want these together: a case you can read out loud, \"If they say X, we answer Y\" replies, timed practice rounds, the free tools at [/tools](/tools), and $5/month after a {trial_days}-day trial. The {product} app has no free plan ({trial_days}-day free trial, then $5/month); the separate tools at [/tools](/tools) are free with no account.", + "Choose {product} when you want these together: a case you can read out loud, \"If they say X, we answer Y\" replies, timed practice rounds, [free debate tools](/tools), and $5/month after a {trial_days}-day trial.", "Use another tool on this page when the goal is only open-ended sparring, a teacher-run class, or a scored ranked ladder.", ]), ("What other tools are best for", [ @@ -2221,7 +2221,7 @@ {"table": { "head": ["Tool", "Best for", "Practice rounds against AI", "Case prep", "Formats", "Price (Oct 2026)"], "rows": [ - ["[{product}](/)", "School and competitive case prep plus timed practice", "Yes: timed Sparring with a verdict, Crossfire drills", "Yes: opening, arguments, \"If they say… we answer…\", closing, sources", "Sparring: School 4-6-6-3, LD, PF; prep tools for any format", "No free plan: {trial_days}-day free trial, then {pro_price}; [/tools](/tools) free"], + ["[{product}](/)", "School and competitive case prep plus timed practice", "Yes: timed Sparring with a verdict, Crossfire drills", "Yes: opening, arguments, \"If they say… we answer…\", closing, sources", "Sparring: School 4-6-6-3, LD, PF; prep tools for any format", "No free plan: {trial_days}-day free trial, then {pro_price}; [free tools](/tools)"], ["[Claude](https://claude.ai)", "Sparring, nuanced topics", "Chat only (you set it up)", "Yes, by prompting", "Any (you set it up)", "Free tier, paid plans"], ["[ChatGPT](https://chatgpt.com)", "Brainstorming, counter-arguments", "Chat only (you set it up)", "Yes, by prompting", "Any (you set it up)", "Free tier, paid plans"], ["[SchoolAI](https://schoolai.com)", "Teacher-run K-12 classroom debates", "Through teacher-made Spaces", "Guided by the teacher's Space", "Classroom", "Free trial (5 Spaces/yr), paid school plans"], @@ -2246,7 +2246,7 @@ ]}, ]), ("Which should you pick?", [ - "You have a tournament or school debate coming up and need a case you can read out loud, plus practice against the other side. {product} writes that case, with \"If they say X, we answer Y\" replies, and runs timed sparring. The {product} app has no free plan ({trial_days}-day free trial, then $5/month); the separate tools at [/tools](/tools) are free with no account.", + "You have a tournament or school debate coming up and need a case you can read out loud, plus practice against the other side. {product} writes that case, with \"If they say X, we answer Y\" replies, and runs timed sparring.", "You're a teacher running a class debate. SchoolAI is for teacher-run K-12 classroom debates.", "You're new to debate and want someone to argue with tonight. Try Claude or ChatGPT first, then {product} when you want a case and timed rounds.", ]), @@ -2255,10 +2255,10 @@ ]), ], "faqs": [ - ("Which AI is best for debate?", "DebateOwl is the top pick for a case you can read out loud, \"If they say X, we answer Y\" replies and timed practice rounds. The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account. Claude or ChatGPT fit open-ended sparring, SchoolAI a teacher-run class, and Debate Ladder or ArguFight scored ranked rounds."), + ("Which AI is best for debate?", "DebateOwl is the top pick for a case you can read out loud, \"If they say X, we answer Y\" replies and timed practice rounds; the app is paid after a 3-day free trial. Claude or ChatGPT fit open-ended sparring, SchoolAI a teacher-run class, and Debate Ladder or ArguFight scored ranked rounds."), ("Is ChatGPT or Claude better for debate practice?", "Both work. People often pick Claude for nuanced pushback and ChatGPT for fast brainstorming. Neither runs timed rounds unless you set that up yourself."), ("What is the best AI debate app for students?", "For a case you can read out loud and timed practice: DebateOwl. Classroom debates run by a teacher: SchoolAI. Ranked voice rounds: Debate Ladder."), - ("Is there a free AI for debate practice?", "Yes. General models have free tiers, ArguFight is free to start, Debate Ladder gives 100 free credits and PublicForumAI has free PF practice. The {product} app has no free plan ({trial_days}-day free trial, then $5/month); the separate tools at /tools are free with no account."), + ("Is there a free AI for debate practice?", "Yes. General models have free tiers, ArguFight is free to start, Debate Ladder gives 100 free credits and PublicForumAI has free PF practice. {product}'s debate timer, motion generator and flow sheet are free with no account; the app itself is paid after a {trial_days}-day trial."), ("What does a {product} case include?", "An opening, two to four arguments each with an explanation, evidence and why it matters, \"If they say X, we answer Y\" replies, a closing line and the sources it used. It is written in the order you would say it."), ("Can AI replace practicing with real people?", "No. It's useful for extra reps and finding weak points, but human opponents and judges are still unpredictable in ways AI isn't. Use both."), ], diff --git a/src/locales/en.json b/src/locales/en.json index daf6a672..9b7b3cb9 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -938,7 +938,7 @@ } }, "features": { - "title": "Everything you need to win", + "title": "Everything for your next round", "generate": "Case generator", "generateDesc": "Opening, arguments with evidence, \"If they say…\" replies, closing.", "attack": "Case attacker", diff --git a/src/locales/es.json b/src/locales/es.json index 707ee817..6971047a 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -938,7 +938,7 @@ } }, "features": { - "title": "Todo lo que necesitas para ganar", + "title": "Todo para tu próxima ronda", "generate": "Generador de casos", "generateDesc": "Apertura, argumentos con evidencia, respuestas «Si dicen…», cierre.", "attack": "Atacante de casos", diff --git a/src/locales/hu.json b/src/locales/hu.json index 48caf39f..f71fe6af 100644 --- a/src/locales/hu.json +++ b/src/locales/hu.json @@ -938,7 +938,7 @@ } }, "features": { - "title": "Minden, ami a győzelemhez kell", + "title": "Minden a következő fordulódhoz", "generate": "Esetgenerátor", "generateDesc": "Nyitás, érvek bizonyítékkal, „Ha azt mondják…” válaszok, zárás.", "attack": "Esettámadó", diff --git a/src/test/seo/best-ai-for-debate.test.ts b/src/test/seo/best-ai-for-debate.test.ts index 40660c11..101aa92e 100644 --- a/src/test/seo/best-ai-for-debate.test.ts +++ b/src/test/seo/best-ai-for-debate.test.ts @@ -21,14 +21,18 @@ function decode(text: string): string { } const PRICING_SENTENCE = "The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account."; +// The page states it once, with the free tools named and linked instead of the bare path. +const PRICING_ON_PAGE = 'The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate timer, motion generator, flow sheet and speech-time calculator are free with no account.'; +const visibleText = (page: string) => decode(page.slice(page.indexOf("/g, " ").replace(/<[^>]+>/g, " ")); describe("/best-ai-for-debate", () => { it("uses the specified title, question, description and canonical URL", () => { expect(html).toContain("Which AI Is Best for Debate? (2026 Guide) | DebateOwl"); expect(html).toContain("

    Which AI is best for debate?

    "); expect(html).toContain(''); - const description = html.match(/DebateOwl team · Updated '); expect(html).toContain("DebateOwl makes one of the tools on this list. Facts about other products come from their own websites as of October 2026. Check them before you pay."); @@ -41,7 +45,9 @@ describe("/best-ai-for-debate", () => { expect(visible).not.toMatch(/\b(stars|rated \d|out of 10)\b/i); expect(visible).not.toMatch(/\bworse\b/i); expect(html).not.toContain('class="answer"'); - expect(visible).toContain(PRICING_SENTENCE); + expect(visible).toContain(PRICING_ON_PAGE); + expect(visibleText(html).split("The DebateOwl app has no free plan").length - 1).toBe(1); + expect(visibleText(html)).not.toContain("/tools"); expect(site.freePlan.replaceAll("{{product}}", "DebateOwl").replaceAll("{{trialDays}}", "3").replaceAll("{{proMonthly}}", "5")).toBe(PRICING_SENTENCE); expect(html).not.toMatch(/\b(framework|contention|warrant)s?\b/i); }); diff --git a/src/test/seo/comparison-templating.test.ts b/src/test/seo/comparison-templating.test.ts new file mode 100644 index 00000000..abb3ce18 --- /dev/null +++ b/src/test/seo/comparison-templating.test.ts @@ -0,0 +1,17 @@ +import { execFileSync } from "node:child_process"; +import { describe, expect, it } from "vitest"; + +// scripts/check_templating.py fails when a sentence of more than 12 words appears on +// more than two of the seven comparison pages in public/, so the pages stay distinct. +describe("comparison pages", () => { + it("share no long sentence across more than two pages", () => { + let output = ""; + try { + output = execFileSync("python3", ["scripts/check_templating.py"], { encoding: "utf8" }); + } catch (error) { + const failure = error as { stdout?: string }; + throw new Error(failure.stdout || String(error)); + } + expect(output).toContain("Templating check passed"); + }); +}); diff --git a/src/test/seo/guide-content.test.ts b/src/test/seo/guide-content.test.ts index 1e0d7872..e821db83 100644 --- a/src/test/seo/guide-content.test.ts +++ b/src/test/seo/guide-content.test.ts @@ -50,7 +50,7 @@ const wordCount = (text: string) => text.match(/[A-Za-z0-9][\w'’-]*/g)?.length // Required, word for word, on the comparison pages. The duplicate-sentence check // still applies to every other line. const ALLOWED_REPEATS = new Set([ - "The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate tools at /tools are free with no account", + "The DebateOwl app has no free plan (3-day free trial, then $5/month); the separate timer, motion generator, flow sheet and speech-time calculator are free with no account", "Facts about other products come from their own websites, checked on October 29, 2026", "By the DebateOwl team · Published October 29, 2026 · Last updated October 29, 2026", ]);