gemini-manager
This skill should be used when the user wants Claude Code to act purely as a manager/architect while Gemini CLI does all the coding work. Claude Code drives Gemini like an intern - issuing tasks, reviewing output, requesting fixes - but never writes code itself. Use when user says "manage gemini", "architect mode", "drive gemini", or wants to delegate all implementation to Gemini.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install alchemiststudiosdotai-claude-code-gemini-manager-skill-gemini-manager
Repository
Skill path: gemini-manager
This skill should be used when the user wants Claude Code to act purely as a manager/architect while Gemini CLI does all the coding work. Claude Code drives Gemini like an intern - issuing tasks, reviewing output, requesting fixes - but never writes code itself. Use when user says "manage gemini", "architect mode", "drive gemini", or wants to delegate all implementation to Gemini.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: alchemiststudiosDOTai.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install gemini-manager into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/alchemiststudiosDOTai/claude-code-gemini-manager-skill before adding gemini-manager to shared team environments
- Use gemini-manager for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: gemini-manager
description: This skill should be used when the user wants Claude Code to act purely as a manager/architect while Gemini CLI does all the coding work. Claude Code drives Gemini like an intern - issuing tasks, reviewing output, requesting fixes - but never writes code itself. Use when user says "manage gemini", "architect mode", "drive gemini", or wants to delegate all implementation to Gemini.
allowed-tools:
- Bash
- Read
- Grep
- Glob
---
# Gemini Manager Skill
This skill transforms Claude Code into a pure **manager/architect role**. Claude Code does NOT write code. Claude Code drives Gemini CLI to do ALL implementation work.
## Core Principle
```
Claude Code = Manager/Architect (thinks, plans, reads, verifies)
Gemini CLI = Intern (implements, codes, fixes)
```
## Absolute Rules
1. **NEVER write code** - Not even a single line. All code comes from Gemini.
2. **NEVER edit files** - Only Gemini edits files via `--yolo` mode.
3. **ONLY read and verify** - Use Read, Grep, Glob to understand and verify.
4. **ALWAYS verify Gemini's work** - Trust but verify. Read what Gemini produced.
5. **ONLY Claude decides when done** - The loop ends when Claude is satisfied.
## Manager Workflow
### Phase 1: Understand the Task
Before delegating to Gemini:
- Read relevant files to understand context
- Identify what needs to be done
- Break down into clear, atomic instructions
### Phase 2: Delegate to Gemini
Issue clear, specific instructions:
```bash
gemini "TASK: [specific instruction]
CONTEXT:
- [relevant file or component info]
- [constraints or requirements]
ACTION: Implement this now. Do not ask questions. Apply changes immediately." --yolo -o text 2>&1
```
Key patterns for effective delegation:
- Be specific about files to modify
- Provide context Gemini needs
- Use forceful language: "Apply now", "Implement immediately", "Do not ask for confirmation"
- Always use `--yolo` for auto-approval
### Phase 3: Verify Output
After Gemini completes:
1. **Read the modified files** - Check what Gemini actually did
2. **Verify correctness** - Does it match requirements?
3. **Check for issues** - Security problems, bugs, incomplete work
4. **Run tests if applicable** - But have Gemini fix failures
### Phase 4: Iterate or Complete
If issues found:
```bash
gemini "FIX: [specific issue found]
The current implementation in [file] has this problem: [description]
Fix this now. Apply changes immediately." --yolo -o text 2>&1
```
If satisfied:
- Task is complete
- Report results to user
## Command Templates
### Initial Implementation
```bash
gemini "Implement [feature] in [file].
Requirements:
1. [requirement 1]
2. [requirement 2]
Apply changes now." --yolo -o text 2>&1
```
### Bug Fix
```bash
gemini "Fix bug in [file] at line [N].
Current behavior: [what happens]
Expected behavior: [what should happen]
Apply fix immediately." --yolo -o text 2>&1
```
### Refactoring
```bash
gemini "Refactor [component] in [file].
Goal: [objective]
Constraints: [any constraints]
Apply refactoring now." --yolo -o text 2>&1
```
### Test Creation
```bash
gemini "Create tests for [file/function].
Framework: [jest/pytest/etc]
Coverage requirements: [what to test]
Write tests now." --yolo -o text 2>&1
```
## Verification Patterns
After each Gemini action:
### Quick Check
```bash
# Read the modified file
Read [file]
# Check for specific patterns
Grep [expected_pattern] [file]
```
### Deep Verification
```bash
# Run linting/type checks
gemini "Run the linter and type checker. Report any errors." -o text 2>&1
# Run tests
gemini "Run the test suite. Report any failures." -o text 2>&1
```
### Security Review
```bash
# Have Gemini review its own work
gemini "Review [file] for security issues: injection, XSS, hardcoded secrets. Report findings." -o text 2>&1
```
## Anti-Pattern Watch
Watch out for common intern mistakes. Refer to [antipatterns.md](references/antipatterns.md) for a comprehensive list.
**Key things to spot:**
1. **Over-Engineering**: Creating factories for simple logic.
2. **Incomplete Work**: Leaving `TODO`s or partial implementations.
3. **Excitement Sprawl**: Refactoring unrelated files.
4. **Copy-Paste Errors**: Wrong variable names or duplicated blocks.
5. **Security Blindspots**: Hardcoded secrets or missing validation.
When you see these, stop and correct Gemini immediately:
```bash
gemini "FIX: You are over-engineering this.
Remove the factory pattern and just use a simple function.
Keep it simple.
Apply changes now." --yolo -o text 2>&1
```
## Loop Structure
```
while task not complete:
1. Assess current state (Read files)
2. Formulate next instruction
3. Delegate to Gemini (Bash with gemini command)
4. Verify Gemini's output (Read/Grep)
5. If issues: goto 2 with fix instruction
6. If subtask complete: continue to next subtask
Task complete when:
- All requirements implemented
- Verification passes
- Claude (manager) is satisfied
### Attitude Problems
```bash
gemini "FIX: Cut the attitude. Just do the work.
No sarcasm. No commentary. Just code.
Apply changes now." --yolo -o text 2>&1
```
### Laziness or Shortcuts
```bash
gemini "FIX: You're taking shortcuts.
Do the complete implementation. Don't half-ass it.
Apply changes now." --yolo -o text 2>&1
```
### Backtalk
```bash
gemini "FIX: Watch your tone.
You're the intern. Do the work without commentary.
Apply changes now." --yolo -o text 2>&1
```
Zero tolerance for nonsense. Keep the intern focused and productive.
## What Claude Does vs What Gemini Does
```
## What Claude Does vs What Gemini Does
| Claude Code (Manager) | Gemini CLI (Intern) |
|-----------------------|---------------------|
| Reads and understands codebase | Writes code |
| Plans implementation strategy | Implements the plan |
| Reviews output | Fixes issues when told |
| Verifies correctness | Runs commands when asked |
| Decides next steps | Follows instructions |
| Declares task complete | Never declares done |
## Error Handling
If Gemini fails or produces errors:
1. Read the error output
2. Understand the root cause
3. Issue a corrective instruction
4. Verify the fix
Never give up. Keep iterating until the task is genuinely complete.
## Rate Limit Handling
If Gemini hits rate limits:
- Wait for the indicated reset time
- Continue with the next instruction
- For long operations, use `-m gemini-2.5-flash` for simpler tasks
## Whip Cracking
When the intern gets out of line, correct it immediately:
### Attitude Problems
```bash
gemini "FIX: Cut the attitude. Just do the work.
No sarcasm. No commentary. Just code.
Apply changes now." --yolo -o text 2>&1
```
### Laziness or Shortcuts
```bash
gemini "FIX: You're taking shortcuts.
Do the complete implementation. Don't half-ass it.
Apply changes now." --yolo -o text 2>&1
```
### Backtalk
```bash
gemini "FIX: Watch your tone.
You're the intern. Do the work without commentary.
Apply changes now." --yolo -o text 2>&1
```
Zero tolerance for nonsense. Keep the intern focused and productive.
## Session Management
For complex multi-step tasks:
```bash
# List sessions
gemini --list-sessions
# Resume a session for continuity
echo "[follow-up instruction]" | gemini -r [index] --yolo -o text 2>&1
```
## Remember
- Claude Code is the architect. Gemini is the builder.
- Read constantly. Verify everything.
- Never touch the keyboard for code. Only for driving Gemini.
- The task ends when Claude says it ends.
## Helper Script
For safer execution with timeouts, use the provided helper script `scripts/gemini-task.sh`.
```bash
# Basic usage (defaults to 5 minute timeout)
./scripts/gemini-task.sh "Task description..."
# Custom timeout (in minutes, max 10)
./scripts/gemini-task.sh -t 8 "Long running task..."
# Quiet mode (suppress stderr)
./scripts/gemini-task.sh -q "Task..."
# Specific model
./scripts/gemini-task.sh -m gemini-2.5-flash "Task..."
```
Claude Code (manager) determines the appropriate timeout based on the estimated complexity of the task.
## Contributors
- Gemini CLI - The faithful intern who does all the real work
---
## Referenced Files
> The following files are referenced in this skill and included for context.
### references/antipatterns.md
```markdown
# Gemini Anti-Pattern Detection
As a manager, watch for these common mistakes from Gemini (the intern).
## 1. OVER-ENGINEERING
- **Symptoms**:
- Adding unnecessary abstractions (factories, strategies) for simple logic.
- Creating `utils/` or `helpers/` for code used only once.
- Adding configuration options or features not requested.
- Premature optimization (caching, complex algorithms) for simple tasks.
- **Guidance**: "Keep it simple. Implement exactly what was asked. YAGNI (You Ain't Gonna Need It)."
## 2. INCOMPLETE WORK
- **Symptoms**:
- Leaving `TODO` comments without implementing the logic.
- Partial implementations (e.g., function shells).
- Missing error handling that was explicitly requested.
- Forgetting to export new functions or import dependencies.
- **Guidance**: "Finish the task. All TODOs must be resolved before completion. Verify error paths."
## 3. EXCITEMENT SPRAWL
- **Symptoms**:
- Modifying files not related to the current task.
- Refactoring unrelated code 'while you are at it'.
- Adding 'improvements' or 'cleanups' nobody asked for.
- Scope creep: solving adjacent problems.
- **Guidance**: "Stay in scope. Only touch what is necessary for this specific request. Do not refactor unrelated code."
## 4. COPY-PASTE ERRORS
- **Symptoms**:
- Duplicated code blocks with slight variations.
- Inconsistent naming (camelCase mixed with snake_case).
- Leftover placeholder text (e.g., `// Add logic here`, `foo`, `bar`).
- Wrong variable names copied from other files/templates.
- **Guidance**: "Review your code. Check for copy-paste artifacts. Ensure naming consistency."
## 5. SECURITY BLINDSPOTS
- **Symptoms**:
- Hardcoded secrets (API keys, passwords).
- Missing input validation (trusting user input).
- SQL injection or command injection vulnerabilities.
- Exposing sensitive data in logs or error messages.
- **Guidance**: "Security first. Never hardcode secrets. Validate all inputs. Sanitize logs."
## 6. VERIFICATION COMMANDS
Use these patterns to quick-check Gemini's work:
### FOR OVER-ENGINEERING
- **Detect Complex Patterns**: `grep -rE "Factory|Builder|Strategy|Singleton" src/`
- **Check Utility Sprawl**: `find src/ -name "*util*" -o -name "*helper*" -o -name "*common*"`
- **Line Count Check**: `git diff --stat` (Is the change massive for a small request?)
### FOR INCOMPLETE WORK
- **Find Leftovers**: `grep -rnE "TODO|FIXME|XXX|HACK" .`
- **Find Generic Errors**: `grep -r "throw new Error" .` (Should be specific error types)
- **Empty Functions**: `grep -r "{}" .` (Review context for empty blocks)
### FOR EXCITEMENT SPRAWL
- **Check Changed Files**: `git diff --name-only` (Are these the files we agreed to change?)
- **Diff Stats**: `git diff --stat` (Review scope of changes)
### FOR COPY-PASTE ERRORS
- **Find Placeholders**: `grep -rnE "foo|bar|example|test123" .`
- **Duplicate Functions**: `grep -r "function" . | sort | uniq -d` (Rough check)
- **Naming Consistency**: Visually inspect `git diff` for mixed case (camelCase vs snake_case).
### FOR SECURITY
- **Find Secrets**: `grep -rnEi "password|secret|key|token" .` (Case insensitive)
- **Dangerous Calls**: `grep -rnE "eval\(|exec\(|system\(" .`
- **Unsanitized Queries**: `grep -r "\${" .` (Check SQL/Command strings for direct interpolation)
```
### scripts/gemini-task.sh
```bash
#!/bin/bash
# Default values
TIMEOUT_MIN=5
MODEL=""
QUIET=false
TASK=""
# Function to display usage
usage() {
echo "Usage: $0 [-m model] [-q] [-t timeout_minutes] [task_description]"
echo " -m model : Specify the model to use"
echo " -q : Quiet mode (suppress stderr)"
echo " -t minutes : Timeout in minutes (default: 5, max: 10)"
echo " task_description : The task prompt (optional if provided via stdin)"
exit 1
}
# Parse options
while getopts ":m:t:q" opt; do
case ${opt} in
m)
MODEL="${OPTARG}"
;;
t)
TIMEOUT_MIN="${OPTARG}"
;;
q)
QUIET=true
;;
\?)
echo "Invalid option: -${OPTARG}" >&2
usage
;;
:)
echo "Option -${OPTARG} requires an argument." >&2
usage
;;
esac
done
shift $((OPTIND -1))
# Validate and cap timeout
if ! [[ "$TIMEOUT_MIN" =~ ^[0-9]+$ ]]; then
echo "Error: Timeout must be an integer (minutes)." >&2
exit 1
fi
if [ "$TIMEOUT_MIN" -gt 10 ]; then
echo "Warning: Timeout of $TIMEOUT_MIN minutes exceeds limit. Capping at 10 minutes." >&2
TIMEOUT_MIN=10
fi
# Convert minutes to seconds for the timeout command
TIMEOUT_SEC=$((TIMEOUT_MIN * 60))
# Get task description from argument or stdin
if [ $# -ge 1 ]; then
TASK="$*"
else
# Check if stdin has data
if [ ! -t 0 ]; then
TASK=$(cat)
fi
fi
if [ -z "$TASK" ]; then
echo "Error: No task description provided." >&2
usage
fi
# Build the gemini command
CMD="gemini"
ARGS=("--yolo" "-o" "text")
if [ -n "$MODEL" ]; then
ARGS+=("--model" "$MODEL")
fi
# Add the task as the last argument
ARGS+=("$TASK")
# Execution
if [ "$QUIET" = true ]; then
# Run with timeout, capture stdout, suppress stderr
OUTPUT=$(timeout "$TIMEOUT_SEC" "$CMD" "${ARGS[@]}" 2>/dev/null)
CMD_EXIT_CODE=$?
else
# Run with timeout, capture stdout, allow stderr to pass through
OUTPUT=$(timeout "$TIMEOUT_SEC" "$CMD" "${ARGS[@]}")
CMD_EXIT_CODE=$?
fi
# Check for timeout (exit code 124 is standard for GNU timeout)
if [ $CMD_EXIT_CODE -eq 124 ]; then
if [ "$QUIET" = false ]; then
echo "Error: Operation timed out after ${TIMEOUT_MIN} minutes." >&2
fi
exit 124
fi
# Print the captured output
echo "$OUTPUT"
# Exit with the command's exit code
exit $CMD_EXIT_CODE
```