Install
$ agentstack add skill-thomsonreuters-claude-forge-debate ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Debate Evaluation
Run an adversarial multi-model evaluation where models argue for, against, and neutrally about a subject.
When invoked from Claude Code, execute the workflow now. Do not just restate these instructions, say "Command completed", or ask the user to run the commands manually unless a real prerequisite is missing.
Usage
/forge:debate [subject] [--code] [--models model1,model2]
Arguments
| Argument | Required | Description | | ---------- | -------- | ------------------------------------------------------------------------------------ | | subject | Optional | File, directory, proposal, or instruction on what to evaluate (defaults to cwd) | | --code | Optional | Switch: use code evaluation framework (default: proposal) | | --models | Optional | Comma-separated model list (default: all available) | | --worker | Optional | Repeatable: model:stance or model:"custom prompt" (mutually exclusive with --models) | | --output | Optional | Write result to file instead of conversation (e.g., debate.md) |
Available models: !forge workflow list-models
Only use models with status ready in the table above. If the default set includes unavailable models, pass --models explicitly. If the user explicitly requested an unavailable model, stop and tell them what proxy or credential is missing rather than silently substituting. If no models are ready, tell the user what's missing and stop.
Execution
Step 1: Resolve Subject and Flags
Parse $ARGUMENTS into a positional subject and optional flags. The subject is everything that is not a recognized flag (file path, directory, proposal text, or free-form instruction). Strip any leading @ prefix on the subject. If no subject is found, default to the current working directory.
Recognized flags (extract from $ARGUMENTS if present):
--code— switch--models— comma-separated model list (mutually exclusive with --worker)--worker— repeatable: model:stance or model:custom prompt--output— write result to file instead of conversation
Never ask the user to clarify. If $ARGUMENTS contains anything, proceed immediately.
Step 2: Run Adversarial Evaluation
forge workflow debate "" [--code] [--models ] [--worker ]... --json
Omit any flag the user didn't specify. Do not pass both --models and --worker.
Parse the JSON output. Each model receives a different stance (for/against/neutral) and evaluates the subject from that perspective. If the command fails, surface the real error and stop; do not claim success.
Step 3: Synthesize
Combine the perspectives:
- Points of agreement across all stances
- Key disagreements and which stance has stronger evidence
- Risk assessment from the critic's perspective
- Viability assessment from the supporter's perspective
- Overall recommendation with confidence level
Make it clear which parts came from agreement across stances versus which parts remain disputed.
Output routing: If --output was specified, write the complete synthesis to that path using the Write tool (create parent directories if needed). Print a one-line confirmation: Wrote synthesis to {path}. Do not also print the full result in the conversation. If --output was not specified, print the result in the conversation as usual.
Models and Roles
Models are assigned stances cyclically. Default models (from forge workflow list-models):
| Order | Default Model | Stance | Role | | ----- | -------------- | ------- | ------------------------ | | 1st | gpt-5.5 | FOR | Supporter -- strengths | | 2nd | gemini-2.5-pro | AGAINST | Critic -- risks | | 3rd | claude-opus | NEUTRAL | Analyst -- balanced view |
Use --models to control which models participate. Stances cycle through for/against/neutral in order.
Code Mode
When --code is specified, models evaluate the target code from adversarial perspectives:
- FOR stance: Identifies good design, correct implementations, production readiness
- AGAINST stance: Identifies bugs, security issues, performance problems, architectural flaws
- NEUTRAL stance: Balanced assessment of code quality with file:line evidence
Requirements
- Forge CLI:
forgemust be on PATH - Proxies: GPT-5.5 and Gemini require active proxies (
forge proxy create litellm-openai)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: thomsonreuters
- Source: thomsonreuters/claude-forge
- License: Apache-2.0
- Homepage: https://pypi.org/project/tr-claude-forge/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.