OPS on-demand: This skill should be used when the user asks to "plugin broken", "ops doctor", or…

MITAuto-check: notes

Install Ops Doctor

skills CLI
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-doctor -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-doctor --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude-ops/skills/ops-doctor .claude/skills/ops-doctor && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ops-doctor
GitHub stars
542
Token cost
~2.5k tokens
SKILL.md length
714 words
Files
1
Skills in repo
67
Repo updated
First seen
Licence
MIT

At a glance

OPS on-demand: This skill should be used when the user asks to "plugin broken", "ops doctor", or…

  • Works in 3 steps: Run diagnostics → Decision → Post-fix verification
  • Asks to plugin broken
  • SKILL.md covers Runtime Context, CLI/API Reference, Phase 1 — Run diagnostics and Agent Teams support, plus 5 more sections
  • Calls python3 and bash; reaches api.linear.app

What it does

Ops Doctor is an agent skill from Lifecycle-Innovations-Limited/claude-ops. OPS on-demand: This skill should be used when the user asks to "plugin broken", "ops doctor", or…

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Business operating system for Claude Code — 57 skills, 21 agents, smart daemon. Unified inbox (WhatsApp/Email/Slack/Telegram), autonomous PR merge, full-AWS monitoring, revenue… The licence is MIT.

When your agent uses it

  • Asks to plugin broken

Example prompts

  • “plugin broken”
  • “ops doctor”
  • “/ops-doctor”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Bash, Read, Grep, Glob, Agent, AskUserQuestion, WebSearch, WebFetch, TeamCreate, SendMessage

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Run diagnostics
  2. Decision
  3. Post-fix verification

What it can do on your machine

Read from SKILL.md and the folder at commit ee9c784. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Grep
    • Glob
    • Agent
    • AskUserQuestion
    • WebSearch
    • WebFetch
    • TeamCreate
    • SendMessage

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.linear.app

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ops Doctor loads about 2.5k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 714 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~27
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Grep, Glob, Agent, AskUserQuestion, WebSearch, WebFetch, TeamCreate, SendMessage

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Lifecycle-Innovations-Limited/claude-ops at commit ee9c784, republished under its MIT licence (© Lifecycle-Innovations-Limited). 714 words, ~2,482 tokens.

