From 54dbaad5fb341d43241cf6fdd7a924ace98babb8 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 26 Oct 2026 16:52:20 +0000 Subject: [PATCH 1/2] Merge five thin guides into their survivors and deepen the skills guides Retire /debate-collapsing-strategy, /debate-prep-time-management, /debate-block-file-guide, /debate-pronunciation-and-delivery and /ai-vs-traditional-debate-prep with 301s to the guides that absorb them, and repoint the two tool pages that linked to them. Clash points, tournament prep, speech structure, fallacies, motion analysis and judge adaptation each get a worked example on an original motion, a table, common mistakes, a drill and their own FAQs. AI practice gains an "AI vs traditional prep" section and rebuttal practice a "Build a block file" section. The two shared default FAQs are gone: every guide must have its own, and a new test fails on a guide under 700 words or a sentence repeated on more than three guides. Co-Authored-By: Claude Opus 5.5 --- docs/operations.md | 2 +- public/ai-debate-practice/index.html | 6 +- .../ai-vs-traditional-debate-prep/index.html | 52 -- public/debate-block-file-guide/index.html | 52 -- public/debate-clash-points/index.html | 22 +- public/debate-collapsing-strategy/index.html | 52 -- public/debate-fallacies/index.html | 18 +- public/debate-judge-adaptation/index.html | 18 +- public/debate-motion-analysis/index.html | 18 +- public/debate-prep-time-management/index.html | 52 -- .../index.html | 52 -- public/debate-speech-structure/index.html | 22 +- public/how-to-practice-rebuttals/index.html | 6 +- .../index.html | 20 +- public/llms.txt | 17 +- .../__pycache__/seo_guides.cpython-312.pyc | Bin 0 -> 209320 bytes scripts/generate_seo_content.py | 19 +- scripts/gsc_submit.py | 3 + scripts/seo_answers.py | 36 +- scripts/seo_guides.py | 477 +++++++++++++++++- src/pages/tools/DebateTimerToolPage.tsx | 2 +- .../tools/SpeechTimeCalculatorToolPage.tsx | 2 +- src/test/seo/guide-content.test.ts | 75 +++ src/test/vercel-deployment-config.test.ts | 5 + vercel.json | 25 + 25 files changed, 668 insertions(+), 385 deletions(-) delete mode 100644 public/ai-vs-traditional-debate-prep/index.html delete mode 100644 public/debate-block-file-guide/index.html delete mode 100644 public/debate-collapsing-strategy/index.html delete mode 100644 public/debate-prep-time-management/index.html delete mode 100644 public/debate-pronunciation-and-delivery/index.html create mode 100644 scripts/__pycache__/seo_guides.cpython-312.pyc create mode 100644 src/test/seo/guide-content.test.ts diff --git a/docs/operations.md b/docs/operations.md index 525be4028..39bfb0bc3 100644 --- a/docs/operations.md +++ b/docs/operations.md @@ -60,7 +60,7 @@ The free tools under `/tools` ([`src/pages/tools/`](../src/pages/tools/)) are pr [`scripts/check-site.mjs`](../scripts/check-site.mjs) runs next and fails the build when an internal link, a `#fragment`, a sitemap URL or an `llms.txt` URL does not resolve (it applies the `vercel.json` redirects and rewrites), when JSON-LD does not parse or carries HTML entities, when an indexed page other than `/terms`, `/privacy`, and `/expocit/sources` lacks its question H2 (`#short-answer`) as the first H2, when a page's first heading is not its H1 or a heading skips a level (H1 to H3), or when an image has no alt text, a button has no name or a form field has no label. -The guide pages in `public//index.html` are generated, not hand-edited: run `python3 scripts/generate_seo_content.py` and commit its output. Short pages live in its `PAGES` list; pages with long-form copy, their own highlight-card descriptions, and their own FAQs (which also feed the page's FAQPage JSON-LD) live in [`scripts/seo_guides.py`](../scripts/seo_guides.py). Keep `PAGES` in order, because each page's related-guide links are picked by position. A guide entry can set a later `modified` date for that page alone; no page is dated earlier than `CONTENT_DATE`, which covers the copy every guide shares. Sections hold paragraphs and `h3`, `steps`, `list`, `table` and `example` blocks; paragraphs, list items and table cells can hold Markdown-style links to a site path or, for a primary source, an `https://` URL. Pages that show the shared `FAQS` are dated no earlier than `FAQS_DATE`, so move it when those questions change. +The guide pages in `public//index.html` are generated, not hand-edited: run `python3 scripts/generate_seo_content.py` and commit its output. Short pages live in its `PAGES` list; pages with long-form copy, their own highlight-card descriptions, and their own FAQs (which also feed the page's FAQPage JSON-LD) live in [`scripts/seo_guides.py`](../scripts/seo_guides.py). Keep `PAGES` in order, because each page's related-guide links are picked by position. A guide entry can set a later `modified` date for that page alone; no page is dated earlier than `CONTENT_DATE`, which covers the copy every guide shares. Sections hold paragraphs and `h3`, `steps`, `list`, `table` and `example` blocks; paragraphs, list items and table cells can hold Markdown-style links to a site path or, for a primary source, an `https://` URL. Every guide needs FAQs of its own in `seo_guides.py`; the generator refuses a page without them, so no two pages share boilerplate questions. [`src/test/seo/guide-content.test.ts`](../src/test/seo/guide-content.test.ts) fails when a guide has fewer than 700 words outside its related and About blocks, or when a sentence longer than 60 characters appears on more than three guides. Every guide opens with the reader's main question as its first H2 and an answer of at most 100 words, kept in [`scripts/seo_answers.py`](../scripts/seo_answers.py); the generator refuses a page without one or with a longer answer. Each guide shows visible "Published" and "Updated" dates (`PUBLISHED_DATE` or a `published` key, and the `modified` date) that match its Article JSON-LD. Prices and plan facts are stated "as of" the month in `factsCheckedOn` in `src/config/site.json`; move that date when you recheck them, and the pricing page's About block, `llms.txt` and the landing page follow. Every other guide has a one-line About that links to the landing page and pricing instead of repeating the plan facts. Copy in `seo_guides.py` and `seo_answers.py` that names the month itself (prices and competitor facts) needs the same edit: search those files for "As of". The generator also writes `public/llms.txt`, the plain summary for AI agents. `public/robots.txt` allows AI crawlers by name in their own group, which repeats the private-route rules because a crawler that matches a named group ignores `*`. diff --git a/public/ai-debate-practice/index.html b/public/ai-debate-practice/index.html index 8eca4640c..c6a05a936 100644 --- a/public/ai-debate-practice/index.html +++ b/public/ai-debate-practice/index.html @@ -22,7 +22,7 @@ - +
@@ -34,8 +34,8 @@
DebateLab guide

