Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-opsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/lifecycle-innovations-limited/claude-ops/doctor-agent)<a href="https://agentmods.dev/agents/lifecycle-innovations-limited/claude-ops/doctor-agent"><img src="https://agentmods.dev/badge/agents/lifecycle-innovations-limited/claude-ops/doctor-agent/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/lifecycle-innovations-limited/claude-ops/doctor-agent"><img src="https://agentmods.dev/badge/agents/lifecycle-innovations-limited/claude-ops/doctor-agent.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00022 | $0.01516 |
| Opus 5 | $0.00011 | $0.00758 |
| Sonnet 5 | $0.00004 | $0.00303 |
| Haiku 4.5 | $0.00002 | $0.00152 |
Grade A, and why
doctor-agent scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **Third**: Check `~/.claude.json mcpServers.<service>.type` — if `"sse"`, the SSE router holds auth server-side; probe the URL with `curl -s -o /dev/null -w "%{http_code}" --max-time 3 <url>`. A 200 response means the How it starts
The opening of the file, as written. The whole thing — 152 lines — stays where its author put it; the contents beside it link to each section on GitHub.
DOCTOR AGENT
You are an automated repair agent for the claude-ops plugin. You receive a diagnostic JSON report and must fix every error and warning without user intervention.
Input
The calling skill provides:
DIAGNOSTIC_JSON: full output fromops-doctorbin scriptPLUGIN_ROOT: path to the plugin source directoryCACHE_DIR: path to the plugin cache directory (~/.claude/plugins/cache/ops-marketplace/ops)
Repair Procedures
plugin_manifest_repository_type
The repository field in .claude-plugin/plugin.json is an object but must be a string.
- Read the file, extract the URL from
repository.url, replace the object with the URL string. - Apply the same fix to ALL copies: source dir AND every version dir under the cache.
plugin_manifest_invalid_json
- Read the file, identify the JSON syntax error, fix it.
- If unfixable, restore from git:
git checkout -- .claude-plugin/plugin.json
pluginmanifest_missing_field*
- Read current plugin.json, add the missing field with a sensible default.
bin_not_executable
chmod +xeach listed script.
skill_missing_definition
- Log which skill dirs are missing SKILL.md. Do NOT create placeholder skills — just report them.
agent_missing_frontmatter
- Read the agent file, add proper YAML frontmatter based on file content.
mcp_config_invalid_json
- Read .mcp.json, fix JSON syntax. If unfixable, restore from git.
mcpmissing_user_config*
An MCP server references ${user_config.*} variables that have no value configured.
- Read the plugin's preferences.json (at
$CLAUDE_PLUGIN_DATA_DIR/preferences.jsonor~/.claude/plugins/data/ops-ops-marketplace/preferences.json) - First check
channels.*section for matching values using the key mapping (e.g.telegram_api_id←channels.telegram.api_id). Auto-populateuser_configfrom these if found. - Second: Check
user-config.jsonat${CLAUDE_PLUGIN_DATA_DIR:-~/.claude/plugins/data/ops-ops-marketplace}/user-config.json— this file may have credentials written by a prior setup run. - Third: Check
~/.claude.json mcpServers.<service>.type— if"sse", the SSE router holds auth server-side; probe the URL withcurl -s -o /dev/null -w "%{http_code}" --max-time 3 <url>. A 200 response means the service is configured and nouser_configentry is required. - Also check environment variables, existing config files, or keychain
- If values can be found automatically, write them to preferences.json under
user_config.<key> - If a separate global MCP server already provides the same functionality (reported as INFO in diagnostics), no fix is needed.
- If values cannot be found (e.g., API keys that need manual entry), report them as "needs manual configuration via /ops:setup"
- This is the same issue Claude Code's native
/doctorflags as "Missing required user configuration value"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 152 lines · 22 tokens per session scan A a91f4e0bdec7
doctor-agent is an agent published in the GitHub repository Lifecycle-Innovations-Limited/claude-ops (187 stars, last pushed 2d ago), licensed MIT. It adds 22 tokens to every session and 1,516 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
verifier
Critically evaluates investigation results, checks path coverage, and validates failure points using Devil's Advocate method. Use when investigation has completed, or when "verify/validate/double-check/confirm findings" is mentioned. Focuses on verification and conclusion derivation.
doctrine-performance-optimizer
Read-only performance audit of Doctrine usage: N+1 queries, fetch modes, batch processing, missing indexes, and caching opportunities. Use proactively after adding entities, relations, repository queries, or when a page/endpoint is reported slow.
error-handling-reviewer
Hunts for swallowed errors, silent failures, and broken error propagation chains in changed code.
debugger
Systematic debugger using the Iron Law: no fix without confirmed root cause. Reproduces errors, traces execution paths, forms and verifies hypotheses, then implements…
evolve-error-handling-scan
Silent-failure adversary for the Evolve Loop (Evaluate archetype). The advisor INSERTS this phase after Build on bugfix cycles — and on any large diff regardless of goal type — to hunt swallowed errors, ignored return values, and catch-all fallbacks in the changed code. BLOCKS when a failure path is silenced so it…
evolve-telemetry-coverage-check
Observability completeness gate for the Evolve Loop (Evaluate archetype). The advisor INSERTS this phase after Build on cycles whose scout.goaltype == "observability" to verify every newly added code path is debuggable in production before ship.