claude-code
Claude Code is Anthropic's autonomous CLI agent that reads files, writes code, runs shell commands, and manages git workflows. Use print mode for one-shot coding tasks like bug fixes, feature additions, and refactoring; use interactive PTY mode via tmux for multi-turn conversations requiring follow-up prompts. Requires the claude CLI (v2.x+) installed and authenticated via OAuth or API key.
git clone --depth 1 https://github.com/moltis-org/moltis /tmp/claude-code && cp -r /tmp/claude-code/crates/skills/src/assets/autonomous-ai-agents/claude-code ~/.claude/skills/claude-codeSKILL.md
# Claude Code — Orchestration Guide Delegate coding tasks to [Claude Code](https://code.claude.com/docs/en/cli-reference) (Anthropic's autonomous coding agent CLI) via the Moltis terminal. Claude Code v2.x can read files, write code, run shell commands, spawn subagents, and manage git workflows autonomously. ## Prerequisites - **Install:** `npm install -g @anthropic-ai/claude-code` - **Auth:** run `claude` once to log in (browser OAuth for Pro/Max, or set `ANTHROPIC_API_KEY`) - **Console auth:** `claude auth login --console` for API key billing - **SSO auth:** `claude auth login --sso` for Enterprise - **Check status:** `claude auth status` (JSON) or `claude auth status --text` (human-readable) - **Health check:** `claude doctor` — checks auto-updater and installation health - **Version check:** `claude --version` (requires v2.x+) - **Update:** `claude update` or `claude upgrade` ## Two Orchestration Modes Moltis interacts with Claude Code in two fundamentally different ways. Choose based on the task. ### Mode 1: Print Mode (`-p`) — Non-Interactive (PREFERRED for most tasks) Print mode runs a one-shot task, returns the result, and exits. No PTY needed. No interactive prompts. This is the cleanest integration path. ``` terminal(command="claude -p 'Add error handling to all API calls in src/' --allowedTools 'Read,Edit' --max-turns 10", workdir="/path/to/project", timeout=120) ``` **When to use print mode:** - One-shot coding tasks (fix a bug, add a feature, refactor) - CI/CD automation and scripting - Structured data extraction with `--json-schema` - Piped input processing (`cat file | claude -p "analyze this"`) - Any task where you don't need multi-turn conversation **Print mode skips ALL interactive dialogs** — no workspace trust prompt, no permission confirmations. This makes it ideal for automation. ### Mode 2: Interactive PTY via tmux — Multi-Turn Sessions Interactive mode gives you a full conversational REPL where you can send follow-up prompts, use slash commands, and watch Claude work in real time. **Requires tmux orchestration.** ``` # Start a tmux session terminal(command="tmux new-session -d -s claude-work -x 140 -y 40") # Launch Claude Code inside it terminal(command="tmux send-keys -t claude-work 'cd /path/to/project && claude' Enter") # Wait for startup, then send your task # (after ~3-5 seconds for the welcome screen) terminal(command="sleep 5 && tmux send-keys -t claude-work 'Refactor the auth module to use JWT tokens' Enter") # Monitor progress by capturing the pane terminal(command="sleep 15 && tmux capture-pane -t claude-work -p -S -50") # Send follow-up tasks terminal(command="tmux send-keys -t claude-work 'Now add unit tests for the new JWT code' Enter") # Exit when done terminal(command="tmux send-keys -t claude-work '/exit' Enter") ``` **When to use interactive mode:** - Multi-turn iterative work (refactor → review → fix → test cycle) - Tasks requiring human-in-the-loop decisions - Exploratory coding sessions - When you need to use Claude's slash commands (`/compact`, `/review`, `/model`) ## PTY Dialog Handling (CRITICAL for Interactive Mode) Claude Code presents up to two confirmation dialogs on first launch. You MUST handle these via tmux send-keys: ### Dialog 1: Workspace Trust (first visit to a directory) ``` ❯ 1. Yes, I trust this folder ← DEFAULT (just press Enter) 2. No, exit ``` **Handling:** `tmux send-keys -t <session> Enter` — default selection is correct. ### Dialog 2: Bypass Permissions Warning (only with --dangerously-skip-permissions) ``` ❯ 1. No, exit ← DEFAULT (WRONG choice!) 2. Yes, I accept ``` **Handling:** Must navigate DOWN first, then Enter: ``` tmux send-keys -t <session> Down && sleep 0.3 && tmux send-keys -t <session> Enter ``` ### Robust Dialog Handling Pattern ``` # Launch with permissions bypass terminal(command="tmux send-keys -t claude-work 'claude --dangerously-skip-permissions \"your task\"' Enter") # Handle trust dialog (Enter for default "Yes") terminal(command="sleep 4 && tmux send-keys -t claude-work Enter") # Handle permissions dialog (Down then Enter for "Yes, I accept") terminal(command="sleep 3 && tmux send-keys -t claude-work Down && sleep 0.3 && tmux send-keys -t claude-work Enter") # Now wait for Claude to work terminal(command="sleep 15 && tmux capture-pane -t claude-work -p -S -60") ``` **Note:** After the first trust acceptance for a directory, the trust dialog won't appear again. Only the permissions dialog recurs each time you use `--dangerously-skip-permissions`. ## CLI Subcommands | Subcommand | Purpose | |------------|---------| | `claude` | Start interactive REPL | | `claude "query"` | Start REPL with initial prompt | | `claude -p "query"` | Print mode (non-interactive, exits when done) | | `cat file \| claude -p "query"` | Pipe content as stdin context | | `claude -c` | Continue the most recent conversation in this directory | | `claude -r "id"` | Resume a specific session by ID or name | | `claude auth login` | Sign in (add `--console` for API billing, `--sso` for Enterprise) | | `claude auth status` | Check login status (returns JSON; `--text` for human-readable) | | `claude mcp add <name> -- <cmd>` | Add an MCP server | | `claude mcp list` | List configured MCP servers | | `claude mcp remove <name>` | Remove an MCP server | | `claude agents` | List configured agents | | `claude doctor` | Run health checks on installation and auto-updater | | `claude update` / `claude upgrade` | Update Claude Code to latest version | | `claude remote-control` | Start server to control Claude from claude.ai or mobile app | | `claude install [target]` | Install native build (stable, latest, or specific version) | | `claude setup-token` | Set up long-lived auth token (requires subscription) | | `claude plugin` / `claude plugins` | Manage Claude Code plugins | | `claude auto-mode` | Inspect auto mode classifier configuration | ## Print Mode Deep Dive ### Structured JSON Outp
Commit all changes, push branch, create/update PR, and run local validation
Manage Apple Notes via the memo CLI on macOS (create, view, search, edit).
Manage Apple Reminders via remindctl CLI (list, add, complete, delete).
Track Apple devices and AirTags via FindMy.app on macOS using AppleScript and screen capture.
Send and receive iMessages/SMS via the imsg CLI on macOS.
Transcribe audio via OpenAI Audio Transcriptions API (Whisper).
Local speech-to-text with the Whisper CLI (no API key).
ElevenLabs text-to-speech with mac-style say UX.