Use when user explicitly requests feedback from other LLM tools (Gemini, Codex) on current work - executes peer reviews in parallel and synthesizes responses into actionable insights
/plugin marketplace add ether-moon/skill-set/plugin install skill-set@skill-setThis skill inherits all available tools. When active, it can use any tool Claude has access to.
reference/cli-commands.mdreference/prompt-template.mdreference/report-format.mdGet feedback from other LLM CLI tools (Gemini, Codex) on your current work. This skill executes multiple LLM reviews in parallel and synthesizes their responses into one actionable report.
Core principle: Use peer LLMs for external validation and diverse perspectives on implementation quality.
Use this skill when the user explicitly requests:
Do NOT use this skill:
Supported CLI tools:
gemini - Google Gemini CLI toolcodex - OpenAI Codex CLI toolclaude - Anthropic Claude CLI toolDetection and usage:
/review gemini codex)Minimal invocation:
User: "Review this code with gemini and codex"
You:
1. Collect context (conversation + git changes)
2. Generate review prompt
3. Execute both CLIs in parallel
4. Show raw Gemini response
5. Show raw Codex response
6. Synthesize final assessment
REQUESTED_CLIS=("$@")
if [ ${#REQUESTED_CLIS[@]} -eq 0 ]; then
TARGET_CLIS=("gemini" "codex" "claude") echo "Using default CLIs: ${TARGET_CLIS[*]}" else
TARGET_CLIS=("${REQUESTED_CLIS[@]}") echo "Using specified CLIs: ${TARGET_CLIS[*]}" fi
Key behaviors:
Gather comprehensive context from current session:
Work Summary:
Code Changes:
# Get git information
BASE_SHA=$(git rev-parse origin/main 2>/dev/null || git rev-parse origin/master 2>/dev/null || echo "HEAD~1")
CURRENT_SHA=$(git rev-parse HEAD)
# Note: We do not pass file lists or diffs explicitly.
# Peer agents are expected to check `git status` or `git diff $BASE_SHA..$CURRENT_SHA` themselves.
Project Context:
Use structured prompt based on code-reviewer patterns.
Full template: See reference/prompt-template.md
Key sections:
Language detection:
Run target CLIs simultaneously using bash background execution:
# Generate full prompt
# NOTE: The agent executing this must replace {What Was Implemented} and {Requirements} with actual context.
PROMPT=$(cat <<EOF
# Code Review Request
## Context
- **Implemented**: {Extract from conversation context}
- **Requirements**: {User's stated requirements}
## Changes
Please check the changes between **$BASE_SHA** and **$CURRENT_SHA** using your git tools (e.g., \`git diff $BASE_SHA..$CURRENT_SHA\`).
## Review Focus
Please evaluate:
1. **Critical Issues**: Bugs, Security, Data Loss.
2. **Code Quality**: Maintainability, Error Handling.
3. **Architecture**: Design soundness, Scalability.
## Output Constraints
- **NO Thinking Process**: Do not include internal thinking or logs.
- **Concise**: Focus on actionable feedback.
EOF
)
# Prepare result storage
declare -A CLI_RESULTS
declare -A CLI_PIDS
declare -A CLI_FILES
# Timeout settings
TIMEOUT="600s" # 10 minutes for all CLIs
# Launch all target CLIs in parallel
for cli in "${TARGET_CLIS[@]}"; do
OUTPUT_FILE="/tmp/${cli}-review.txt"
CLI_FILES[$cli]="$OUTPUT_FILE"
# Execute based on CLI type (each has different command syntax)
case "$cli" in
gemini)
timeout "$TIMEOUT" gemini "$PROMPT" > "$OUTPUT_FILE" 2>/dev/null &
;;
codex)
timeout "$TIMEOUT" codex exec "$PROMPT" > "$OUTPUT_FILE" 2>/dev/null &
;;
claude)
timeout "$TIMEOUT" claude "$PROMPT" > "$OUTPUT_FILE" 2>/dev/null &
;;
*)
echo "Warning: Unknown CLI $cli, attempting generic execution"
timeout "$TIMEOUT" "$cli" "$PROMPT" > "$OUTPUT_FILE" 2>/dev/null &
;;
esac
CLI_PIDS[$cli]=$!
done
# Wait for all CLIs to complete and collect results
for cli in "${TARGET_CLIS[@]}"; do
wait ${CLI_PIDS[$cli]}
EXIT_CODE=$?
OUTPUT_FILE="${CLI_FILES[$cli]}"
if [ $EXIT_CODE -eq 0 ] && [ -s "$OUTPUT_FILE" ]; then
CLI_RESULTS[$cli]=$(cat "$OUTPUT_FILE")
else
CLI_RESULTS[$cli]="[${cli} CLI failed or returned empty response]"
fi
done
# Cleanup temp files
for cli in "${TARGET_CLIS[@]}"; do
rm -f "${CLI_FILES[$cli]}"
done
Key points:
TARGET_CLIS arrayDetailed CLI usage: See reference/cli-commands.md
Show original responses first for transparency:
# Display each CLI result
for cli in "${TARGET_CLIS[@]}"; do
echo "# ${cli^} Review"
echo ""
echo "${CLI_RESULTS[$cli]}"
echo ""
echo "---"
echo ""
done
Output format example:
# Gemini Review
{Gemini response content}
---
# Codex Review
{Codex response content}
---
# Claude Review
{Claude response content}
---
Analyze all CLI responses and generate synthesized assessment.
IMPORTANT: Always create a synthesized report, even for a single CLI. The session should analyze and structure the feedback regardless of how many CLIs were executed.
Report structure:
# Final Assessment
## Critical Issues Requiring Immediate Attention
{Synthesized critical issues - bugs, security, data loss}
- Issue: {Clear description}
- Impact: {Why it's critical}
- Location: {file:line references}
- Recommendation: {Specific fix}
## Architecture & Design Concerns
{Architectural improvements needed}
## Code Quality Issues
{Code quality improvements}
- Error handling
- Edge cases
- Maintainability
## Testing Gaps
{Test coverage or strategy problems}
## Security & Performance Considerations
{Security and performance items}
## What's Working Well
{Positive feedback}
## Actionable Recommendations
1. **Immediate**: {Fix right now}
2. **Before Merge**: {Must handle before merging}
3. **Future Enhancement**: {Consider for later}
## Summary
{Overall assessment and next steps}
Synthesis principles:
Example reports: See reference/report-format.md
Some CLIs fail:
Timeout issues (exit code 124):
timeout 300stime gemini "test"No retries: Keep execution fast and simple.
Keep prompts focused to avoid token bloat:
Include:
Exclude:
Typical workflow:
managing-git-workflow to commit/push/PRComplements:
Before major commit:
User: "I want a review from codex before committing"
→ Run: /consulting-peer-llms:review codex
→ Analyze synthesized feedback
→ Address issues
→ Then commit
Second opinion:
User: "Ask gemini if this architecture is okay"
→ Run: /consulting-peer-llms:review gemini
→ Evaluate synthesized feedback
→ Refine if needed
Cross-validation:
User: "Check if other LLMs agree"
→ Run: /consulting-peer-llms:review (auto-detect all)
→ Check consensus in synthesized report
Specific multi-model review:
User: "Get feedback from both gemini and claude"
→ Run: /consulting-peer-llms:review gemini claude
→ Compare perspectives in synthesized report
If you catch yourself doing these, STOP:
This skill does NOT:
Remember:
"Empty response from CLI"
gemini "test""Both CLIs failed"
gemini --version && codex --version"Response is truncated"
Typical execution time: 10-30 seconds (parallel)
Command usage:
/consulting-peer-llms:review - Auto-detect all installed CLIs/consulting-peer-llms:review gemini - Use Gemini only/consulting-peer-llms:review gemini codex - Use Gemini and Codex/consulting-peer-llms:review gemini codex claude - Use all threeOutput stages:
Temp files used:
/tmp/{cli-name}-review.txt (one per CLI)Git commands:
git rev-parse HEAD~1 # Base SHA
git rev-parse HEAD # Current SHA
git diff --name-only $BASE..$HEAD # Changed files
git diff --stat $BASE..$HEAD # Change summary
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.