claude-code
Claude Code is a CLI tool that delegates repository editing, code review, and multi-turn implementation work to an independent coding agent. Use it when users request another agent handle large coding tasks, run iterative implementation sessions across multiple turns, or review diffs and tests within an isolated repository or branch. Print mode handles non-interactive automation, while tmux mode supports live collaborative sessions.
git clone --depth 1 https://github.com/Lilac-Labs/gini-agent /tmp/claude-code && cp -r /tmp/claude-code/skills/agents/claude-code ~/.claude/skills/claude-codeSKILL.md
# Claude Code CLI Use Claude Code when the user wants another coding agent to edit a repository, review a diff, run tests, or carry an implementation through multiple turns. Gini should still own the visible approval, audit, and trace boundary around the shell commands it runs. ## Prerequisites - Install: `npm install -g @anthropic-ai/claude-code` - Authenticate with `claude` or `claude auth login`. - Check health with `claude doctor`. - Check auth with `claude auth status --text`. ## When to Use - User asks to delegate to Claude Code or wants an independent coding pass. - The task is large enough to benefit from a separate agent loop. - The work can be done inside a repo, branch, or isolated worktree. - A multi-turn session is useful for iterative implementation, review, and follow-up fixes. ## When NOT to Use - Gini can safely make the edit directly in one short pass. - The task requires private credentials or destructive commands without clear user approval. - The repo already has a running agent editing the same files. ## Print Mode Use print mode for non-interactive automation. It runs once and exits, which makes it the default choice for Gini-triggered delegation. ```bash claude -p "Find the failing route test, patch the smallest fix, and run that test." --allowedTools "Read,Edit,Bash" --max-turns 10 ``` Review a diff: ```bash git diff origin/main...HEAD | claude -p "Review this diff for correctness bugs and missing tests. Return findings only." --max-turns 1 ``` Produce structured output: ```bash claude -p "List risky files in this change" --output-format json --max-turns 3 ``` Use `--max-turns` for bounded automation and `--allowedTools` when the task should only read, edit, or run selected command classes. ## Interactive Tmux Mode Use tmux when the user wants a live multi-turn Claude Code session. ```bash tmux new-session -d -s claude-gini -x 140 -y 40 tmux send-keys -t claude-gini 'cd /path/to/repo && claude' Enter sleep 5 tmux capture-pane -t claude-gini -p -S -80 tmux send-keys -t claude-gini 'Implement the settings cleanup, then stop for review.' Enter ``` Read progress with: ```bash tmux capture-pane -t claude-gini -p -S -120 ``` Exit cleanly with: ```bash tmux send-keys -t claude-gini '/exit' Enter ``` ## Dialog Handling Claude Code can show first-run workspace and permission dialogs in interactive mode. Inspect the pane before sending keys. Workspace confirmation usually defaults to the safe accept option: ```bash tmux send-keys -t claude-gini Enter ``` If the session was launched with `--dangerously-skip-permissions`, the bypass warning usually requires moving to the accept option first: ```bash tmux send-keys -t claude-gini Down sleep 0.3 tmux send-keys -t claude-gini Enter ``` Avoid `--dangerously-skip-permissions` unless the user explicitly wants that risk. ## Useful Commands ```bash claude --version claude doctor claude auth status --text claude -p "Summarize this repository's test layout" --max-turns 2 claude -c -p "Continue the previous fix and report what changed" --max-turns 5 claude -r <session-id> -p "Add tests for the change you just made" --max-turns 5 claude mcp list ``` ## Worktree Pattern For parallel work, create one worktree per Claude Code instance. ```bash git worktree add -b fix/provider-status /tmp/gini-provider-status main cd /tmp/gini-provider-status claude -p "Fix provider status reporting and run the focused tests." --allowedTools "Read,Edit,Bash" --max-turns 15 ``` Inspect the diff and test results before merging the worktree changes back. ## Rules 1. Prefer `claude -p` for one-shot Gini automation. 2. Use tmux only for live multi-turn sessions. 3. Bound automation with `--max-turns`. 4. Use `--allowedTools` for least-privilege delegated work. 5. Keep each Claude Code instance on its own branch or worktree for parallel changes. 6. Inspect Claude Code edits before committing them.
Delegate coding work to the OpenAI Codex CLI for repository changes, reviews, and focused fixes.
Gini's self-knowledge: how Gini configures, extends, and operates on its own state via /api/* and registered tools. Load when the user asks Gini about its own capabilities or asks Gini to modify its own configuration.
Manage Apple Notes via memo CLI: create, search, edit.
Apple Reminders via remindctl: add, list, complete.
Move bytes between Gini upload space, external URLs, and workspace files. Used by every attachment / file-upload / file-download flow regardless of the target system (Linear, GitHub, S3, Notion, etc.).
File a locally-captured, already-redacted Gini crash report as a GitHub issue, with the user's consent. Reads the pending crash queue and delegates the actual filing to the github-issues skill.
Create, search, triage, label, assign, comment on, and close GitHub issues using the gh CLI, with a curl REST fallback.
Detection engine for Gmail email watches: iterates the watch list, polls gws for new matching mail per watch, dedups, drops automated/self, and hands matches (labeled by sender) to the shared drafting turn. Provisioned and run automatically by the shared email-watch backing job.