The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Claude Ops Telegram Server listing page.
Business Operating System for Claude Code
One command. Sixty seconds. Your entire business, at a glance.
Turn Claude Code into a complete business operating system — infrastructure health, CI/CD status, unified inbox, open PRs, sprint state, revenue snapshot (Stripe + RevenueCat + AWS), and autonomous C-suite agents that act on your behalf.
Current: v3.6.1. One plugin, three harnesses, official skill shape.
| Hermes | Installer mirrors skills into ~/.hermes/skills for working slash commands and links hermes-plugin/ for skill_view("ops:*"). |
| Grok | Loads the Claude plugin as-is. No .grok-plugin. |
| Skills | Third-person trigger descriptions, shared preamble, ops-rules (plugin-root CLAUDE.md is a pointer). Oversized skills split into references/. |
| Versions | plugin.json = Hermes plugin.yaml = installer pin. ops-release keeps them together. |
| MCP | Plugin .mcp.json is empty. Servers start on demand, not once per session. |
Ports: claude-ops/docs/harness-ports.md. Rules: skills/ops-rules/SKILL.md. Full notes: CHANGELOG.
v2 turns claude-ops from a briefing + comms surface into an autonomy layer for Claude Code itself. Purely additive — no v1 behaviour changes by default. See claude-ops/CHANGELOG.md and docs/migrating-from-v1.md.
| Capability | Skill | Doc |
|---|---|---|
| Post-merge + build-failure auto-fix (PostToolUse hooks → headless Haiku fixer) | /ops:deploy-fix | deploy-fix.md |
Pre-installed specialist agents + silent general-purpose → specialist routing | (transparent) | agents.md |
Universal safety hooks: secret-scan, rm -rf anchor block, main push warn | (always-on) | safety-hooks.md |
Recap marquee — multi-session digest in tmux status-right / statusLine | /ops:recap | recap.md |
Multi-account Claude Max rotator with launchd daemon + AI-brain (jittered post-rotation respawn + /login re-auth so a freshly-rotated account isn't hit by a synchronized first-call burst) | /ops:rotate, /ops:rotate-setup | CHANGELOG |
| Periodic Task* tracking nudge | (PostToolUse hook) | CHANGELOG |
| Windsor.ai live marketing data source for ops dashboards, marketing, socials & ecom | /ops:marketing | windsor-ai.md |
Per-repo budget caps (default 3/hour), single-flight locks, and content-hash dedup prevent runaway spending. Notifications route via macos/ntfy/pushover/discord/telegram/none. Every toggle is spacebar-toggleable in /plugins settings.
One command mirrors upstream skills + binstubs into every detected CLI's expected layout from a single central config (~/.config/claude-ops-installer/config.yaml). See installer/README.md for the schema, supported agents, and verify / doctor / update / uninstall subcommands.
[!TIP] The wizard installs the background daemon EARLY (Step 2c). While you're still answering "connect Slack? [OAuth/Skip]" questions,
briefing-pre-warmis already running every 2 minutes — pre-fetching ECS health, git state, PRs, CI, and unread counts. By the time setup finishes, your first/ops:gobriefing loads in <3 seconds from warm cache instead of ~30s cold.
Local development:
All 66 skills, grouped by category:
| 🧭 Navigation | 📊 Daily Ops |
|---|---|
/ops — pixel-art dashboard | /ops:go — morning briefing |
/ops:dash — same + hotkeys | /ops:next — priority next action |
/ops:setup — guided wizard | /ops:inbox — deep-context inbox zero |
/ops:uninstall — clean removal | /ops:comms — send/read any channel |
/ops:merge — autonomous PR pipeline | |
/ops:relations — relationship manager | |
/ops:vip — VIP list, answered first |
| 🛠️ Project & Eng | 💰 Business |
|---|---|
/ops:projects — portfolio dashboard | /ops:revenue — Stripe + RevenueCat + AWS |
/ops:linear — sprint board | /ops:ecom — Shopify operations |
/ops:triage — cross-platform issues | /ops:marketing — Klaviyo/Meta/GA4/GSC |
/ops:fires — incidents + all AWS | /ops:gtm — cross-channel GTM planner |
/ops:deploy — ECS/Vercel/Actions | /ops:voice — native + Twilio + Bland + Zoom + smart join |
/ops:monitor — Datadog/New Relic/OTEL | /ops:package — carrier-agnostic shipping |
/ops:competitors — self-discovering competitor intel (v2.3) |
| 🤖 Automation | 🧰 Maintenance |
|---|---|
/ops:orchestrate — parallel engine | /ops:speedup — GPU/ANE + power hogs + OS actions |
/ops:yolo — 4 parallel C-suite agents | /ops:doctor — plugin auto-repair |
/ops:integrate — add external service | /ops:daemon — launchd background brain |
/ops:whatsapp-biz — catalog/orders | /ops:status — plugin + daemon health |
/ops:voice is a full voice surface — not just AI calls.
| Subcommand | What it does |
|---|---|
phone <number> | Native Phone.app dial via Continuity |
facetime <handle> [--audio] | FaceTime video or audio |
zoom start|join|schedule | Native Zoom + REST scheduling |
join [--at now|next] | Auto-joins the current/next calendar meeting with smart AV defaults (cam/mic policy by attendee count, lid-state mic switching, Elgato auto-launch) |
twilio-call, twilio-sms | Programmatic outbound voice + SMS |
bland-call | AI agent phone call |
tts, transcribe | ElevenLabs TTS + Groq Whisper |
All outbound 1:1 channels (twilio, bland) go through the per-message approval gate (Rule 6).
Most integrations offer two paths — MCP (zero-config OAuth) or CLI (fuller feature set). The setup wizard lets you choose per-integration.
| SERVICE | MCP | CLI | WHAT YOU LOSE WITHOUT CLI |
|---|---|---|---|
| GitHub | — | gh (auto) | EVERYTHING — CI logs, PR merge, triage all require gh |
| AWS | — | aws (auto) | EVERYTHING — 17+ services probed by infra-monitor |
| Stripe | — | API key | Required for /ops:revenue MRR — web + desktop subs |
| RevenueCat | — | API key + project ID | Required for mobile-app subscription MRR |
| Linear | OAuth via Claude.ai (12 tools) | — | Nothing — fully covered |
| Vercel | OAuth via Claude.ai | — | Nothing — deploy status, build + runtime logs |
| Slack | OAuth via Claude.ai | local bot token | MCP covers most. Token adds: unlimited search, private ch |
| Gmail | OAuth (read) | gog (send+archive) | MCP = read-only. CLI = full autonomous inbox |
| Calendar | OAuth via Claude.ai | gog (read-only) | MCP has more features — either works |
| Sentry | OAuth via Claude.ai | sentry-cli | MCP covers triage. CLI adds source maps + releases |
| — | wacli | EVERYTHING — no MCP exists | |
| Telegram | — | bundled MCP server | EVERYTHING — plugin ships its own MTProto server |
| Shopify | — | Admin API + template | Store ops, order mgmt, inventory via /ops:ecom |
| Klaviyo | — | API key | Email/SMS campaigns via /ops:marketing |
| Meta Ads | — | API token | Paid-social reporting via /ops:marketing |
| GA4 | — | service account | Analytics via /ops:marketing |
| GSC | — | service account | Search Console via /ops:marketing |
| Bland AI | — | API key | Outbound voice via /ops:voice |
| ElevenLabs | — | API key | TTS + cloning via /ops:voice |
| Whisper | — | API key | Transcription via /ops:voice |
| Twilio | — | API (Account SID + Auth Token) | Outbound voice + SMS via /ops:voice twilio-* |
| Zoom | Server-to-Server OAuth | API token | Native start/join (no creds) + REST schedule via /ops:voice zoom * |
| macOS Phone / FaceTime | — | URL schemes (tel:, facetime://, facetime-audio://) | Native via Continuity — no creds, no API |
| Elgato Camera Hub | — | auto-launched if installed | Virtual camera setup for meetings via /ops:voice join |
| GSD | — | auto-detected | Optional — roadmap state; degrades gracefully |
| Doppler | @dopplerhq/mcp-server (MCP) | doppler CLI (fallback) | Secrets manager; MCP server provides direct tool access |
[!NOTE]
infra-monitornow covers every AWS service you have IAM for — ECS, EC2, RDS, Lambda, S3, CloudFront, ALB/NLB, API Gateway, SQS, SNS, DynamoDB, ElastiCache, Route 53, ACM, CloudWatch, Budgets, IAM. Probes run in parallel; services you can't access are silently skipped.
All skills use pre-execution shell blocks (! fences) that gather data before model context loads — zero extra latency, minimal token overhead. The ops-daemon pre-warms briefing data so /ops:go hits warm cache.
Why the nested
claude-ops/claude-ops/directory? Claude Code's plugin marketplace system requires a two-level layout: the repo root acts as a marketplace container (with.claude-plugin/marketplace.jsonpointing"source": "./claude-ops"), while the inner directory is the actual plugin root (with.claude-plugin/plugin.json, skills, agents, etc.). This is how Claude Code resolves and caches plugins — it cannot be flattened.
Every ops skill that spawns agents supports Claude Code Agent Teams — a coordination layer where agents share context, report progress, and accept mid-flight steering.
Enable: Set CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 in your environment.
How it works: When the flag is set, skills create a named team and dispatch agents into it. Agents within a team can share findings (e.g., an inbox agent discovers a Slack message referencing an email thread, so the email agent prioritizes it) and you can steer priorities via SendMessage.
Without the flag: Skills fall back to standard fire-and-forget subagents — still parallel, but no coordination or steering.
| Skill | Team name | Agents |
|---|---|---|
/ops:go | go-team | infra-scanner, inbox-scanner, pr-scanner, sprint-scanner |
/ops:inbox | inbox-channels | whatsapp-scanner, email-scanner, slack-scanner, telegram-scanner |
/ops:merge | merge-fixers | fixer-[repo] per failing PR |
/ops:fires | fire-fixers | fix-[service] per active incident |
/ops:triage | triage-fixers | fix-[issue-id] per active issue |
/ops:yolo | yolo-csuite | ceo, cto, cfo, coo |
/ops:orchestrate | orchestrate-team | per-project agents (hybrid auto-select) |
/ops:monitor | monitor-probes | datadog-probe, newrelic-probe, otel-probe |
/ops:doctor | doctor-fixers | fix-manifest, fix-permissions, fix-registry |
/ops:marketing | marketing-team | email-metrics, ads-metrics, analytics-metrics, seo-metrics |
/ops:ecom | ecom-team | orders-scanner, inventory-scanner, fulfillment-scanner |
/ops:deploy | deploy-team | ecs-checker, vercel-checker, ci-checker |
/ops:projects | projects-team | project-[alias] per registered project |
/ops:dash | dash-team | infra-loader, comms-loader, projects-loader, business-loader |
/ops:next | next-team | fires-checker, comms-checker, prs-checker, sprint-checker |
setup | setup-hunters | hunt-[service] per credential deep hunt |
Compliance enforced by CI: tests/test-agent-teams.sh audits every skill for Agent Teams support — any skill with Agent in its allowed-tools must have TeamCreate/SendMessage, a documentation section, the feature flag check, and a fallback path.
A self-discovering competitive-intelligence pipeline that goes well past "weekly Google Alert." Free signals + LLM curation, $0 incremental cost, configurable per brand.
Pipeline per configured brand:
{brand_name} in {category}.scripts/lib/competitor/):
reddit-search.sh — Reddit JSON APIhn-search.sh — HN Algolia APIappstore-lookup.sh — iTunes Lookup (opt-in for mobile brands)jobs-feed.sh — Greenhouse + Lever public APIs (senior-hire detection)page-diff.sh — HTML pricing/features/careers SHA snapshots with money-token detectionevent-router.sh:
high (price change on direct rival, funding, Show HN going viral) → immediate Telegram push every 10 min via competitor-alert cronmed → daily 17:00 grouped roll-up via competitor-daily cronlow → state-only, surfaces in weekly strategic synthesisclaude_invoke Sonnet 4.6 against 7-day events.jsonl window. Output: NEW entrants / Competitor moves / Brand signal / Threats & opportunities.Where it shows up:
| Surface | What you see |
|---|---|
/ops:go | COMPETITOR row: alerts count, last_run, top-3 event snippets |
/ops:next | Priority 2 (between fires + comms): REACT: <competitor> <source> changed |
/ops:marketing | PRICING MOVES + FUNDING + SENTIMENT section |
/ops:ecom | APP RELEASES + PRODUCT/PRICING CHANGES section |
/ops:yolo | CEO/CTO/CFO/COO agents each load role-specific vertical slice |
/ops:competitors | Dedicated dashboard + bin/ops-competitors CLI |
| Disk | $DATA_DIR/reports/competitor-intel/YYYY-MM-DD_<brand>.md |
Config (preferences.json .competitor_intel):
Required env: TAVILY_API_KEY (free tier 1000 searches/mo — covers ~30 brands). Optional: TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID for push delivery (otherwise reports persist to disk only).
Cost at 10-brand scale: ~13 Tavily calls/wk + ~320k Sonnet tokens/mo on Max-OAuth = $0 incremental.
[!IMPORTANT] Transparency matters. claude-ops reads from your AWS, GitHub, Linear, Sentry, WhatsApp, Email, Slack, Telegram, Shopify, Stripe, RevenueCat, and more. You should know exactly what it touches.
Credential resolution chain (in order): Doppler MCP → Doppler CLI → 1Password/Dashlane/Bitwarden → macOS Keychain → env vars → Claude Code's encrypted userConfig (~/.claude.json).
Setup auto-scan sources (only during /ops:setup): env, shell profiles, Doppler, 1Password, Dashlane, Bitwarden, macOS Keychain, Claude Code's ~/.claude.json, Chrome history URL list (never page content), Slack Playwright profile (only if chosen).
The plugin does NOT:
Background daemon services (only those you enable):
briefing-pre-warm every 2 min — parallel ops-gather for ECS/git/PRs/CI/unread. Local only.wacli-sync continuous — WhatsApp Web protocol, same as standalone wacli.memory-extractor every 30 min — Haiku summarizes local chats to memories/.inbox-digest every 4h — aggregates for your configured Telegram bot (if any).store-health daily 9am — Shopify Admin API, read-only.competitor-intel weekly Mon 10:00 — full strategic synthesis for each configured brand (see below).competitor-alert every 10 min — drains high-severity competitor events to Telegram + alerts.log.competitor-daily daily 17:00 — drains medium-severity events into a grouped roll-up digest.message-listener continuous — local polling, never sends outbound on its own.Security measures: umask 077 on preferences.json · credentials in Claude Code's encrypted userConfig · registry/preferences gitignored · tests/test-no-secrets.sh pre-commit · Rule 5 blocks destructive actions without confirmation · append-only shell profile writes.
Your rights: /ops:uninstall removes everything · memory files are plain markdown · MIT licensed, source is public and auditable.
See the Privacy & Security wiki page for the full scan inventory and threat model.
Just Claude Code 1.0+. Everything else is installed automatically by /ops:setup via Homebrew (macOS), apt (Linux), or winget (Windows). /ops:speedup auto-detects macOS / Linux / WSL / Windows and applies host-appropriate tuning (no manual flags needed).
/gtm — cross-channel go-to-market planner (NEW skill). Strategy layer on top of /ops:marketing that generates plans across paid, unpaid, sales, and AI-automation avenues and hands launchable items to /marketing via the Skill tool./ops:projects portfolio dashboard — every project in the GSD registry with active phase, task count, dirty-file count, and open-PR status. Backed by the gsd-registry-sync daemon service.ops-speedup v2 parity — --gpu (Neural Engine + GPU util via powermetrics), --power (energy hogs from top -o pmem), --os-actions (cross-platform kernel_task / WindowServer restarts + launchd/systemd masking behind an allowlist). Hardened against 9 review findings including a SEV-9 eval shell-injection and a SEV-8 RETURN-trap race.ops-memory-extractor Claude Code OAuth support — prefers the OAuth token stored in the macOS Keychain (Claude Code-credentials) so memory extraction is billed against the Claude Max subscription instead of the API credit. Falls back to ANTHROPIC_API_KEY. The OAuth token is never exported to the shell.--follow — wacli-keepalive.sh no longer tears down the follower within 5-20 min of start. INITIAL_BACKFILL_DELAY=30 lets the follower stabilize before the first --once sweep, and a reentrant guard prevents overlapping sweeps.PreToolUse hook kills and respawns any disconnected MCP server without user prompting.claude-ops/README.md.PRs welcome — see CONTRIBUTING.md for the full guide, branch rules, and PR workflow.
Branch strategy: main is the only long-lived branch. All work goes through feature branches → PR to main. Branch protection is enforced at repo and org level — no direct pushes, no force pushes, no branch deletion.
See claude-ops/README.md for detailed documentation on each skill, agent, and integration. Full guides, troubleshooting, and the threat model live on the wiki.
MIT — built by Lifecycle Innovations Limited.
v1.7.0 · MIT · github.com/Lifecycle-Innovations-Limited