orca-cli
Use the public `orca` CLI to operate Orca-managed worktrees/workspaces, terminals, repos, automations, worktree comments, and the browser embedded inside the Orca app. Use when the user says "$orca-cli", "use orca cli", "Orca worktree/workspace", "child workspace", "spawn codex/claude in a workspace", "read/wait/send Orca terminal", "terminal send", "Orca browser", or "control the browser inside Orca". Prefer this over raw `git worktree`, ad hoc PTYs, Playwright, or Computer Use when the task touches Orca-managed state. Use Computer Use for browser windows, webviews, or desktop UI outside Orca's embedded browser.
What this skill does
# Orca CLI Use `orca` when Orca's running editor/runtime is the source of truth. On Linux, use `orca-ide` wherever this file says `orca`. **Dev builds (`pnpm dev`):** after `pnpm build:cli`, the dev CLI is exposed as `orca-dev` (the global shim points at this checkout's wrapper + out/cli). Inside a dev Orca's terminals use `orca-dev emulator ...` (or `./config/scripts/orca-dev.mjs emulator ...` for worktree-local invocation that does not depend on the /usr/local/bin symlink). Plain `orca` targets any installed production Orca. The app's own agent preambles use `orca-dev` automatically in dev mode. Use plain shell tools when Orca state does not matter. ## Start Here ```bash command -v orca || command -v orca-ide orca status --json orca worktree ps --json orca terminal list --json ``` If Orca is not running, start it: ```bash orca open --json orca status --json ``` Prefer `--json` for agent-driven calls. If the CLI is missing, say so explicitly instead of inspecting source files first. ## Worktrees An Orca worktree/workspace is Orca's tracked view of a repo checkout, its metadata, terminals, browser tabs, and UI state. Common commands: ```bash orca repo list --json orca repo show --repo id:<repoId> --json orca repo add --path /abs/repo --json orca repo set-base-ref --repo id:<repoId> --ref origin/main --json orca repo search-refs --repo id:<repoId> --query main --limit 10 --json orca worktree list --repo id:<repoId> --json orca worktree ps --json orca worktree current --json orca worktree show --worktree <selector> --json orca worktree create --repo id:<repoId> --name related-task --json orca worktree create --name child-task --agent codex --prompt "hi" --json orca worktree create --name independent-task --no-parent --json orca worktree set --worktree id:<worktreeId> --display-name "My Task" --json orca worktree set --worktree active --comment "reproduced bug; testing fix" --json orca worktree rm --worktree id:<worktreeId> --force --json ``` Selectors: - `id:<worktreeId>`, `path:<absolutePath>`, `branch:<branchName>`, `issue:<number>` - `active` / `current` for the enclosing Orca-managed worktree from the shell cwd Lineage rules: - When creating from inside an Orca-managed worktree, Orca infers the current workspace as the parent when it can. - Use `--parent-worktree active` when the child relationship should be explicit. - Use `--no-parent` only when the new work is independent. - If `--repo` is omitted, Orca infers the repo from the current Orca worktree when possible. Agent/setup flags: ```bash orca worktree create --name task --agent codex --prompt "hi" --json orca worktree create --name task --agent claude --setup run --json orca worktree create --name task --setup skip --json orca worktree create --name task --run-hooks --json ``` - `--agent <id>` launches that agent in the first terminal; `--prompt <text>` sends initial work to it. - `--setup run|skip|inherit` controls repo setup hooks. Default is `inherit`, which follows the repo's setup policy. - `--run-hooks` is a legacy alias for `--setup run`; it also reveals/activates the new worktree. - `--agent`, `--activate`, and `--run-hooks` reveal the new worktree. Plain create stays in the background. - Let Orca choose setup terminal placement from repo settings, including tab vs split behavior. Do not manually create extra setup terminals. - If an older installed CLI rejects `--agent`, `--prompt`, or `--setup`, create the worktree normally, then run `orca terminal create --worktree <selector> --command "codex"` and `orca terminal send` if a prompt is needed. ## Worktree Comments A worktree comment is the short status text shown in Orca's workspace list/card for quick progress visibility. Coding agents should update the active worktree comment at meaningful checkpoints: ```bash orca worktree set --worktree active --comment "fix implemented; running integration tests" --json ``` Update after meaningful state changes such as repro, fix, validation, handoff, or blocker. Keep comments short/current; failures are best-effort unless Orca state was requested. ## Terminals Common commands: ```bash orca terminal list --worktree id:<worktreeId> --json orca terminal show --terminal <handle> --json orca terminal read --terminal <handle> --json orca terminal read --terminal <handle> --cursor <cursor> --limit 1000 --json orca terminal read --json orca terminal send --terminal <handle> --text "continue" --enter --json orca terminal send --text "echo hello" --enter --json orca terminal wait --terminal <handle> --for exit --timeout-ms 5000 --json orca terminal wait --terminal <handle> --for tui-idle --timeout-ms 300000 --json orca terminal stop --worktree id:<worktreeId> --json orca terminal create --json orca terminal create --title "Worker" --json orca terminal create --worktree active --command "codex" --json orca terminal split --terminal <handle> --direction vertical --json orca terminal split --terminal <handle> --direction horizontal --command "npm test" --json orca terminal rename --terminal <handle> --title "New Name" --json orca terminal switch --terminal <handle> --json orca terminal close --terminal <handle> --json ``` Terminal rules: - `--terminal` is optional for most commands; omitted means the active terminal in the current worktree. - Use `terminal read` before `terminal send` unless the next input is obvious. - Use `terminal send` only for direct terminal input or one-off prompts where no task state, inbox, or reply tracking is needed. - For structured coordination, invoke the `orchestration` skill; it uses `orca orchestration ...` commands for messages, handoffs, task DAGs, dispatches, inbox/reply flows, and coordinator loops. - Use `terminal wait --for tui-idle` for agent CLIs such as Claude Code, Gemini, and Codex; always pass `--timeout-ms`. - Terminal handles are runtime-scoped. If Orca restarts or returns `terminal_handle_stale`, reacquire with `terminal list`. - For long output, use cursor reads. After a limited tail preview, page from `oldestCursor`; after a cursor read, continue with `nextCursor` while `limited` is true and `nextCursor !== latestCursor`. - `--direction horizontal` splits left/right. `--direction vertical` splits top/bottom. ## Automations An automation is a scheduled Orca prompt run by a chosen provider against either a repo-created worktree or an existing workspace. ```bash orca automations list --json orca automations show <automationId> --json orca automations create --name "Daily review" --trigger daily --time 09:00 --prompt "Review open changes" --provider codex --repo id:<repoId> --json orca automations create --name "Weekday triage" --trigger "0 9 * * 1-5" --prompt "Triage issues" --provider claude --repo path:/abs/repo --disabled --json orca automations create --name "Inbox digest" --trigger hourly --prompt "Summarize unread mail" --provider codex --workspace active --reuse-session --json orca automations edit <automationId> --trigger weekdays --time 09:30 --fresh-session --json orca automations run <automationId> --json orca automations runs --id <automationId> --json orca automations remove <automationId> --json ``` Schedules accept `hourly`, `daily`, `weekdays`, `weekly`, 5-field cron, or RRULE. Use `--time <HH:MM>` with `daily`/`weekdays`/`weekly`, and `--day <0-6>` only with `weekly` where Sunday is `0`. Use `--repo <selector>` for a new worktree per run, or `--workspace <selector>` / `--workspace-mode existing` for an existing Orca worktree. `--repo` and `--workspace` are mutually exclusive. Use `--reuse-session` only for existing-workspace automations; if the previous terminal is gone, Orca falls back to a fresh session. Prefer `--disabled` while testing setup. ## Built-In Browser The built-in browser is Orca's embedded browser tab surface, scoped to Orca worktrees; it is not Chrome/Safari or desktop app UI. These commands control only Orca's embedded browser tabs. For external Chrome/Safari/webviews or Orca app chrome
Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".