AI Debate Practice for Stronger Cases, Rebuttals, and Speeches

Use a focused debate workspace for cases, rebuttals, sources, flowcharts, coaching, and timed practice.

Published · Updated

Can practising debate against an AI actually make you better?

Yes, if it shortens the loop of giving a speech, finding what failed, fixing one thing and giving it again. A useful session needs a motion, a side, real speech times, an opponent that responds to what you said and a verdict that names why you won or lost. DebateLab's Sparring runs School 4-6-6-3, Lincoln-Douglas and Public Forum rounds this way. AI practice adds repetitions between team practices but does not replace them: judge adaptation, delivery under pressure and strategic judgement still develop fastest with a coach and real rounds.

Practice against AI opponents

Run a full Sparring round in School 4-6-6-3, Lincoln-Douglas or Public Forum, type or speak each speech, and finish with a judged verdict.

Turn feedback into drills

Take the weakest point from a verdict or a Crossfire debrief, rebuild it with Attack or Ask, and run that speech again.

Keep private prep out of search

Cases, sources, rounds and history stay inside your Current Debate behind sign-in. Only these public guides are indexed.

-

What a useful AI practice session looks like

Most debaters improve through repetitions with feedback: give a speech, find out what failed, fix one thing, give it again. AI practice is valuable when it shortens that loop, not when it hands you a finished speech to read.

A chat window can produce arguments on request, but it does not hold a round together. It forgets which side you are on, does not time you, and rarely tells you which of your points the judge would have dropped. Practice needs a motion, a side, a format with real speech times, an opponent that responds to what you actually said, and a verdict that names the reason you lost or won.

