CLI Agents
Overview
CLI agents run as terminal processes that skillx spawns and manages directly. skillx passes the prompt as a CLI argument, waits for the process to exit, captures the exit code, and handles interruptions gracefully.
All CLI agents use the ManagedProcess lifecycle mode.
Claude Code
Claude Code is Anthropic’s official CLI for Claude.
Detection
skillx detects Claude Code by checking:
claudebinary in PATH (viawhich claude)~/.claude/directory exists
Either condition is sufficient.
Injection Paths
| Scope | Path |
|---|---|
| Global | ~/.claude/skills/<skill-name>/ |
| Project | .claude/skills/<skill-name>/ |
Launch
skillx spawns claude with the following arguments:
claude --prompt "your prompt here"With YOLO mode (--yolo):
claude --prompt "your prompt here" --dangerously-skip-permissionsYOLO Mode
Claude Code’s --dangerously-skip-permissions flag skips all permission prompts. The agent can read, write, and execute without asking for confirmation.
skillx run --yolo github:org/skills/formatter "Format all files"# Equivalent to: claude --prompt "..." --dangerously-skip-permissionsExample Workflow
# Normal mode — Claude Code will ask for permissionsskillx run github:org/skills/code-review "Review the auth module"
# YOLO mode — no permission promptsskillx run --yolo github:org/skills/formatter "Fix all lint errors"
# With timeoutskillx run --timeout 30m github:org/skills/migration "Run migration"
# Project-scoped injectionskillx run --scope project ./my-skill "Set up project"OpenAI Codex
Codex is OpenAI’s CLI coding agent.
Detection
skillx detects Codex by checking:
codexbinary in PATH (viawhich codex)~/.codex/directory exists
Injection Paths
| Scope | Path |
|---|---|
| Global | ~/.codex/skills/<skill-name>/ |
| Project | .agents/skills/<skill-name>/ |
Launch
skillx spawns codex with the prompt as a positional argument:
codex "your prompt here"With YOLO mode (--yolo):
codex "your prompt here" --full-autoYOLO Mode
Codex’s --full-auto flag enables fully autonomous operation without user confirmation.
skillx run --yolo --agent codex ./my-skill "Refactor the database layer"# Equivalent to: codex "..." --full-autoExample Workflow
# Normal modeskillx run --agent codex github:org/skills/testing "Add unit tests"
# YOLO modeskillx run --yolo --agent codex ./my-skill "Fix all TODOs"
# With timeout and auto-confirm warningsskillx run --yes --timeout 1h --agent codex ./my-skill "Complete refactor"Tier 3 CLI Agents
The following CLI agents are implemented via the data-driven GenericAdapter. They all use the ManagedProcess lifecycle with binary detection:
| Agent | Binary |
|---|---|
| Goose | goose |
| Kiro | kiro |
| Aider | aider |
| OpenClaw | openclaw |
| Qwen Code | qwen-code |
| Droid | droid |
| Warp | warp |
| OpenHands | openhands |
| Command Code | command-code |
| Mistral Vibe | mistral-vibe |
| Qoder | qoder |
| Kode | kode |
Each follows the same injection pattern: ~/.<name>/skills/<skill-name>/ (global) and .<name>/skills/<skill-name>/ (project). None support YOLO mode.
Process Management
For all CLI agents, skillx handles the process lifecycle:
Normal Exit
skillx spawns agent → agent completes → exit code 0 → cleanupAgent Error
skillx spawns agent → agent fails → exit code N → warning shown → cleanupCtrl+C Interrupt
skillx spawns agent → user presses Ctrl+C → SIGKILL to agent → cleanupTimeout
skillx spawns agent → timeout reached → SIGKILL to agent → cleanupThe timeout is set with --timeout and supports human-friendly durations:
skillx run --timeout 5m ./skill "prompt" # 5 minutesskillx run --timeout 2h ./skill "prompt" # 2 hoursskillx run --timeout 30s ./skill "prompt" # 30 secondsGemini CLI
Gemini CLI is Google’s command-line interface for Gemini.
Detection
skillx detects Gemini CLI by checking:
geminibinary in PATH (viawhich gemini)~/.gemini/directory exists
Injection Paths
| Scope | Path |
|---|---|
| Global | ~/.gemini/skills/<skill-name>/ |
| Project | .gemini/skills/<skill-name>/ |
YOLO Mode
Gemini CLI supports YOLO mode with the --sandbox=none flag.
skillx run --yolo --agent gemini-cli ./my-skill "prompt"# Equivalent to: gemini --prompt "..." --sandbox=noneOpenCode
OpenCode is an open-source AI coding agent.
Detection
skillx detects OpenCode by checking:
opencodebinary in PATH~/.config/opencode/directory exists
Injection Paths
| Scope | Path |
|---|---|
| Global | ~/.opencode/skills/<skill-name>/ |
| Project | .opencode/skills/<skill-name>/ |
YOLO Mode
Not supported.
Amp
Amp is an AI-powered coding agent.
Detection
skillx detects Amp by checking:
ampbinary in PATH~/.amp/directory exists
Injection Paths
| Scope | Path |
|---|---|
| Global | ~/.amp/skills/<skill-name>/ |
| Project | .amp/skills/<skill-name>/ |
YOLO Mode
Not supported.
Comparison
| Feature | Claude Code | Codex | Gemini CLI | OpenCode | Amp |
|---|---|---|---|---|---|
| Binary | claude | codex | gemini | opencode | amp |
| Lifecycle | ManagedProcess | ManagedProcess | ManagedProcess | ManagedProcess | ManagedProcess |
| Initial prompt | --prompt flag | Positional arg | --prompt flag | Positional arg | --prompt flag |
| YOLO flag | --dangerously-skip-permissions | --full-auto | --sandbox=none | N/A | N/A |
| Global inject | ~/.claude/skills/ | ~/.codex/skills/ | ~/.gemini/skills/ | ~/.opencode/skills/ | ~/.amp/skills/ |
| Project inject | .claude/skills/ | .agents/skills/ | .gemini/skills/ | .opencode/skills/ | .amp/skills/ |