vibe-coding-cn/i18n/en/skills/01-ai-tools/headless-cli/SKILL.md

5.0 KiB

name: headless-cli
description: "Headless Mode AI CLI Calling Skill: Supports non-interactive batch calling of Gemini/Claude/Codex CLIs, including YOLO mode and safe mode. Used for scenarios like batch translation, code review, multi-model orchestration, etc."
---

# Headless CLI Skill

Non-interactive batch calling of AI CLI tools, supporting stdin/stdout pipes to achieve automated workflows.

## When to Use This Skill

Trigger conditions:
- Need to process files in batches (translate, review, format)
- Need to call AI models in scripts
- Need to chain/parallelize multiple models
- Need unattended AI task execution

## Not For / Boundaries

Not applicable for:
- Scenarios requiring interactive conversation
- Tasks requiring real-time feedback
- Sensitive operations (YOLO mode requires caution)

Required inputs:
- Corresponding CLI tools installed
- Identity authentication completed
- Network proxy configuration (if needed)

## Quick Reference

### 🔴 YOLO Mode (Full permissions, skips confirmation)

**Codex CLI**
```bash
# --yolo is an alias for --dangerously-bypass-approvals-and-sandbox
alias c='codex --enable web_search_request -m gpt-5.1-codex-max -c model_reasoning_effort="high" --yolo'

Claude Code

alias cc='claude --dangerously-skip-permissions'

Gemini CLI

# --yolo or --approval-mode yolo
alias g='gemini --yolo'

Codex CLI

# workspace-write sandbox + approval only on failure
codex --full-auto "Your prompt"

Gemini CLI

# Automatically approve edit tools
gemini --approval-mode auto_edit "Your prompt"

🟢 Safe Mode (Headless but with limitations)

Gemini CLI (Disable tool calls)

cat input.md | gemini -p "prompt" --output-format text --allowed-tools '' > output.md

Claude Code (Print Mode)

cat input.md | claude -p "prompt" --output-format text > output.md

Codex CLI (Non-interactive execution)

codex exec "prompt" --json -o result.txt

📋 Common Command Templates

Batch Translation

# Set proxy (if needed)
export http_proxy=http://127.0.0.1:9910
export https_proxy=http://127.0.0.1:9910

# Gemini Translation
cat zh.md | gemini -p "Translate to English. Keep code/links unchanged." \
  --output-format text --allowed-tools '' > en.md

Code Review

cat code.py | claude --dangerously-skip-permissions -p \
  "Review this code for bugs and security issues. Output markdown." > review.md

Multi-Model Orchestration

# Model A generates → Model B reviews
cat spec.md | gemini -p "Generate code" --output-format text | \
  claude -p "Review and improve this code" --output-format text > result.md

⚙️ Key Parameter Comparison Table

Feature Gemini CLI Claude Code Codex CLI
YOLO Mode --yolo --dangerously-skip-permissions --yolo
Specify Model -m <model> --model <model> -m <model>
Non-interactive -p "prompt" -p "prompt" exec "prompt"
Output Format --output-format text --output-format text --json
Disable Tools --allowed-tools '' --disallowedTools N/A
Continue Conversation N/A -c / --continue resume --last

Examples

Example 1: Batch Translating Documents

Input: Chinese Markdown file Steps:

export http_proxy=http://127.0.0.1:9910
export https_proxy=http://127.0.0.1:9910

for f in docs/*.md; do
  cat "$f" | timeout 120 gemini -p \
    "Translate to English. Keep code fences unchanged." \
    --output-format text --allowed-tools '' 2>/dev/null > "en_$(basename $f)"
done

Expected output: Translated English file

Example 2: Code Review Pipeline

Input: Python code file Steps:

cat src/*.py | claude --dangerously-skip-permissions -p \
  "Review for: 1) Bugs 2) Security 3) Performance. Output markdown table." > review.md

Expected output: Markdown formatted review report

Example 3: Multi-Model Comparison and Verification

Input: Technical question Steps:

question="How to implement rate limiting in Python?"

echo "$question" | gemini -p "$question" --output-format text > gemini_answer.md
echo "$question" | claude -p "$question" --output-format text > claude_answer.md

# Compare the two answers
diff gemini_answer.md claude_answer.md

Expected output: Comparison of answers from two models

References

Maintenance

  • Source: Official CLI documentation for each
  • Updated: 2025-12-19
  • Limitations: Requires network connection and valid authentication; YOLO mode has security risks