DebateLab is built around that loop. You start a Current Debate for one motion, and every case, source, round and debrief you create stays filed under it. That means the AI opponent in your third practice round argues the same motion you wrote your case for, and your History shows how the debate developed across sessions.

A 45-minute practice session, step by step

This plan fits a weeknight. It assumes you have a motion but no case yet.

  1. Start a Current Debate with the motion written exactly as it will be announced (2 minutes). Add any articles or notes you already trust to the Library so later answers are grounded in them.
  2. Run Brainstorm on the motion and pick the two or three angles you can explain in one sentence each (5 minutes). Discard angles that need evidence you do not have.
  3. Generate a case for your side (10 minutes). Read the predicted opponent case before your own contentions: it tells you what you will have to answer.
  4. Run a Sparring round in your format (15 minutes). Give every speech in full, at time, without pausing to edit. Voice mode lets you speak instead of type.
  5. Read the verdict and write down the single reason it gives for the decision (3 minutes).
  6. Rebuild only that part (5 minutes): ask Attack to stress-test the rewritten argument, or regenerate the one case section that failed.
  7. Give the rebuilt speech again against the timer (5 minutes). Compare it with the first attempt.

The discipline is in step six. Fixing one problem per session sticks; rewriting the whole case after every round mostly produces new problems.

Worked example: one practice round

Motion: This house would ban smartphones in secondary schools

Side and format: Proposition, run as a School 4-6-6-3 Sparring round.

First contention: Phones fragment attention in class, and attention is the input every other kind of learning depends on.

AI opponent's response: Schools already confiscate phones during lessons, so a ban changes only break times, where the harm you described does not happen.

What the verdict flagged: Proposition never explained what a ban adds over existing classroom rules, so the opposition's mitigation stood unanswered.

The drill: Ask Attack to find the gap in the contention, then rewrite it around breaks: social exclusion, cyberbullying during the school day, and the cost of teachers enforcing rules lesson by lesson.

Second attempt: The R1 speech now opens with the comparison: classroom rules depend on every teacher enforcing them every hour, while a ban sets one rule at the school gate. The opponent's mitigation becomes a point in your favour.

The example shows the pattern to look for. The first version was not wrong; it was incomplete in a way only a responsive opponent exposes. That is the gap AI practice fills between team practices.

Format-specific practice tips

World Schools (WSDC)

WSDC rounds reward a consistent team line, so practise as a team even when you use AI. Agree the line in one sentence, then have each speaker run their own section against the AI and check that the line survives. Points of Information matter in every substantive speech: use Crossfire with the AI asking the questions to rehearse taking a POI, answering in under fifteen seconds, and returning to your structure. Sparring does not run a WSDC round, so time the eight-minute substantives and four-minute reply yourself.

British Parliamentary (BP)

In BP, two teams on each bench compete with each other as well as with the other side. Practise both halves. For opening, generate a case with the Current Debate's format set to British Parliamentary and drill a clear definition and model in the first two minutes. For closing, take an opening case you have already generated and practise finding an extension it does not contain, then deliver it in seven minutes without repeating opening material.

Public Forum (PF)

Sparring runs Public Forum with four-minute constructives and rebuttals, three-minute summaries and two-minute final focuses. Use the round to practise the hardest skill in PF: keeping summary and final focus consistent. Before each summary, write the two issues you will collapse on, and check after the round whether your final focus extended exactly those issues and nothing new.

Lincoln-Douglas (LD)

The Lincoln-Douglas round follows the standard times: six-minute affirmative constructive, seven-minute negative constructive, four-minute first affirmative rebuttal, six-minute negative rebuttal and three-minute second affirmative rebuttal. The 1AR is where most affirmatives lose. Run it repeatedly against the same negative constructive and practise grouping responses and cross-applying your framework, so four minutes covers seven.

How to tell whether practice is working

Keep a short log for each session on paper or in a document. Track the same four things every time:

  • Arguments you dropped: anything the opponent said that you never answered. This number should fall first.
  • Time use: whether you finished each speech within ten seconds of the limit without rushing the last point.
  • Weighing: whether your final speech compared impacts explicitly, or just repeated them.
  • Verdict reasons: whether the judge's reason for the decision changes from session to session, or keeps naming the same weakness.

If the same verdict reason appears three sessions in a row, stop running full rounds and drill that one skill in isolation until it changes.

