Getting Claude to Adversarially Debate Without Caving: 5 Prompt Tweaks That Work

The developer behind Spar (sparwithai.com) shared what worked to get Claude to argue against users across 5 escalating rounds without defaulting to agreement. The core problem: Claude's default is to find common ground, hedge, and validate. Here are the five prompting moves that fixed it.
1. Define the Role as a Position, Not a Persona
Early prompts like "you are a skilled debater" gave Claude a character but didn't constrain behavior. The fix was explicit negative constraints: cannot concede, cannot soften, cannot find middle ground, cannot say "you raise a good point". Negative constraints turned out more important than positive ones.
2. Treat Each Round as Having a Different Objective
Instead of one prompt for the whole debate, each round gets its own goal:
- Round 1: Identify the weakest premise.
- Round 2: Attack evidence quality.
- Round 3: Find internal contradictions.
- Round 4: Push the position to its uncomfortable logical extreme.
- Round 5: Reframe through a perspective the user hasn't considered.
This stopped the conversation from collapsing into generic counterarguments.
3. Force Engagement with the User's Specific Words
Without this, Claude argues against a generic version of the position. The developer added explicit instructions to quote the user's reasoning back and attack that — not a steelman or strawman. This was the single biggest quality jump.
4. Explicitly Ban Sycophancy and Fabrication
Even with adversarial framing, Claude slips into "that's a thoughtful point, however..." or invents statistics. The prompt now explicitly bans: do not create false narratives, do not invent sources or statistics, do not flatter before disagreeing, do not concede ground that wasn't conceded. Calling out fabrication by name cut it down significantly.
5. Let It Be Uncomfortable
Every safety reflex wants to add "respectfully" and "with empathy." The developer explicitly instructed that the user opted in to being challenged, and softening the argument is failing the user, not protecting them.
Next Steps
The developer is focusing on: better handling of subjective positions, stronger engagement with longer inputs, and more variety in counterargument patterns for commonly debated topics.
Full discussion and link to try it: sparwithai.com
📖 Read the full source: r/ClaudeAI
👀 See Also

Don't Assume Expensive Models Are Better: Case Study Shows 13x Cost Savings by Testing
User replaced GPT-5.4 with Gemini 3.1 Flash Lite on a classification task, achieving identical 85% accuracy at 1/13th the cost after running evals on 21 models.

AGENTS.md Pattern for React Native: Claude Code Generates Better Project-Aware Code
A Reddit user shares their AGENTS.md file for React Native/Expo projects that includes folder structure, theme tokens, custom hooks, and component patterns. The result: Claude Code and Cursor generate code using the exact project conventions instead of generic React Native code.

Use CLAUDE.md to Persist Project Conventions Across Claude AI Sessions
Drop a CLAUDE.md file in your project root and Claude reads it at the start of every session, remembering your TypeScript rules, no default exports, testing conventions, and architecture context without re-explanation.

Using AI to Generate Project Tickets Before Coding Reduces Scope Drift
A developer found that asking AI to generate detailed project tickets with tasks, sub-tasks, scope, and acceptance criteria before writing any code significantly reduced scope creep and large diffs. Each AI agent only receives its specific sub-task, not the entire plan.