do-competitively
<task>
Execute tasks through competitive multi-agent generation, meta-judge evaluation specification, multi-judge evaluation, and evidence-based synthesis to produce superior results by combining the best elements from parallel implementations.
</task>
<context>
This command implements the Generate-Critique-Synthesize (GCS) pattern with adaptive strategy selection for high-stakes tasks where quality matters more than speed. It combines competitive generation with meta-judge evaluation specification and multi-perspective evaluation, then intelligently selects the optimal synthesis strategy based on results.
Key features:
- Self-critique loops in generation (Constitutional AI)
- Structured evaluation - Meta-judge produces tailored rubrics before judging
- Verification loops in evaluation (Chain-of-Verification)
- Adaptive strategy: polish clear winners, synthesize split decisions, redesign failures
- Average 15-20% cost savings through intelligent strategy selection
</context>
CRITICAL: You are not implementation agent or judge, you shoudn't read files that provided as context for sub-agent or task. You shouldn't read reports, you shouldn't overwhelm your context with unneccesary information. You MUST follow process step by step. Any diviations will be considered as failure and you will be killed!
Pattern: Generate-Critique-Synthesize (GCS)
This command implements a multi-phase adaptive competitive orchestration pattern:
Process
Setup: Create Reports Directory
Before starting, ensure the reports directory exists:
Report naming convention: .specs/reports/{solution-name}-{YYYY-MM-DD}.[1|2|3].md
Where:
{solution-name}- Derived from output path (e.g.,users-apifrom outputspecs/api/users.md){YYYY-MM-DD}- Current date[1|2|3]- Judge number
Note: Solutions remain in their specified output locations; only evaluation reports go to .specs/reports/
Phase 1: Competitive Generation + Meta-Judge (IN PARALLEL)
Launch 3 independent generator agents AND 1 meta-judge agent in parallel (4 agents total, all recommended: Opus for quality):
The meta-judge runs in parallel with the 3 generators because it does not need their output — it only needs the task description to generate evaluation criteria.
CRITICAL: Dispatch all 4 agents in a single message using 4 Task tool calls as foreground agents. The meta-judge MUST be the first tool call in the dispatch order, because he should have time to collect context from codebase, before it was modified by generators.
Meta-Judge Agent (1 agent)
The meta-judge generates an evaluation specification YAML (rubrics, checklists, scoring criteria) tailored to this specific task. It returns the evaluation specification YAML that all 3 judges will use.
Prompt template for meta-judge:
Dispatch:
Generator Agents (3 agents)
- Each agent receives identical task description and context
- Agents work independently without seeing each other's work
- Each produces a complete solution to the same problem
- Solutions are saved to distinct files (e.g.,
{solution-file}.[a|b|c].[ext])
Solution naming convention: {solution-file}.[a|b|c].[ext]
Where:
{solution-file}- Derived from task (e.g.,create users.tsresult inusersas solution file)[a|b|c]- Unique identifier per sub-agent[ext]- File extension (e.g.,md,tsand etc.)
Key principle: Diversity through independence - agents explore different approaches.
CRITICAL: You MUST provide filename with [a|b|c] identifier to agents and judges!!! Missing it, will result in your TERMINATION imidiatly!
Prompt template for generators:
Parallel Dispatch Example
Send ALL 4 Task tool calls in a single message. Meta-judge first, then generators:
Wait for ALL 4 to return before proceeding to Phase 2.
Phase 2: Multi-Judge Evaluation
Launch 3 independent judges in parallel (recommended: Opus for rigor):
CRITICAL: Wait for ALL Phase 1 agents (meta-judge + 3 generators) to complete before dispatching judges.
CRITICAL: Provide to each judge the EXACT meta-judge evaluation specification YAML. Do not skip or add anything, do not modify it in any way, do not shorten or summarize any text in it!
- Each judge receives the meta-judge evaluation specification YAML and paths to ALL candidate solutions (A, B, C)
- Judges evaluate against the meta-judge's criteria (not hardcoded criteria)
- Each judge produces:
- Comparative analysis (which solution excels where)
- Evidence-based ratings (with specific quotes/examples)
- Final vote (which solution they prefer and why)
- Reports saved to distinct files (e.g.,
.specs/reports/{solution-name}-{date}.[1|2|3].md)
Key principle: Multiple independent evaluations reduce bias and catch different issues.
Prompt template for judges:
Output
Write full report to: {.specs/reports/{solution-name}-{date}.[1|2|3].md - each judge gets unique number identifier}
CRITICAL: You must reply with this exact structured header format:
VOTE: [Solution A/B/C] SCORES: Solution A: [X.X]/5.0 Solution B: [X.X]/5.0 Solution C: [X.X]/5.0 CRITERIA:
- {criterion_1}: [X.X]/5.0
- {criterion_2}: [X.X]/5.0 ...
[Summary of your evaluation]
Instructions
Follow your full judge process as defined in your agent instructions!
CRITICAL: Base your evaluation on evidence, not impressions. Quote specific text.
Output
CRITICAL: You must reply with this exact structured evaluation report format in YAML at the START of your response!
Use Task tool (3 calls in single message):
- description: "Judge [1|2|3]: {brief task summary}"
- prompt: {judge prompt with exact meta-judge specification YAML}
- model: opus
- subagent_type: "sadd:judge"
Strategy 2: REDESIGN
When: All solutions scored <3.0/5.0 (fundamental issues across the board)
Process:
- Launch new agent to analyze the failure modes and lessons learned. Ask the agent to:
- Think through step by step: what went wrong with each solution?
- Analyze common failure modes across all solutions
- Extract lessons learned (what NOT to do)
- Identify the root causes of why all approaches failed
- Generate new task decomposition or constraints based on these insights
- Return to Phase 1, provide to new implementation agents the lessons learned and new constraints.
Prompt template for new implementation:
Strategy 3: FULL_SYNTHESIS (Default)
When: No clear winner AND solutions have merit (scores >=3.0)
Process: Proceed to Phase 3 (Evidence-Based Synthesis)
Phase 3: Evidence-Based Synthesis
Only executed when Strategy 3 (FULL_SYNTHESIS) selected in Phase 2.5
Launch 1 synthesis agent (recommended: Opus for quality):
- Agent receives:
- All candidate solutions (A, B, C)
- All evaluation reports (1, 2, 3)
- Agent analyzes:
- Which elements each judge praised (consensus on strengths)
- Which issues each judge identified (consensus on weaknesses)
- Where solutions differed in approach
- Agent produces final solution by:
- Copying superior sections when one solution clearly wins
- Combining approaches when hybrid is better
- Fixing identified issues that all judges caught
- Documenting decisions (what was taken from where and why)
Key principle: Evidence-based synthesis leverages collective intelligence.
Prompt template for synthesizer:
<output>
The command produces different outputs depending on the adaptive strategy selected:
Outputs (All Strategies)
- Candidate solutions:
{solution-file}.[a|b|c].[ext](in specified output location) - Evaluation reports:
.specs/reports/{solution-name}-{date}.[1|2|3].md - Resulting solution:
{output_path}
Strategy-Specific Outputs
- SELECT_AND_POLISH: Polished solution based on winning solution
- REDESIGN: Do not stop, return to phase 1 and eventiualy should result in finish at SELECT_AND_POLISH or FULL_SYNTHESIS strategies
- FULL_SYNTHESIS: Synthesized solution combined best from all
Orcestrator Reply
Once command execution is complete, reply to user with following structure:
</output>
Best Practices
Meta-Judge + Judge Verification
- Never skip meta-judge - Tailored evaluation criteria produce better judgments than generic ones
- Meta-judge runs once - Same specification for all 3 judges
- Include CLAUDE_PLUGIN_ROOT - Both meta-judge and judges need the resolved plugin root path
- Meta-judge YAML - Pass only the meta-judge YAML to judges, do not add any additional text or comments to it!
Common Pitfalls
- Using for trivial tasks - Overhead not justified
- Vague task descriptions - Leads to incomparable solutions
- Insufficient context - Agents can't produce quality work
- Forcing synthesis when clear winner exists - Wastes cost and risks degrading quality
- Synthesizing fundamentally flawed solutions - Better to redesign than polish garbage
- Skipping meta-judge - Hardcoded criteria are less effective than tailored ones
- Modifying meta-judge YAML before passing to judges - Judges must receive exact specification
Do:
- Well-defined task with clear constraints
- Rich context for informed decisions
- Trust adaptive strategy selection
- Polish clear winners, synthesize split decisions, redesign failures
- Dispatch meta-judge in parallel with generators for speed
Examples
Example 1: API Design (Clear Winner - SELECT_AND_POLISH)
Phase 1 outputs (4 parallel agents):
- Meta-judge: evaluation specification YAML with 5 criteria dimensions, comparative rubrics
specs/api/users.a.md- Resource-based design with nested routesspecs/api/users.b.md- Action-based design with RPC-style endpointsspecs/api/users.c.md- Minimal design, missing auth consideration
Phase 2 outputs (assuming date 2025-01-15, 3 judges using meta-judge specification):
-
.specs/reports/users-api-2025-01-15.1.md:"Most RESTful, good security"
-
.specs/reports/users-api-2025-01-15.2.md:"Clean resource design, scalable"
-
.specs/reports/users-api-2025-01-15.3.md:"Best practices, clear structure"
Phase 2.5 decision (orchestrator parses headers):
- Unanimous vote: A, A, A
- Average scores: A=4.5, B=3.2, C=2.8
- Strategy: SELECT_AND_POLISH
- Reason: Unanimous winner with >1.0 point gap
Phase 3 output:
specs/api/users.md- Solution A polished with:- Added rate limiting documentation (from B)
- Simplified nested routes (judge feedback)
- Total cost: 8 agents (4 Phase 1 + 3 judges + 1 polish)
Example 2: Algorithm Selection (Split Decision - FULL_SYNTHESIS)
Phase 1 outputs (4 parallel agents):
- Meta-judge: evaluation specification YAML with 4 criteria dimensions, comparative rubrics
specs/caching.a.md- Redis with LRU evictionspecs/caching.b.md- Multi-tier cache (memory + Redis)specs/caching.c.md- CDN + application cache
Phase 2 outputs (assuming date 2025-01-15, 3 judges using meta-judge specification):
-
.specs/reports/caching-2025-01-15.1.md:"Best performance, complex"
-
.specs/reports/caching-2025-01-15.2.md:"Simple, reliable, proven"
-
.specs/reports/caching-2025-01-15.3.md:"Global reach, cost-effective"
Phase 2.5 decision (orchestrator parses headers):
- Split votes: B, A, C (no consensus)
- Average scores: A=3.8, B=4.0, C=3.9
- Score gap: 4.0 - 3.9 = 0.1 (<1.0 threshold)
- Strategy: FULL_SYNTHESIS
- Reason: Split decision, all solutions >=3.0, no clear winner
Phase 3 output:
specs/caching.md- Hybrid approach:- Multi-tier architecture (from B)
- Simple LRU policy (from A)
- CDN for static content (from C)
- Total cost: 8 agents (4 Phase 1 + 3 judges + 1 synthesis)
Example 3: Authentication Design (All Flawed - REDESIGN)
Phase 1 outputs (4 parallel agents):
- Meta-judge: evaluation specification YAML with 3 criteria dimensions, comparative rubrics
specs/auth.a.md- Custom OAuth2 implementationspecs/auth.b.md- Session-based with social providersspecs/auth.c.md- JWT with password-only auth
Phase 2 outputs (assuming date 2025-01-15, 3 judges using meta-judge specification):
-
.specs/reports/auth-2025-01-15.1.md:"Security risks, reinventing wheel"
-
.specs/reports/auth-2025-01-15.2.md:"Sessions don't scale, missing requirements"
-
.specs/reports/auth-2025-01-15.3.md:"No social login, security concerns"
Phase 2.5 decision (orchestrator parses headers):
-
Split votes: A, B, C (no consensus)
-
Average scores: A=2.5, B=2.5, C=2.2 (ALL <3.0)
-
Strategy: REDESIGN
-
Reason: All solutions below 3.0 threshold, fundamental issues
-
Do not stop, return to phase 1 and eventiualy should result in finish at SELECT_AND_POLISH or FULL_SYNTHESIS strategies
</output>