Download SKILL.mdSave it as .claude/skills/ops-doctor/SKILL.md (or your agent's skills folder).
name
ops-doctor
description
OPS on-demand: This skill should be used when the user asks to "plugin broken", "ops doctor", or…
allowed-tools
Bash, Read, Grep, Glob, Agent, AskUserQuestion, WebSearch, WebFetch, TeamCreate, SendMessage
argument-hint
[--check-only|--verbose]
effort
medium
maxTurns
30

Runtime Context

Before diagnosing, load:

  1. Preferences: cat ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json — check all configured channels and services
  2. Daemon health: cat ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json — primary diagnostic input
  3. Secrets: Verify secret resolution chain works: Doppler MCP → env → Doppler CLI → password manager

OPS ► DOCTOR

Load ops-rules before acting. Public repo (no personal data). Outbound: one draft → one approval → one send. If AskUserQuestion / Workflow are missing, follow Rule 10 in ops-rules (Hermes: numbered options / two-turn Telegram card; delegate_task).

CLI/API Reference

ops-doctor bin script
CommandUsageOutput
${CLAUDE_PLUGIN_ROOT}/bin/ops-doctorRun full health diagnosticsJSON with errors, warnings, tools, env_vars, registry
${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor 2>/dev/null || echo '{"errors":["diagnostic_script_failed"]}'Run with fallbackJSON or error sentinel
Key files read by diagnostics
FilePurpose
${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.jsonPrimary daemon health input
${CLAUDE_PLUGIN_DATA_DIR}/preferences.jsonConfigured channels and services
${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.jsonPlugin manifest validation
${CLAUDE_PLUGIN_ROOT}/scripts/registry.jsonProject registry validation

Phase 1 — Run diagnostics

Run the diagnostic script to get a full health report:

${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor 2>/dev/null || echo '{"errors":["diagnostic_script_failed"],"warnings":[]}'

Parse the JSON output. Display a summary:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS ► DOCTOR — [timestamp]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 Plugin:     [version] at [plugin_root]
 Skills:     [count] defined
 Agents:     [count] defined
 Bin scripts:[count] available

 ERRORS      [count]
 [list each error with description]

 WARNINGS    [count]
 [list each warning with description]

 TOOLS
 [table of CLI tool availability]

 ENV VARS
 [table of env var status]

 Registry:   [status] ([project_count] projects)
 Preferences:[status]
 Cache:      [versions list]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Agent Teams support

If CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set, use Agent Teams when multiple independent fix categories are identified (e.g., manifest issues + permission issues + registry issues). This enables:

  • Fix agents work in parallel on different issue categories without stepping on each other
  • You can prioritize: "fix manifest errors first, then permissions"
  • Agents share context so a manifest fix can inform the registry repair

Team setup (only when flag is enabled, multiple issue categories):

TeamCreate("doctor-fixers")
Agent(team_name="doctor-fixers", name="fix-manifest", subagent_type="ops:doctor-agent", ...)
Agent(team_name="doctor-fixers", name="fix-permissions", subagent_type="ops:doctor-agent", ...)
Agent(team_name="doctor-fixers", name="fix-registry", subagent_type="ops:doctor-agent", ...)

If the flag is NOT set or only one issue category exists, use a single doctor-agent subagent.

Phase 2 — Decision

If $ARGUMENTS contains --check-only: stop here, display results only.

If there are errors or warnings:

Display: "Found [N] issues. Spawning doctor agent to auto-fix..."

Then spawn the doctor agent (or Agent Team — see above):

Agent({
  subagent_type: "ops:doctor-agent",
  prompt: "Fix the following ops plugin issues.\n\nDIAGNOSTIC_JSON: [paste full JSON]\nPLUGIN_ROOT: ${CLAUDE_PLUGIN_ROOT}\nCACHE_DIR: ~/.claude/plugins/cache/ops-marketplace/ops\n\nFix all errors and warnings. Re-run diagnostics after to verify.",
  description: "Fix ops plugin issues"
})

If there are no errors and no warnings:

Display: "All checks passed. Plugin is healthy."

MCP watchdog health probe

After Phase 1 diagnostics, parse the 5f block warnings from bin/ops-doctor. The bin script emits these MCP-specific keys:

  • claude_json_invalid — ~/.claude.json is not valid JSON (hard error — all MCP tooling breaks)
  • claude_json_missing — no ~/.claude.json (warning — no servers configured)
  • mcp_stdio_cmd_missing_<name> — stdio server command binary not on PATH
  • mcp_watchdog_stale — watchdog health not updated in >1h (cron not running)
  • mcp_watchdog_no_health — watchdog has never run (never registered)
  • mcp_servers_degraded_long — one or more HTTP MCP servers degraded >1h

For each warning, surface a one-line fix hint:

WarningFix hint
claude_json_invalidpython3 -c "import json; json.load(open('$HOME/.claude.json'))" to find the syntax error
mcp_stdio_cmd_missing_<name>Verify the command path and install the missing binary; update ~/.claude.json if path changed
mcp_watchdog_stale or mcp_watchdog_no_health/ops:mcp restart to register crontab entries
mcp_servers_degraded_long/ops:mcp status for full detail, then /ops:mcp reauth <name> for each needs_bootstrap

Include these warnings in the doctor-agent prompt for auto-fix where applicable (e.g., crontab registration is safe to do automatically).

Show full SKILL.md (272 more words)Show less

Pocket health probe

After Phase 1 diagnostics, run the pocket probe if the pocket section is configured in preferences or if --verbose was passed. The bin script already includes these checks (section 5e); this section describes what the SKILL layer adds on top.

Parse the pocket block from the bin/ops-doctor JSON output. Surface any pocket-specific warnings:

  • pocket_health_stale_* — health file exists but mtime > 5 minutes
  • pocket_health_missing_* — health file does not exist
  • pocket_health_error_* — health file has "status": "error"
  • pocket_tmux_missing — pocket-exec tmux session not found
  • pocket_config_invalid_* — whatsapp-config.json or email-config.json not valid JSON
  • pocket_email_auth — gog gmail status not authenticated
  • pocket_bridge_port — Baileys bridge port 8080 not listening

For each warning, surface a one-line fix hint:

WarningFix hint
pocket_health_stale_activity-notifierlaunchctl kickstart -k gui/$UID/com.claude-ops.pocket-activity-notifier
pocket_health_missing_*bash $CLAUDE_PLUGIN_ROOT/scripts/install-pocket-notifier.sh
pocket_health_error_*tail -30 ~/.claude/state/pocket/activity-notifier.stderr.log
pocket_tmux_missingExecutor not running — start with python3 $CLAUDE_PLUGIN_ROOT/scripts/ops-cron-pocket-executor.py
pocket_config_invalid_whatsappRe-run /ops:setup pocket to write a valid whatsapp-config.json
pocket_config_invalid_emailRe-run /ops:setup pocket to write a valid email-config.json
pocket_email_authgog auth add <your-email> --services gmail
pocket_bridge_portlaunchctl kickstart -k gui/$UID/com.<user>.whatsapp-bridge

Include pocket warnings in the doctor-agent prompt so it can auto-fix where possible.

Phase 3 — Post-fix verification

After the agent completes, re-run diagnostics:

${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor 2>/dev/null

Display updated results. If errors remain, report them to the user with manual fix instructions.


Native tool usage

WebSearch — known issue lookup

When diagnostics find errors, use WebSearch to check if the issue is a known Claude Code plugin bug, MCP server issue, or configuration problem. Include links to relevant GitHub issues or docs.

WebFetch — MCP health check

For MCP servers that appear disconnected, use WebFetch to test their underlying APIs directly (e.g., https://api.linear.app/graphql with a simple query) to distinguish between "MCP broken" and "API down".

© Lifecycle-Innovations-Limited, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in claude-ops/skills/ops-doctor of Lifecycle-Innovations-Limited/claude-ops.

Open the folder on GitHubat commit ee9c784

Compare with similar skills

Ops Doctor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ops Doctor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ops Doctor this skillLifecycle-Innovations-Limited/claude-ops542—~2.5kAutomated safety check: NotesMIT
Ops Doctordavepoon/buildwithclaude3.6k—~1.2kAutomated safety check: NotesMIT
Doctorsuperset-sh/superset15k—~434Automated safety check: PassCustom licence
Knowledge Opsaffaan-m/ECC277k2 repos~1.7kAutomated safety check: PassMIT
Research Opsaffaan-m/ECC277k2 repos~902Automated safety check: PassMIT
Terminal Opsaffaan-m/ECC277k2 repos~750Automated safety check: PassMIT

Similar skills

  • Ops Doctor

    davepoon/buildwithclaude

    Health check and auto-repair for the ops plugin. An agent skill from davepoon/buildwithclaude.

    3.6k GitHub stars~1.2k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check: notes
  • Doctor

    superset-sh/superset

    Diagnose and fix Superset problems such as connection failures, offline hosts, terminals not attaching, auth or update issues.

    15k GitHub stars~434 tokensUpdated today
    Auto-check passed
  • Knowledge Ops

    affaan-m/ECC

    Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).

    277k GitHub starsUsed in 2 repos~1.7k tokens
    Knowledge ManagementAuto-check passed
  • Research Ops

    affaan-m/ECC

    Evidence-first current-state research workflow for ECC. An agent skill from affaan-m/ECC.

    277k GitHub starsUsed in 2 repos~902 tokens
    Research & ScienceAuto-check passed
  • Terminal Ops

    affaan-m/ECC

    Evidence-first repo execution workflow for ECC. An agent skill from affaan-m/ECC.

    277k GitHub starsUsed in 2 repos~750 tokens
    Testing & QAAuto-check passed
  • Messages Ops

    affaan-m/ECC

    Evidence-first live messaging workflow for ECC. An agent skill from affaan-m/ECC.

    277k GitHub starsUsed in 1 repo~724 tokens
    Productivity & AutomationAuto-check passed

More from Lifecycle-Innovations-Limited/claude-ops

All 67 skills in this repo
  • Ops Dash

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "ops dashboard", "pixel HQ", or…

    542 GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Ops Gtm

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "go to market", "GTM plan", or…

    542 GitHub stars~3.7k tokensUpdated today
    Auto-check: notes
  • Ops Marketing

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "klaviyo", "ads spend", or…

    542 GitHub stars~3.5k tokensUpdated today
    Auto-check: notes
  • Ops Socials

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "tweet", "post to linkedin", or…

    542 GitHub stars~3.6k tokensUpdated today
    Auto-check: notes
  • Ops Yolo

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "yolo mode", "run the business today"…

    542 GitHub stars~4k tokensUpdated today
    Auto-check: notes
  • Ops Monitor

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "datadog", "APM alerts", or…

    542 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check: notes

Questions about Ops Doctor

What does Ops Doctor do?

OPS on-demand: This skill should be used when the user asks to "plugin broken", "ops doctor", or…. Ops Doctor is an agent skill from Lifecycle-Innovations-Limited/claude-ops.

When should I use Ops Doctor?

Ops Doctor fits situations like: asks to plugin broken.

How do I install Ops Doctor in Claude Code?

Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-doctor -a claude-code`. Or copy the skill folder (claude-ops/skills/ops-doctor in Lifecycle-Innovations-Limited/claude-ops) into .claude/skills/ops-doctor in your project. Claude Code loads it when a task matches its description.

How do I install Ops Doctor in Codex?

Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-doctor -a codex`. Or copy the skill folder (claude-ops/skills/ops-doctor in Lifecycle-Innovations-Limited/claude-ops) into .agents/skills/ops-doctor in your project. Codex loads it when a task matches its description.

Can I use Ops Doctor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-doctor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ops-doctor, .gemini/skills/ops-doctor, .github/skills/ops-doctor and .opencode/skills/ops-doctor in your project.

What does Ops Doctor need to run?

Going by SKILL.md and its folder, Ops Doctor needs the command-line tools its instructions call (python3 and bash). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, Agent, AskUserQuestion, WebSearch, WebFetch, TeamCreate, SendMessage.

Does Ops Doctor access the network?

SKILL.md names 1 domain. In commands or code: api.linear.app; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Ops Doctor safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Ops Doctor use?

Ops Doctor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ops Doctor use?

About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ops Doctor?

Skills that share tags, products or a category with Ops Doctor: Ops Doctor (davepoon/buildwithclaude, 3.6k stars), Doctor (superset-sh/superset, 15k stars), Knowledge Ops (affaan-m/ECC, 277k stars) and Research Ops (affaan-m/ECC, 277k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ops Doctor?

Lifecycle-Innovations-Limited (a GitHub organization) maintains it in Lifecycle-Innovations-Limited/claude-ops, which has 542 GitHub stars. The repository holds 67 skills in this directory. The repository was last updated on October 10, 2026.

Source: Lifecycle-Innovations-Limited/claude-ops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.