Where AI practice stops being enough

An AI opponent is consistent and always available, which is exactly what makes it a good training partner and a limited judge. It will not reproduce the judge who dislikes speed, the panel that splits, or the opponent who asks a question you never anticipated. Use AI rounds for volume between real practices, and save team practices and coached rounds for adaptation, delivery and the feedback only an experienced person can give.

-

Frequently asked questions

Which formats can I spar against the AI in?

Sparring runs School 4-6-6-3, Lincoln-Douglas and Public Forum rounds with their speech order and times. For WSDC, British Parliamentary and other formats you can still generate cases, get coaching and drill rebuttals, and time speeches yourself.

Can I give my practice speeches out loud?

Yes. Sparring and Crossfire can run as spoken rounds in the browser, so you can practise delivery as well as content.

How often should I practise against an AI opponent?

Two or three focused sessions a week usually beats one long one. Each session should end with one specific fix that you drill before the next round.

Does AI practice replace a coach or real rounds?

No. It adds repetitions between team practices. Judge adaptation, delivery under pressure and strategic judgement still develop fastest with people.

Are my practice rounds private?

Yes. Rounds, verdicts and debriefs are saved to your account inside the Current Debate they belong to, behind sign-in. Search engines only see these public guides.

+

What a useful AI practice session looks like

Most debaters improve through repetitions with feedback: give a speech, find out what failed, fix one thing, give it again. AI practice is valuable when it shortens that loop, not when it hands you a finished speech to read.

A chat window can produce arguments on request, but it does not hold a round together. It forgets which side you are on, does not time you, and rarely tells you which of your points the judge would have dropped. Practice needs a motion, a side, a format with real speech times, an opponent that responds to what you actually said, and a verdict that names the reason you lost or won.

DebateLab is built around that loop. You start a Current Debate for one motion, and every case, source, round and debrief you create stays filed under it. That means the AI opponent in your third practice round argues the same motion you wrote your case for, and your History shows how the debate developed across sessions.

A 45-minute practice session, step by step

This plan fits a weeknight. It assumes you have a motion but no case yet.

  1. Start a Current Debate with the motion written exactly as it will be announced (2 minutes). Add any articles or notes you already trust to the Library so later answers are grounded in them.
  2. Run Brainstorm on the motion and pick the two or three angles you can explain in one sentence each (5 minutes). Discard angles that need evidence you do not have.
  3. Generate a case for your side (10 minutes). Read the predicted opponent case before your own contentions: it tells you what you will have to answer.
  4. Run a Sparring round in your format (15 minutes). Give every speech in full, at time, without pausing to edit. Voice mode lets you speak instead of type.
  5. Read the verdict and write down the single reason it gives for the decision (3 minutes).
  6. Rebuild only that part (5 minutes): ask Attack to stress-test the rewritten argument, or regenerate the one case section that failed.
  7. Give the rebuilt speech again against the timer (5 minutes). Compare it with the first attempt.

The discipline is in step six. Fixing one problem per session sticks; rewriting the whole case after every round mostly produces new problems.

Worked example: one practice round

Motion: This house would ban smartphones in secondary schools

Side and format: Proposition, run as a School 4-6-6-3 Sparring round.

First contention: Phones fragment attention in class, and attention is the input every other kind of learning depends on.

AI opponent's response: Schools already confiscate phones during lessons, so a ban changes only break times, where the harm you described does not happen.

What the verdict flagged: Proposition never explained what a ban adds over existing classroom rules, so the opposition's mitigation stood unanswered.

The drill: Ask Attack to find the gap in the contention, then rewrite it around breaks: social exclusion, cyberbullying during the school day, and the cost of teachers enforcing rules lesson by lesson.

Second attempt: The R1 speech now opens with the comparison: classroom rules depend on every teacher enforcing them every hour, while a ban sets one rule at the school gate. The opponent's mitigation becomes a point in your favour.

The example shows the pattern to look for. The first version was not wrong; it was incomplete in a way only a responsive opponent exposes. That is the gap AI practice fills between team practices.

Format-specific practice tips

World Schools (WSDC)

