MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
LLMs propose and critique approaches, agent moderates the debate and synthesizes the best solution, then implements.
$ npx skills add raine/consult-llm --skill debate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install raine/consult-llm debate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/raine/consult-llm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/debate .claude/skills/debate && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "debate" agent skill from https://github.com/raine/consult-llm/tree/main/skills/debate into .claude/skills/debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/raine/consult-llm/tree/main/skills/debateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add raine/consult-llm --skill debate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install raine/consult-llm debate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/raine/consult-llm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/debate .agents/skills/debate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "debate" agent skill from https://github.com/raine/consult-llm/tree/main/skills/debate into .agents/skills/debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add raine/consult-llm --skill debate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install raine/consult-llm debate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/raine/consult-llm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/debate .cursor/skills/debate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "debate" agent skill from https://github.com/raine/consult-llm/tree/main/skills/debate into .cursor/skills/debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/raine/consult-llm.git --path skills/debate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add raine/consult-llm --skill debate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install raine/consult-llm debate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/raine/consult-llm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/debate .gemini/skills/debate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "debate" agent skill from https://github.com/raine/consult-llm/tree/main/skills/debate into .gemini/skills/debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install raine/consult-llm debateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add raine/consult-llm --skill debate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/raine/consult-llm.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/debate .github/skills/debate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "debate" agent skill from https://github.com/raine/consult-llm/tree/main/skills/debate into .github/skills/debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add raine/consult-llm --skill debate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install raine/consult-llm debate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/raine/consult-llm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/debate .opencode/skills/debate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "debate" agent skill from https://github.com/raine/consult-llm/tree/main/skills/debate into .opencode/skills/debate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
debateLLMs propose and critique approaches, agent moderates the debate and synthesizes the best solution, then implements.
Debate is an agent skill from raine/consult-llm. LLMs propose and critique approaches, agent moderates the debate and synthesizes the best solution, then implements.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows. The repository describes itself as: Get a second opinion from another AI model. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 69e3ecb. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Debate loads about 2.5k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 981 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from raine/consult-llm at commit 69e3ecb, republished under its MIT licence (© raine). 981 words, ~2,527 tokens.
.claude/skills/debate/SKILL.md (or your agent's skills folder).Have multiple LLMs debate the best approach, then synthesize and implement.
Load the consult-llm skill before proceeding — it defines the invocation contract (stdin heredoc, flags, output format, multi-turn). Do not call the CLI without loading it first.
Selectors resolvable in this environment (depends on configured API keys):
!`consult-llm models`consult-llm SkillLoad it now. Follow its invocation contract for all CLI calls in this workflow.
Arguments: $ARGUMENTS
Check the arguments for flags:
Model flags: any --<selector> from the Models block above selects a debater (e.g. --gemini, --openai, --deepseek). Repeat for multiple. Need at least two debaters. Translate model flags and defaults according to the loaded consult-llm skill's model-selection rules.
Mode flags:
--dry-run → debate and plan only, skip implementation--skip-final → skip the final review phase--rounds N → number of debate rounds (default: 2, max: 3)Strip all flags from arguments to get the task description.
Throughout this skill, references to "each LLM"/"each debater" mean every selected model. Use the selector name (gemini, openai, etc.) as the label when presenting per-model output.
Explore the codebase - use Glob, Grep, Read to understand:
Before planning or consulting, do enough research to understand how the requested behavior actually works. Before starting, think about what resources would be useful to obtain first: relevant source files, tests, logs, generated files, config, examples, command output, external docs, or authoritative upstream source. Gather the cheapest useful evidence before forming a plan.
Do not stop at the first plausible file, definition, setting, or example. Follow references, callers, related tests, and runtime usage until you can explain the current behavior and the likely impact of changing it.
Ground external semantics before planning - understand the requested behavior in the real system, not just this repo
Make evidence-backed assumptions - do NOT ask clarifying questions
Prepare context summary - create a brief summary of:
Have both LLMs propose their approach independently (in parallel).
Opening prompt:
I need to implement the following task:
[Task description]
Here's what I found in the codebase:
[Context summary - relevant files, patterns, conventions]
Propose your implementation approach:
1. **Approach**: Describe your recommended approach in 2-3 sentences
2. **Key decisions**: List the main architectural/design decisions
3. **Files**: What files to create or modify
4. **Steps**: High-level implementation steps
5. **Trade-offs**: What are the pros and cons of this approach?
Be specific and opinionated. Defend your choices.Invoke consult-llm with -f <path> for each relevant source file, sending the opening prompt per the consult-llm invocation contract. If explicit debater flags were supplied, pass one -m <selector> per debater. Otherwise omit -m so consult-llm applies configured defaults. All models are queried in parallel in a single call.
Extract per-model thread IDs from the response — needed for Phase 3 since each model receives the others' rebuttals.
For each round (default 2, configurable with --rounds N, max 3):
Have each LLM critique the others' latest arguments (in parallel). Pass each LLM's thread ID via -t <id> to continue its conversation — they already have full context of the task and their own prior arguments, so you only need to send the opponents' latest responses.
Round 1 rebuttal prompt (same template for each debater; embed every other debater's opening argument, labeled by selector):
Your opponent(s) proposed these alternative approaches:
[Opponents' opening arguments, each labeled with the selector name]
Provide a rebuttal:
1. **Critique**: What are the weaknesses in each opponent's approach?
2. **Defense**: Address any weaknesses in your own approach
3. **Concessions**: Are there any good ideas worth adopting?
4. **Updated position**: State your refined recommendation
Be constructive but thorough in your critique.Subsequent round prompt (same template; embed every other debater's latest rebuttal):
Your opponent(s) have responded to your critique:
[Opponents' latest rebuttals, each labeled with the selector name]
Continue the debate:
1. **Critique**: What weaknesses remain in their updated positions?
2. **Defense**: Address any new points raised against your approach
3. **Concessions**: Any new ideas worth adopting?
4. **Updated position**: State your refined recommendation
Focus on unresolved disagreements. Don't repeat settled points.Each model receives every other model's latest response. Invoke consult-llm once with one --run per debater, continuing each model's thread.
Present both responses to the user after each round.
As the moderator, analyze the debate and synthesize the best approach:
Score the arguments:
Identify consensus: Where did all the debaters agree?
Resolve disagreements: For each point of contention:
Write the verdict as part of the plan:
# [Feature Name] Implementation Plan
**Goal:** [One sentence describing what this builds]
## Debate Summary
**Positions** (one bullet per debater, labeled with the selector name):
- **<selector>:** [1-2 sentence summary]
**Points of agreement:**
- [Consensus point 1]
- [Consensus point 2]
**Resolved disagreements:**
- [Issue]: <selector-A> said X, <selector-B> said Y → **Verdict:** [Your decision and why]
**Verdict:** [2-3 sentences on the final synthesized approach]
---
### Task 1: [Short description]
**Files:**
- Create: `exact/path/to/file.py`
- Modify: `exact/path/to/existing.py` (lines 123-145)
**Steps:**
1. [Specific action]
2. [Specific action]
**Code:**
```language
// Include actual code, not placeholders
```
---Guidelines:
Save the plan to history/plan-<feature-name>.md.
If --dry-run: Skip to Phase 7 (Summary) - report the debate and plan without implementing.
Implement the plan without further interaction:
Implementation rules:
If --skip-final: Skip to Phase 7 (Summary).
After implementation, have every debater LLM review the result (in parallel). Pass each LLM's thread ID via -t <id> to continue its conversation — they already have full context of the task and the debate, so you only need to send the review prompt and the diff.
Final review prompt:
Forget which side you argued during the debate. Review the implementation purely on its merits:
- Any obvious bugs or edge cases missed?
- Code quality issues (error handling, naming, structure)?
- Deviations from best practices?
- Security concerns?
Be concise. Only flag issues worth fixing.Invoke consult-llm --task review once with one --run per debater, passing --diff-files and --diff-base as shared context, continuing each model's thread.
Apply fixes if multiple reviewers identify the same issue, or if one raises a clearly valid concern:
Skip minor style suggestions or conflicting opinions.
Present a final summary to the user:
## Summary
**Implemented:** [One sentence describing what was built]
**Debate outcome:**
- One bullet per debater, labeled with the selector: `<selector>` advocated: [key position]
- Final verdict: [synthesized approach]
**Key decisions from debate:**
- [Decision 1 and why]
- [Decision 2 and why]
**Post-implementation fixes:**
- [Fix applied after final review, if any]
**Commits:**
- `abc1234` - [commit message]
- `def5678` - [commit message]© raine, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/debate of raine/consult-llm.
Open the folder on GitHubat commit 69e3ecb
Debate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Debate this skillraine/consult-llm | 139 | — | ~2.5k | Automated safety check: Pass | MIT | |
| MCP Server Builderanthropics/skills | 180k | 64 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 38k | 11 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Using Superpowersfarm-fe/farm | 5.6k | 35 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Executing Plans Inlineobra/superpowers | 296k | 2 repos | ~5.1k | Automated safety check: Pass | MIT | |
| Claude Code Agent Developmentanthropics/claude-plugins-official | 38k | 8 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
obra/superpowers
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
raine/consult-llm
Explicit workflow for one bounded implementation using source-grounded discovery, a walking slice, evidence-gated review, validation, and commit.
raine/consult-llm
Multiple LLMs collaboratively brainstorm solutions, building on each other's ideas across rounds.
raine/consult-llm
The agent brainstorms with a partner LLM in alternating turns, building on each other's ideas.
raine/consult-llm
Consult an external LLM with the user's query. An agent skill from raine/consult-llm.
raine/consult-llm
How to invoke the consult-llm CLI. An agent skill from raine/consult-llm.
raine/consult-llm
The agent debates an opponent LLM through a multi-turn conversation, then synthesizes the best approach and implements.
Categories
LLMs propose and critique approaches, agent moderates the debate and synthesizes the best solution, then implements. Debate is an agent skill from raine/consult-llm. LLMs propose and critique approaches, agent moderates the debate and synthesizes the best solution, then implements.
Debate fits situations like: agent Workflows work in your project.
Run `npx skills add raine/consult-llm --skill debate -a claude-code`. Or copy the skill folder (skills/debate in raine/consult-llm) into .claude/skills/debate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add raine/consult-llm --skill debate -a codex`. Or copy the skill folder (skills/debate in raine/consult-llm) into .agents/skills/debate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add raine/consult-llm --skill debate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/debate, .gemini/skills/debate, .github/skills/debate and .opencode/skills/debate in your project.
SKILL.md names no scripts, command-line tools or credentials: Debate is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Debate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Debate: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
raine (a GitHub user) maintains it in raine/consult-llm, which has 139 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 7, 2026.
Source: raine/consult-llm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.