ops-doctor

GitHub

运维插件健康检查与自动修复技能。诊断清单错误、权限问题、配置无效等,并自动触发代理修复。

plugins/claude-ops/skills/ops-doctor/SKILL.md davepoon/buildwithclaude

Trigger Scenarios

需要检查运维插件健康状况时 发现插件报错或配置异常需自动修复时

Install

npx skills add davepoon/buildwithclaude --skill ops-doctor -g -y
More Options

Non-standard path

npx skills add https://github.com/davepoon/buildwithclaude/tree/main/plugins/claude-ops/skills/ops-doctor -g -y

Use without installing

npx skills use davepoon/buildwithclaude@ops-doctor

指定 Agent (Claude Code)

npx skills add davepoon/buildwithclaude --skill ops-doctor -a claude-code -g -y

安装 repo 全部 skill

npx skills add davepoon/buildwithclaude --all -g -y

预览 repo 内 skill

npx skills add davepoon/buildwithclaude --list

SKILL.md

Frontmatter
{
    "name": "ops-doctor",
    "effort": "medium",
    "maxTurns": 30,
    "description": "Health check and auto-repair for the ops plugin. Diagnoses manifest errors, broken permissions, invalid configs, stale caches, and missing files — then spawns an agent to fix everything automatically.",
    "allowed-tools": [
        "Bash",
        "Read",
        "Grep",
        "Glob",
        "Agent",
        "AskUserQuestion",
        "WebSearch",
        "WebFetch",
        "TeamCreate",
        "SendMessage"
    ],
    "argument-hint": "[--check-only|--verbose]"
}

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

CLI/API Reference

ops-doctor bin script

Command Usage Output
${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor Run full health diagnostics JSON with errors, warnings, tools, env_vars, registry
${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor 2>/dev/null || echo '{"errors":["diagnostic_script_failed"]}' Run with fallback JSON or error sentinel

Key files read by diagnostics

File Purpose
${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json Primary daemon health input
${CLAUDE_PLUGIN_DATA_DIR}/preferences.json Configured channels and services
${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json Plugin manifest validation
${CLAUDE_PLUGIN_ROOT}/scripts/registry.json Project 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."

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".

Version History

  • 502fc01 Current 2026-07-05 15:10

Same Skill Collection

plugins/agent-triforce/skills/code-health/SKILL.md
plugins/agent-triforce/skills/feature-spec/SKILL.md
plugins/agent-triforce/skills/implement-feature/SKILL.md
plugins/agent-triforce/skills/release-check/SKILL.md
plugins/agent-triforce/skills/review-findings/SKILL.md
plugins/agent-triforce/skills/security-audit/SKILL.md
plugins/agents-uc-taskmanager/skills/init/SKILL.md
plugins/agents-uc-taskmanager/skills/work-pipeline/SKILL.md
plugins/agents-uc-taskmanager/skills/work-status/SKILL.md
plugins/aigent-os/skills/close/SKILL.md
plugins/aigent-os/skills/open/SKILL.md
plugins/all-skills/skills/activecampaign-automation/SKILL.md
plugins/all-skills/skills/agent-analytics/SKILL.md
plugins/all-skills/skills/airtable-automation/SKILL.md
plugins/all-skills/skills/amplitude-automation/SKILL.md
plugins/all-skills/skills/anti-ui-slop/SKILL.md
plugins/all-skills/skills/artifacts-builder/SKILL.md
plugins/all-skills/skills/asana-automation/SKILL.md
plugins/all-skills/skills/aurakit/SKILL.md
plugins/all-skills/skills/bamboohr-automation/SKILL.md
plugins/all-skills/skills/basecamp-automation/SKILL.md
plugins/all-skills/skills/bitbucket-automation/SKILL.md
plugins/all-skills/skills/box-automation/SKILL.md
plugins/all-skills/skills/brand-guidelines/SKILL.md
plugins/all-skills/skills/brevo-automation/SKILL.md
plugins/all-skills/skills/cal-com-automation/SKILL.md
plugins/all-skills/skills/calendly-automation/SKILL.md
plugins/all-skills/skills/canva-automation/SKILL.md
plugins/all-skills/skills/canvas-design/SKILL.md
plugins/all-skills/skills/changelog-generator/SKILL.md
plugins/all-skills/skills/circleci-automation/SKILL.md
plugins/all-skills/skills/clawring/SKILL.md
plugins/all-skills/skills/clickup-automation/SKILL.md
plugins/all-skills/skills/close-automation/SKILL.md
plugins/all-skills/skills/coda-automation/SKILL.md
plugins/all-skills/skills/coding-agent-pm/SKILL.md
plugins/all-skills/skills/coinpaprika-api/SKILL.md
plugins/all-skills/skills/competitive-ads-extractor/SKILL.md
plugins/all-skills/skills/confluence-automation/SKILL.md
plugins/all-skills/skills/content-research-writer/SKILL.md
plugins/all-skills/skills/convertkit-automation/SKILL.md
plugins/all-skills/skills/datadog-automation/SKILL.md
plugins/all-skills/skills/developer-growth-analysis/SKILL.md
plugins/all-skills/skills/dexpaprika-api/SKILL.md
plugins/all-skills/skills/discord-automation/SKILL.md
plugins/all-skills/skills/dispatch/SKILL.md
plugins/all-skills/skills/docusign-automation/SKILL.md
plugins/all-skills/skills/docx/SKILL.md
plugins/all-skills/skills/domain-name-brainstormer/SKILL.md
plugins/all-skills/skills/dropbox-automation/SKILL.md

Metadata

Files
0
Version
13c9cb5
Hash
580628c7
Indexed
2026-07-05 15:10

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-03 14:38
浙ICP备14020137号-1 $Map of visitor$