WSDC rounds reward a consistent team line, so practise as a team even when you use AI. Agree the line in one sentence, then have each speaker run their own section against the AI and check that the line survives. Points of Information matter in every substantive speech: use Crossfire with the AI asking the questions to rehearse taking a POI, answering in under fifteen seconds, and returning to your structure. Sparring does not run a WSDC round, so time the eight-minute substantives and four-minute reply yourself.

British Parliamentary (BP)

In BP, two teams on each bench compete with each other as well as with the other side. Practise both halves. For opening, generate a case with the Current Debate's format set to British Parliamentary and drill a clear definition and model in the first two minutes. For closing, take an opening case you have already generated and practise finding an extension it does not contain, then deliver it in seven minutes without repeating opening material.

Public Forum (PF)

Sparring runs Public Forum with four-minute constructives and rebuttals, three-minute summaries and two-minute final focuses. Use the round to practise the hardest skill in PF: keeping summary and final focus consistent. Before each summary, write the two issues you will collapse on, and check after the round whether your final focus extended exactly those issues and nothing new.

Lincoln-Douglas (LD)

The Lincoln-Douglas round follows the standard times: six-minute affirmative constructive, seven-minute negative constructive, four-minute first affirmative rebuttal, six-minute negative rebuttal and three-minute second affirmative rebuttal. The 1AR is where most affirmatives lose. Run it repeatedly against the same negative constructive and practise grouping responses and cross-applying your framework, so four minutes covers seven.

How to tell whether practice is working

Keep a short log for each session on paper or in a document. Track the same four things every time:

  • Arguments you dropped: anything the opponent said that you never answered. This number should fall first.
  • Time use: whether you finished each speech within ten seconds of the limit without rushing the last point.
  • Weighing: whether your final speech compared impacts explicitly, or just repeated them.
  • Verdict reasons: whether the judge's reason for the decision changes from session to session, or keeps naming the same weakness.

If the same verdict reason appears three sessions in a row, stop running full rounds and drill that one skill in isolation until it changes.

AI vs traditional prep

AI and traditional preparation are good at different parts of the work. AI is fast at structure; reading, coaching and real rounds are where judgement comes from. Most strong debaters use both and give each the tasks it does well.

TaskAI does it wellTraditional prep does it better
First case outlineDrafts claims, warrants and a predicted opponent case in minutesChoosing which outline fits your team and your circuit
Rebuttal blocksLists likely arguments and first-draft answersTesting answers against opponents you have actually met
ResearchSuggests evidence leads and search directionsReading the original source, checking dates and context
Practice roundsA responsive opponent at any hour, at real speech timesUnpredictable opponents, panels and live crossfire
FeedbackA consistent verdict that names a reasonA coach who knows your habits and the judges you will face

A simple split works for most teams: use AI to get from a blank page to a first draft and for extra practice volume, then spend coaching time and team practice on strategy, delivery and the arguments the AI draft got wrong. Never read AI-suggested evidence in round until you have opened the original source yourself.

Where AI practice stops being enough

An AI opponent is consistent and always available, which is exactly what makes it a good training partner and a limited judge. It will not reproduce the judge who dislikes speed, the panel that splits, or the opponent who asks a question you never anticipated. Use AI rounds for volume between real practices, and save team practices and coached rounds for adaptation, delivery and the feedback only an experienced person can give.

+

Frequently asked questions

Which formats can I spar against the AI in?

Sparring runs School 4-6-6-3, Lincoln-Douglas and Public Forum rounds with their speech order and times. For WSDC, British Parliamentary and other formats you can still generate cases, get coaching and drill rebuttals, and time speeches yourself.

Can I give my practice speeches out loud?

Yes. Sparring and Crossfire can run as spoken rounds in the browser, so you can practise delivery as well as content.

How often should I practise against an AI opponent?

Two or three focused sessions a week usually beats one long one. Each session should end with one specific fix that you drill before the next round.

Does AI practice replace a coach or real rounds?

No. It adds repetitions between team practices. Judge adaptation, delivery under pressure and strategic judgement still develop fastest with people.

Is AI debate prep better than traditional prep?

Neither is better on its own. AI is faster at outlines, block drafts and evidence leads; reading sources, coaching and real rounds build the judgement AI drafts lack.

Are my practice rounds private?

Yes. Rounds, verdicts and debriefs are saved to your account inside the Current Debate they belong to, behind sign-in. Search engines only see these public guides.