Claude CLI Skill
Headless wrapper for Claude Code CLI. Invokes a separate Claude session via
claude -p "PROMPT" --dangerously-skip-permissions. Provides isolated second
opinions without sharing the current agent's context window.
When to Use
- Second-opinion validation (isolated Claude session without shared context)
- Cross-validation of current agent's reasoning
- Delegated deep analysis that should not consume current context window
- Multi-LLM consultation workflows (as one of the participating models)
- Chairman synthesis in llm-council workflows
Usage
Ask a question
node .claude/skills/omega-claude-cli/scripts/ask-claude.mjs "What are the security implications of this auth design?"
Specify model
node .claude/skills/omega-claude-cli/scripts/ask-claude.mjs "Review this code" --model sonnet
JSON output (with text stripping)
node .claude/skills/omega-claude-cli/scripts/ask-claude.mjs "Analyze dependencies" --json
With timeout
node .claude/skills/omega-claude-cli/scripts/ask-claude.mjs "Deep security review of auth.ts" --timeout-ms 300000
Availability Check
node .claude/skills/omega-claude-cli/scripts/verify-setup.mjs
# Exit 0 = available (CLI found)
# Exit 1 = not available
Scripts
| Script | Purpose |
| ------------------- | ---------------------------------------------------------- |
| ask-claude.mjs | Core headless wrapper — prompt as positional arg to -p |
| parse-args.mjs | Argument parser (--model, --json, --sandbox, --timeout-ms) |
| verify-setup.mjs | Availability check with npx fallback |
| format-output.mjs | Output normalization with extractJsonResponse() |
Flags
| Flag | Description |
| ---------------- | ---------------------------------------------------------------- |
| --model MODEL | opus (Opus 4.6), sonnet (4.5), haiku (4.5), or full model ID |
| --json | JSON output (strips conversational text via extractJsonResponse) |
| --sandbox | Code execution sandbox mode |
| --timeout-ms N | Timeout in milliseconds (exit code 124 on expiry) |
Exit Codes
| Code | Meaning | | ---- | ------------------------------- | | 0 | Success | | 1 | Error (CLI failure, auth issue) | | 124 | Timeout (--timeout-ms exceeded) |
Anti-Patterns & Iron Laws
- ALWAYS use --dangerously-skip-permissions for headless mode (built into wrapper)
- NEVER expect to share context between this CLI session and the current agent
- ALWAYS use format-output.mjs to strip conversational text wrapping from JSON
- ALWAYS set --timeout-ms for production usage
- NEVER invoke on security-critical tasks without acknowledging the risk
Integration Notes
- Auth: Claude Code subscription or ANTHROPIC_API_KEY env var
- Models: opus, sonnet, haiku, or full model IDs
- Security: --dangerously-skip-permissions allows all tool execution; intended for trusted automation only
- Platform: Full cross-platform (Windows uses cmd.exe /d /s /c wrapper)
Memory Protocol
Before work: Read .claude/context/memory/learnings.md
After work: Append findings to learnings or issues as needed.
Note: Use pnpm search:code to discover references to this skill codebase-wide.