4 independent AI judges evaluate your code โ like America's Got Talent!
Works with Qwen Code, Claude Code, Gemini CLI, and any other AI coding assistant that supports custom commands/skills.
- ๐ญ 4 Dynamic Judges โ randomly selected from 10 personality types each time
- ๐ 9 Languages โ Ukrainian, English, Arabic, Russian, Polish, Spanish, German, French, Italian
- โ๏ธ Weighted Voting โ experts in security, architecture, testing carry more weight
- ๐ Score & Verdict โ 1-10 scale with โ /โ verdict per judge
- ๐ Branch Tracking โ tracks progress across multiple attempts on the same branch
- ๐พ Session Caching โ remembers previous votes for the same diff
- ๐ Issue Persistence โ shows what got fixed, what's still broken, what's new
# Install for both Qwen & Claude
curl -fsSL https://raw.githubusercontent.com/thecapibara/vote-skill/main/install.sh | bash -s -- --remote
# Qwen Code only
curl -fsSL https://raw.githubusercontent.com/thecapibara/vote-skill/main/install.sh | bash -s -- --remote --qwen
# Claude Code only
curl -fsSL https://raw.githubusercontent.com/thecapibara/vote-skill/main/install.sh | bash -s -- --remote --claude
# Global installation
curl -fsSL https://raw.githubusercontent.com/thecapibara/vote-skill/main/install.sh | bash -s -- --remote --all --globalgit clone https://github.com/thecapibara/vote-skill.git
cd vote-skill
# Both (default)
bash install.sh
# Qwen only
bash install.sh --qwen
# Claude only
bash install.sh --claude
# Global
bash install.sh --all --global
# Remote (download from GitHub)
bash install.sh --remotecd ~/.qwen/skills/vote # or your project's .qwen/skills/vote
python3 scripts/select_judges.py --helpUse the slash command:
/vote # Evaluate unstaged changes
/vote --mode lightning # Quick check (fast, cheap)
/vote --mode thorough # Deep review (slow, thorough)
/vote last commit # Last commit
/vote last 3 commits # Last 3 commits
/vote branch feature-auth # Branch changes
Or just ask naturally:
- "Evaluate my changes"
- "Check the last commit"
- "Vote on my feature branch"
Use the slash command:
/vote # Evaluate unstaged changes
/vote --mode lightning # Quick check (fast, cheap)
/vote --mode thorough # Deep review (slow, thorough)
/vote last commit # Last commit
/vote last 3 commits # Last 3 commits
/vote branch feature-auth # Branch changes
/vote file script.py # Specific file
/vote history # View history
Or directly run the selector script:
python3 .claude/skills/vote/scripts/select_judges.py --helpUse the skill command:
/skills code-jury # Evaluate unstaged changes (balanced: 2ร Pro + 2ร Flash)
Quality modes:
# Lightning โ 4ร Flash-Lite (fastest & cheapest)
/skills code-jury # Ask for lightning mode
# Flash โ 4ร Flash (fast but capable)
/skills code-jury # Ask for flash mode
# Balanced โ 2ร Pro + 2ร Flash (default)
/skills code-jury # Default mode
# Thorough โ 4ร Pro (maximum quality)
/skills code-jury # Ask for thorough mode
Or directly run the selector script:
python3 .gemini/skills/code-jury/scripts/select_judges.py --platform gemini --helpEach vote uses 4 judges randomly selected from 10 personality types:
| Personality | Emoji | Weight | Claude/Qwen | Gemini | Expertise |
|---|---|---|---|---|---|
| Strict Critic | โ๏ธ | 1.7x | Sonnet | 3.1 Pro | Architecture, errors, security |
| Supportive Mentor | ๐ซ | 1.0x | Haiku | 3.1 Flash | Potential, best practices |
| Detail-Oriented Reviewer | ๐ | 1.2x | Haiku | 3.1 Flash | Style, docs, tests, DRY |
| Creative Engineer | ๐จ | 1.0x | Haiku | 3.1 Flash | Creativity, elegance |
| Security Expert | ๐ก๏ธ | 2.0x | Sonnet | 3.1 Pro | Vulnerabilities, validation |
| Performance Optimizer | โก | 1.5x | Sonnet | 3.1 Pro | Algorithms, memory, CPU |
| Testing Expert | ๐งช | 1.6x | Sonnet | 3.1 Pro | Unit tests, edge cases |
| Architecture Guru | ๐๏ธ | 1.8x | Sonnet | 3.1 Pro | SOLID, patterns, modularity |
| User Advocate | ๐ค | 1.1x | Haiku | 3.1 Flash | API design, UX |
| Maintenance Focused | ๐ง | 1.2x | Haiku | 3.1 Flash | Readability, tech debt |
| Maintenance Focused | ๐ง | 1.2x | Haiku | Readability, tech debt, legacy |
Each vote uses 4 judges. Choose the review depth. Modes vary by platform:
| Mode | Models | Use case |
|---|---|---|
| โก Lightning | 4ร Haiku | Quick checks, smallest diff |
| โ๏ธ Balanced | 2ร Sonnet + 2ร Haiku | Default โ optimal balance |
| ๐ Thorough | 4ร Sonnet | Important reviews, security |
| Mode | Models | Use case |
|---|---|---|
| โก Lightning | 4ร Flash-Lite | Fastest & cheapest |
| ๐จ Flash | 4ร Flash | Fast but capable |
| โ๏ธ Balanced | 2ร Pro + 2ร Flash | Default โ optimal balance |
| ๐ Thorough | 4ร Pro | Maximum quality |
Usage: /vote --mode thorough or /vote --mode lightning
- Judges with higher weight have more influence on the final verdict
- Consensus detection: Issues mentioned by 3+ judges get extra priority
- To pass: weighted "Yes" votes must exceed 60% of total weight
- Example: Security Expert (2.0x) saying โ hurts more than Mentor (1.0x) saying โ
๐ญ Vote Results
============================================================
๐ฉโโ๏ธ ะะบัะฐะฝะฐ (Strict Critic) (weight: 1.7x)
โ
Good error handling, new functionality added
โ Missing tests
๐ 6.5/10 | โ No
๐จโ๐ซ ะขะฐัะฐั (Supportive Mentor) (weight: 1.0x)
โ
Clean architecture, good function names
โ Needs more comments
๐ 8/10 | โ
Yes
๐ ะัะธะฝะฐ (Detail-Oriented Reviewer) (weight: 1.2x)
โ
Follows code style
โ Magic numbers at line 45
๐ 7/10 | โ
Yes
๐จ ะะพะณะดะฐะฝ (Creative Engineer) (weight: 1.0x)
โ
Elegant caching solution
โ Could optimize the loop
๐ 8/10 | โ
Yes
============================================================
๐ Summary: 3.7 โ
Yes | 1.5 โ No (weighted)
๐ฏ Average Score: 7.4/10
๐ Great! Code passed the vote!
๐ก Tips for improvement:
โข Add tests
โข Avoid magic numbers
โข Optimize the loop
When working on a feature branch, Vote skill tracks your progress:
- First vote โ โ Fails (finds: no tests, magic numbers)
- Fix issues โ Second vote โ โ Shows what's fixed, what's still broken, what's new
๐ History on branch: feature-auth
============================================================
๐ Vote attempts:
Attempt #1: 6.5/10 โ
Attempt #2: 7.5/10 โ
๐ Trend: 6.5 โ 7.5 (+1.0)
โ
Fixed issues:
โ
Added tests (was in attempt #1)
โ ๏ธ Open issues:
๐ต Deprecated function process()
============================================================
โ Branch failing. Need to fix 1 issues.
Judges names and personalities adapt to your language:
| Language | Flag | Example Names |
|---|---|---|
| Ukrainian | ๐บ๐ฆ | ะะบัะฐะฝะฐ, ะขะฐัะฐั, ะัะธะฝะฐ |
| English | ๐ฌ๐ง | Alex, Maya, Chris |
| Arabic | ๐ธ๐ฆ | ุนู ุฑ, ูููู, ุญุณู |
| Russian | ๐ท๐บ | ะะปะตะบัะตะน, ะะปะตะฝะฐ, ะะผะธััะธะน |
| Polish | ๐ต๐ฑ | Kasia, Tomek, Agnieszka |
| Spanish | ๐ช๐ธ | Carlos, Sofรญa, Miguel |
| German | ๐ฉ๐ช | Hans, Greta, Fritz |
| French | ๐ซ๐ท | Pierre, Camille, Luc |
| Italian | ๐ฎ๐น | Marco, Giulia, Luca |
.qwen/skills/vote/ # Qwen Code skill
โโโ SKILL.md # Skill description
โโโ scripts/
โ โโโ select_judges.py # Main entry point โ judge selection
โ โโโ judge_profiles/ # 9 languages (names & personalities)
โ โโโ judge_review_guides/ # Detailed checklists for each judge type
โโโ sessions/ # Vote cache (gitignored)
โโโ branches/ # Branch history (gitignored)
.claude/
โโโ commands/
โ โโโ vote.md # /vote slash command for Claude
โโโ agents/
โ โโโ jury-judge-haiku.md # Lightweight sub-agent
โ โโโ jury-judge-sonnet.md # Expert sub-agent
โโโ skills/vote/ # Claude Code skill
โโโ scripts/ # Same scripts as Qwen Code
.gemini/skills/code-jury/ # Gemini CLI skill
โโโ SKILL.md # Skill description
โโโ scripts/ # Same scripts as Qwen Code
.gemini/agents/
โโโ jury-judge-pro.md # Expert sub-agent (Gemini 3.1 Pro)
โโโ jury-judge-flash.md # Lightweight sub-agent (Gemini 3.1 Flash/Lite)
judges.json # Source of truth for judge weights, models, review guides
install.sh # Installer (--qwen, --claude, --gemini, --remote)
select_judges.py # CLI: judge selection & localization
Key configuration files:
judges.jsonโ judge weights, models (sonnet/haiku + pro/flash/flash-lite), and focus areasselect_judges.pyโMODES_*dicts for quality mode behavior per platformscripts/judge_review_guides/โ detailed checklists for each judge type (10 files)- Language profiles in
scripts/judge_profiles/โ localized names & personalities (9 languages)
- Session data and branch history are NOT committed to git
.gitignorefiles are included to protect sensitive information- All data stays local โ no external API calls (yet)
- Real LLM API integration (Claude, GPT, Qwen)
- Custom judge personalities
- Vote report export (Markdown/PDF)
- Team sharing via git
- CI/CD integration
- Historical trends dashboard
PRs welcome! Areas of interest:
- More language profiles
- New judge personality types
- LLM integration
- UI improvements
MIT
- ๐ก Idea: thecapibara
- ๐ ๏ธ Implementation: Qwen Code + thecapibara