Agent skill

Doctor

by yonatangross in yonatangross/orchestkit

OrchestKit doctor for health diagnostics across manifest integrity, hook configuration, skill validation, agent frontmatter, MCP server connectivity, CC version compatibility, and permission rules.

MITAuto-check: notesAgent Workflows

Install Doctor

skills CLI
$ npx skills add yonatangross/orchestkit --skill doctor -a claude-code

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

GitHub CLI
$ gh skill install yonatangross/orchestkit 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/yonatangross/orchestkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/doctor .claude/skills/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
doctor
GitHub stars
292
Token cost
~5.3k tokens
SKILL.md length
2,114 words
Files
29 (incl. scripts, references)
Skills in repo
108
Repo updated
First seen
Licence
MIT

At a glance

OrchestKit doctor for health diagnostics across manifest integrity, hook configuration, skill validation, agent frontmatter, MCP server connectivity, CC version compatibility, and permission rules.

  • Works in 12 steps: Installed Plugins - Detects ork plugin → Skills Validation - Frontmatter,… → Agents Validation - Frontmatter, tool… → …
  • Diagnosing plugin health
  • SKILL.md covers Argument Resolution, STEP 0: Choose Scope…, Overview and When to Use, plus 8 more sections
  • Calls claude, npm and bash

What it does

Doctor is an agent skill from yonatangross/orchestkit. OrchestKit doctor for health diagnostics across manifest integrity, hook configuration, skill validation, agent frontmatter, MCP server connectivity, CC version compatibility, and permission rules. Reports issues with severity levels and auto-remediation suggestions. Validates component counts, detects orphaned entries, and checks CC version matrix compliance. Use when diagnosing plugin health, troubleshooting configuration issues, or running pre-release checks.

Its SKILL.md is about 5.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 30 other files, including scripts and reference files (for example `references/agent-memory-dir.md`, `references/agents-validation.md` and `references/claude-code.md`). Compatibility notes: Claude Code 2.1.277+ for xhigh effort warning (Category 14); earlier versions skip that check.

It sits in Agent Workflows, covering MCP servers. It works with Model Context Protocol. The repository describes itself as: The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install ork for stable (v9.x), or ork-alpha for the v10 line, which ships daily. The licence is MIT.

When your agent uses it

  • Diagnosing plugin health
  • Troubleshooting configuration issues
  • Running pre-release checks

Example prompts

  • “/doctor”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Claude Code 2.1.277+ for xhigh effort warning (Category 14); earlier versions skip that check.
  • Pre-approved tools (allowed-tools): Bash, Read, Grep, Glob, AskUserQuestion, Write

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Installed Plugins - Detects ork plugin
  2. Skills Validation - Frontmatter, references, token budget (dynamic count)
  3. Agents Validation - Frontmatter, tool refs, skill refs (dynamic count)
  4. Hook Health - Registration, bundles, async patterns
  5. Permission Rules - Detects unreachable rules
  6. Schema Compliance - Validates JSON files against schemas
  7. Coordination System - Checks lock health and registry integrity
  8. Context Budget - Monitors token usage against budget
  9. Memory System - Graph memory health
  10. Claude Code Version - Validates CC >= the supported_floor in shared/cc-support.json (read it; it is the single source). Everything the old…
  11. External Dependencies - Checks optional tool availability (agent-browser), plus one line per peer skill installed from another…
  12. MCP Status - Active vs disabled vs misconfigured, API key presence for paid MCPs. CC 2.1.110: detects duplicate definitions across config…

What it can do on your machine

Read from SKILL.md and the folder at commit e4ff8d9. 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
    • AskUserQuestion
    • Write

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • claude
    • npm
    • bash

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

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    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.

  • Compatibility

    Claude Code 2.1.277+ for xhigh effort warning (Category 14); earlier versions skip that check.

    From compatibility in the SKILL.md frontmatter.

Context cost

Doctor loads about 5.3k tokens when it runs, and up to ~71k if it reads all its reference files. Until then it costs about 118 tokens; SKILL.md has 2,114 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~118
When it runs · the whole SKILL.md, loaded when a task matches
~5.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~71k

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, AskUserQuestion, Write

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); the scripts in this folder are not scanned.

SKILL.md

The full file from yonatangross/orchestkit at commit e4ff8d9, republished under its MIT licence (© yonatangross). 2,114 words, ~5,257 tokens.

Download SKILL.mdSave it as .claude/skills/doctor/SKILL.md (or your agent's skills folder). This skill also uses 28 other files; get the full folder from GitHub.
name
doctor
description
OrchestKit doctor for health diagnostics across manifest integrity, hook configuration, skill validation, agent frontmatter, MCP server connectivity, CC version compatibility, and permission rules. Reports issues with severity levels and auto-remediation suggestions. Validates component counts, detects orphaned entries, and checks CC version matrix compliance. Use when diagnosing plugin health, troubleshooting configuration issues, or running pre-release checks.
allowed-tools
Bash, Read, Grep, Glob, AskUserQuestion, Write
compatibility
Claude Code 2.1.277+ for xhigh effort warning (Category 14); earlier versions skip that check.
license
MIT
argument-hint
[--verbose]
context
inherit
user-invocable
true
disable-model-invocation
false
skills
configure
effort
low
model
haiku
metadata.category
document-asset-creation
metadata.version
3.3.0

OrchestKit Health Diagnostics

Host-neutral workflow. Invoke by skill name (doctor). Claude Code slash routing, YAML hook loaders, and .claude/chain live in references/claude-code.md.

Argument Resolution

python
FLAGS = "$ARGUMENTS"         # Full argument string, e.g., "--verbose" or "--json"
FLAG = "$ARGUMENTS[0]"       # First token: -v, --verbose, --json, --category=X
# $ARGUMENTS[0], $ARGUMENTS[1] for indexed access (CC 2.1.59)

STEP 0: Choose Scope (AskUserQuestion — M118 #1464)

A full doctor run takes ~20s. Most invocations only need one slice. Ask the user up-front so voice-flow shortcuts ("just the MCPs") map cleanly:

python
# Skip the prompt when an explicit scope arg or env override is present:
#   doctor cc      → skip, use cc-only
#   doctor mcp     → skip, use mcp-only
#   doctor plugin  → skip, use plugin-only
#   ORK_DOCTOR_SCOPE=all (or any of the above) → skip, use the env value
#
# Otherwise, ask:
AskUserQuestion(questions=[{
  "question": "What should doctor check?",
  "header": "Scope",
  "options": [
    {"label": "Everything (default)", "description": "Full system health — ~20s; runs all 15 categories"},
    {"label": "CC version & features only", "description": "Categories 10 + 13 + 14; ~3s — for 'is my CC up to date?'"},
    {"label": "MCP servers only", "description": "Category 12 (incl. pinning sub-check); ~5s — for 'are MCPs working?'"},
    {"label": "Plugin health only", "description": "Categories 0-3 + 5 (skills, agents, hooks, build); ~8s — for 'after npm run build'"}
  ]
}])

Skip the prompt entirely when the scope is unambiguous from the invocation. The fast scopes (3-8s) are 3-7× faster than the full run — voice users say "just the MCPs" and get a 5s answer.

Overview

The doctor command performs comprehensive health checks on your OrchestKit installation. It auto-detects installed plugins and validates 16 categories:

  1. Installed Plugins - Detects ork plugin
  2. Skills Validation - Frontmatter, references, token budget (dynamic count)
  3. Agents Validation - Frontmatter, tool refs, skill refs (dynamic count)
  4. Hook Health - Registration, bundles, async patterns
  5. Permission Rules - Detects unreachable rules
  6. Schema Compliance - Validates JSON files against schemas
  7. Coordination System - Checks lock health and registry integrity
  8. Context Budget - Monitors token usage against budget
  9. Memory System - Graph memory health
  10. Claude Code Version - Validates CC >= the supported_floor in shared/cc-support.json (read it; it is the single source). Everything the old "recommends 2.1.154+" note gated (xhigh effort, /ultrareview, stream-json plugin_errors) is floor-guaranteed now, so there is nothing left to recommend
  11. External Dependencies - Checks optional tool availability (agent-browser), plus one line per peer skill installed from another marketplace: typesafe@typesafe-ai installed version against the marketplace's, via scripts/check-peer-skill.py (missing marketplace and missing plugin are separate verdicts, the vendor's update commands are the fix text; #4233)
  12. MCP Status - Active vs disabled vs misconfigured, API key presence for paid MCPs. CC 2.1.110: detects duplicate definitions across config scopes. Sub-check warns when HIGH-tier servers resolve to @latest in .mcp.json (closes #1462)
  13. Plugin Validate - Runs claude plugin validate for official CC frontmatter + hooks.json validation (CC >= 2.1.77)
  14. Effort/Model Compatibility - Warns only when xhigh effort is configured AND the active model is provably unable to run it. Silent otherwise, because the fallback itself is silent
  15. Sandbox Posture - CC Bash-sandbox on/off across all four settings scopes (incl. ~/.claude/settings.json, where real configs usually live), with a /sandbox nudge; sub-check 15b queries the macOS unified log for recent sandbox deny events (fail-closed: a denied log query reports UNOBSERVABLE, never zero)
  16. Operator Settings Posture - Detects security controls that a plugin bundle cannot carry (credential-read deny rules, the sandbox block, CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS) and are therefore missing unless the operator wrote them into their own settings

When to Use

  • After installing or updating OrchestKit
  • When hooks aren't firing as expected
  • Before deploying to a team environment
  • When debugging coordination issues
  • After running npm run build

Quick Start

bash
doctor           # Standard health check
doctor -v        # Verbose output
doctor --json    # Machine-readable for CI

CLI Options

FlagDescription
-v, --verboseDetailed output per check
--jsonJSON output for CI integration
--category=XRun only specific category

Health Check Categories

Detailed check procedures: Load Read("rules/diagnostic-checks.md") for bash commands and validation logic per category.

MCP-specific checks: Load Read("rules/mcp-status-checks.md") for credential validation and misconfiguration detection.

Output examples: Load Read("references/health-check-outputs.md") for sample output per category.

Categories 0-3: Core Validation
CategoryWhat It ChecksReference
0. Installed PluginsAuto-detects ork plugin, counts skills/agentsload rules/diagnostic-checks.md
1. SkillsFrontmatter, context field, token budget, links, activation-channel reachability (no orphaned user-invocable skills)load references/skills-validation.md
2. AgentsFrontmatter, model, skill refs, tool refsload references/agents-validation.md
3. Hookshooks.json schema, bundles, async patterns — across all three hook scopes: global, agent-scoped, and skill-scoped. Detects the common hook problems: missing files (registered but not on disk), syntax errors in hooks.json or bundles, permission issues (non-executable scripts), and stale references (entries pointing at renamed/removed handlers)load references/hook-validation.md

Activation-channel orphans (repo / pre-release): a user-invocable skill should be reachable by more than a human typing it — via a chain (another skill references /ork:<skill>), a subagent grant (skills: in src/agents/*.md), or a background trigger. A skill with none is an "island" that silently rots. In a repo checkout, run npm run test:manifests:channels (gated in CI via test:manifests). Fix an island by wiring any one channel, or add it to STANDALONE_ALLOWLIST with a justification.

Categories 4-5: System Health
CategoryWhat It ChecksReference
4. Memory.claude/memory/ graph integrity + queue depth; auto-memory MEMORY.md index budget; per-agent .claude/agent-memory/NAME/MEMORY.md (orphans, staleness, 150-line warn, secret/PII)load references/memory-health.md and references/agent-memory-dir.md
5. Buildplugins/ sync with src/, manifest counts, orphansload rules/diagnostic-checks.md

Analytics writer liveness (System Health): the local analytics pipeline has several independent JSONL writers under ~/.claude/analytics/ (skill-usage, agent-usage, hook-timing). A writer can die silently while its siblings stay hot — observed once for four months (skill-usage.jsonl, 2026-03 to 2026-07). The check is a peer comparison: flag any watched file whose last write is ≥48h old while a sibling wrote within 24h (stat -f '%m %N' ~/.claude/analytics/*.jsonl). The lifecycle/analytics-liveness-check SessionStart hook runs the same comparison continuously.

A flagged writer means the write path was dropped from dispatch, so check both surfaces — src/hooks/hooks.json AND the entries map (src/hooks/src/entries/*.ts). A hook present in one but not the other is registered-looking and silently dead: the #959 failure class. telemetry-inspect gives the per-file deep dive, covering the field-level defects this structural check cannot see: constant fields and phantom rows, the two classes fixed in #3034 and #3035 (both closed 2026-07-20). Cite them as prior art, not as open work.

(Category numbering in this file is inconsistent between the Overview list above and these tables — the Overview numbers 4 as Hook Health, the tables number 4 as Memory. This check belongs to System Health regardless of which numbering a reader follows.)

Categories 6-9: Infrastructure
CategoryWhat It Checks
6. Permission RulesUnreachable rules detection
7. Schema ComplianceJSON files against schemas
8. CoordinationMulti-worktree lock health, stale locks, sparse paths config
9. Context BudgetToken usage against budget
Categories 10-16: Environment
CategoryWhat It ChecksReference
10. CC VersionRuntime version against minimum requiredload references/version-compatibility.md
11. External DepsOptional tools (agent-browser, portless)load rules/diagnostic-checks.md
12. MCP StatusEnabled/disabled state, credential checks, HIGH-tier @latest pinning warnload rules/mcp-status-checks.md + references/mcp-pinning-check.md
13. Plugin ValidateOfficial CC frontmatter + hooks.json validation (CC >= 2.1.77)load rules/diagnostic-checks.md
14. Effort/Modelxhigh effort configured on a model that provably cannot run it (see below). Defaults to silenceinline
15. Sandbox PostureCC Bash-sandbox on/off across all four settings scopes + /sandbox nudge (opt-in, Bash-only; info-level). 15b: bounded read-only query of the macOS unified log for recent Sandbox deny events via scripts/check-sandbox-violations.sh (warn-level; fail-closed when the log query itself is denied; explicit skip off macOS)load references/sandbox-posture.md
16. Operator Settings PostureControls a plugin bundle cannot carry, so they exist only if the operator wrote them: credential-read permissions.deny rules (defence in depth: pretool/read/credential-read-guard already covers the Read tool), the sandbox block incl. network.deniedDomains (the egress guard only asks on the upload shape; a plain GET abstains), and CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS (ork's own agent-teams.ts gates on it). Since CC 2.1.257 it also reports permissions.blockReadsOutsideWorkingDirectories and warns when it is true without ~/.claude in additionalDirectories (the reads ork skills make outside the project would be refused, not prompted). Since #3877 it also names a project-scope sandbox.enabled: false that overrides a user-scope true (sandbox_override, project file:line and user file:line; the project file wins and Bash runs unsandboxed). Since #3835 the audit is a script: bash ${CLAUDE_SKILL_DIR}/scripts/check-operator-permissions.sh <project_dir> --json (exit 0 all payload rules enforced, 1 missing with the remedy, 2 could-not-observe); the remedy is setup phase 3.6, consent-gated. Warn-level; prints the JSON to pasteload references/settings-posture.md

Why Check 16 exists at all: plugins-reference.md:858 says "Only the agent and subagentStatusLine keys are currently supported" in a plugin's bundled settings.json. Everything else ork used to declare there was inert, so the protection it looked like it shipped was never in force. Check 16 is the replacement: detect the gap in a scope CC really reads, then hand the operator the exact JSON. The ork:configure skill, section Operator-Scope Settings, carries the paste-ready blocks, staged loose-then-strict per #3424; the full JSON is in ../configure/references/operator-scope-settings.md.

Show full SKILL.md (818 more words)Show less
Category 14: Effort/Model Compatibility (CC 2.1.111+)

CC 2.1.111 added the xhigh effort tier. The only reason this category exists is the silence: a model that does not implement xhigh degrades the request to high with no error, no warning, and no log line, so the extra deepening pass the affected skills document is lost without any visible signal. If CC ever surfaces the downgrade itself, delete this category.

The check is capability-shaped, not model-name-shaped. Never hardcode "the current frontier model" here: that guarantees a false failure the day the next one ships, and it prescribes a downgrade to a superseded model.

Do not route this through src/hooks/src/lib/models.vocab.json. That file is the model-id/pricing vocabulary and carries no effort or capability fields at all, so keying off it would leave the check permanently, accidentally dead rather than deliberately quiet.

Detection (warn only on positive proof):

  1. Resolve the configured effort, in order: .claude/settings.json → effort, then $ORCHESTKIT_EFFORT (populated by the effort-detector hook), then any .claude/chain/*.json entry that explicitly set effort: xhigh. No xhigh anywhere means pass, no output.
  2. Resolve the active model id.
  3. Warn only when that model id matches a prefix in doctor's local XHIGH_UNSUPPORTED_PREFIXES table below. Every other outcome (model absent from the table, model id unresolvable, settings file missing) is a pass. A check that cannot prove a problem stays quiet.
python
# Doctor-local capability table. Deliberately a DENY-list, not an allow-list:
# a model absent from this table is assumed to support xhigh and emits nothing.
# Add an entry only from an OBSERVED silent degrade, citing the CC version it was
# seen on. Never add one by inferring from a model being new, old, or cheap.
XHIGH_UNSUPPORTED_PREFIXES = [
    # prefix        evidence
    "claude-3-",  # the whole Claude 3 line predates CC 2.1.111, which introduced the tier
]

An empty or short table is the correct resting state. Silence here means "doctor has no proof of a problem", which is a true statement, whereas a name-matched failure against an unrecognized model is a false one.

Warning format (no model name is hardcoded, both sides are read at runtime):

WARNING: effort is set to `xhigh`, but <model-id> matches XHIGH_UNSUPPORTED_PREFIXES.
  Configured effort: xhigh (source: <settings.json | $ORCHESTKIT_EFFORT | chain>)
  Impact: the run degrades to `high` with no error and no log line, so the extra
          deepening pass is lost with nothing to notice it by.
  Fix: run this on a model that implements `xhigh`, or set effort to `high` so the
       config matches what actually executes.

Exit code: Non-zero in --json mode only when the warning actually fires; soft warning in interactive mode. A silent pass is exit 0.

Report Format

Every category reports an explicit pass / warn / fail status, and every warn or fail comes with specific fix steps for that failure type (the exact command to run, file to edit, or config to change) — doctor diagnoses AND prescribes, it never just lists problems.

Load Read("references/report-format.md") for ASCII report templates, JSON CI output schema, and exit codes.

Interpreting Results & Troubleshooting

Load Read("references/remediation-guide.md") for the full results interpretation table and troubleshooting steps for common failures (skills validation, build sync, memory).

Bisect with --safe-mode (CC 2.1.169+): when doctor findings don't explain a misbehaving session, restart with claude --safe-mode (or CLAUDE_CODE_SAFE_MODE=1) — it disables ALL customizations (CLAUDE.md, plugins incl. ork, skills, hooks, MCP). If the problem disappears, it's a customization; re-enable halves to isolate. If it persists, it's CC itself — file upstream.

Host load vs session load (macOS): when doctor findings say the session is healthy but the machine is slow, do not diagnose from memory_pressure's "System-wide memory free percentage": it once read 84% free while 59 of 64 GB was in use and swap stood at 6.9 of 8 GB, and the first culprit named from that number was wrong (the real load was a test suite in another project). Read the evidence before naming anything: sysctl vm.swapusage for swap, vm_stat for the memory split, and a process tree (e.g. ps aux | sort -nrk 3 | head) for who is actually consuming.

After you fix an issue

CC 2.1.69+: Run /reload-plugins to activate plugin changes in the current session without restarting.

CC 2.1.116+: /reload-plugins and background plugin auto-update now auto-install missing plugin dependencies from marketplaces you've already added. If ork:doctor flagged a plugin-load failure due to a missing dep, /reload-plugins resolves it in place — no manual plugin install step needed.

CC 2.1.152+: For non-plugin skills in a skill directory (~/.claude/skills/ or .claude/skills/), run /reload-skills to re-scan without restarting — the skill analogue of /reload-plugins.

Chain: Deeper Audit

After a clean health report, audit the observability pipeline itself:

telemetry-inspect

doctor validates structure (manifests, hooks, skills, agents); telemetry-inspect validates the data plane — every telemetry writer's row count, schema lock, growth trend, and orphaned analytics files that structural checks don't cover.

  • ork:configure - Configure plugin settings
  • ork:telemetry-inspect - Audit the telemetry/analytics pipeline after a clean structural check
  • ork:quality-gates - CI/CD integration
  • security-scanning - Comprehensive audits

References

Load on demand with Read("references/<file>") or Read("rules/<file>"):

FileContent
rules/diagnostic-checks.mdBash commands and validation logic per category
rules/mcp-status-checks.mdCredential validation and misconfiguration detection
references/remediation-guide.mdResults interpretation and troubleshooting steps
references/health-check-outputs.mdSample output per category
references/skills-validation.mdSkills frontmatter and structure checks
references/agents-validation.mdAgents frontmatter and tool ref checks
references/hook-validation.mdHook registration and bundle checks
references/memory-health.mdMemory system integrity checks
references/agent-memory-dir.mdPer-agent agent-memory dir: orphans, staleness, 150-line warn, secrets
references/permission-rules.mdPermission rule detection
references/skill-preapproval.mdSkills whose allowed-tools pre-grant stops under managed allowManagedPermissionRulesOnly (CC 2.1.282, 2.1.284), detection and admin remedy
references/schema-validation.mdJSON schema compliance
references/report-format.mdASCII report templates and JSON CI output
references/version-compatibility.mdCC version and channel validation
references/mcp-pinning-check.mdHIGH-tier MCP @latest warning logic + tier source-of-truth
references/sandbox-posture.mdCC Bash-sandbox on/off detection + /sandbox nudge (Check 15) + unified-log violation query (15b)
references/settings-posture.mdOperator-scope security posture: what a plugin bundle cannot carry, and how to detect it missing (Check 16)

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

Files

SKILL.md and 28 other files (scripts, references) in src/skills/doctor of yonatangross/orchestkit.

  • SKILL.md
  • references/agent-memory-dir.md
  • references/agents-validation.md
  • references/claude-code.md
  • references/health-check-outputs.md
  • references/hook-validation.md
  • references/mcp-pinning-check.md
  • references/memory-health.md
  • references/permission-rules.md
  • references/remediation-guide.md
  • references/report-format.md
  • references/sandbox-posture.md
  • references/schema-validation.md
  • references/settings-posture.md
  • references/skill-preapproval.md
  • references/skills-validation.md
  • references/version-compatibility.md
  • rules/_sections.md
  • rules/diagnostic-checks.md
  • … and 10 more

Open the folder on GitHubat commit e4ff8d9

Compare with similar skills

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.

Doctor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Doctor this skillyonatangross/orchestkit292—~5.3kAutomated safety check: NotesMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k4 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
Crush Configurationcharmbracelet/crush29k—~3.7kAutomated safety check: PassCustom licence
Context Mode Output Sandboxmksglu/context-mode26k—~4.1kAutomated safety check: PassCustom licence

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 4 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Crush Configuration

    charmbracelet/crush

    Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.

    29k GitHub stars~3.7k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Context Mode Output Sandbox

    mksglu/context-mode

    Routes large command, file, API and browser output through context-mode tools so only the needed result enters the agent's context, instead of dumping it via Bash.

    26k GitHub stars~4.1k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Migrates the compatible subset of settings and global file-based MCP servers from the Warp desktop app into Warp Agent CLI without exposing credentials or state.

    65k GitHub starsUsed in 1 repo~2.1k tokens
    Agent WorkflowsAuto-check passed

More from yonatangross/orchestkit

All 108 skills in this repo
  • API Design

    yonatangross/orchestkit

    API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs.

    292 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Architecture Decision Record

    yonatangross/orchestkit

    ADR templates in the Nygard format with context, decision, consequences, and alternatives.

    292 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Audit Full

    yonatangross/orchestkit

    Single-pass codebase analysis leveraging a 1M-token context window for comprehensive security scanning, architecture review, and dependency auditing.

    292 GitHub stars~3.5k tokensUpdated today
    Auto-check: notes
  • Code Review Playbook

    yonatangross/orchestkit

    Structured review processes, conventional comments, language-specific checklists, and feedback templates.

    292 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Create PR

    yonatangross/orchestkit

    Creates GitHub pull requests with pre-flight validation, conventional title formatting, and structured summary generation.

    292 GitHub stars~4.5k tokensUpdated today
    Auto-check: notes
  • Explore

    yonatangross/orchestkit

    Multi-angle codebase exploration spawning 3-5 parallel agents for code structure, data flow, architecture patterns, and health assessment.

    292 GitHub stars~3.9k tokensUpdated today
    Auto-check: notes

Categories

Questions about Doctor

What does Doctor do?

OrchestKit doctor for health diagnostics across manifest integrity, hook configuration, skill validation, agent frontmatter, MCP server connectivity, CC version compatibility, and permission rules. Doctor is an agent skill from yonatangross/orchestkit. OrchestKit doctor for health diagnostics across manifest integrity, hook configuration, skill validation, agent frontmatter, MCP server connectivity, CC version compatibility, and permission rules.

When should I use Doctor?

Doctor fits situations like: diagnosing plugin health; troubleshooting configuration issues; running pre-release checks.

How do I install Doctor in Claude Code?

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

How do I install Doctor in Codex?

Run `npx skills add yonatangross/orchestkit --skill doctor -a codex`. Or copy the skill folder (src/skills/doctor in yonatangross/orchestkit) into .agents/skills/doctor in your project. Codex loads it when a task matches its description.

Can I use 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 yonatangross/orchestkit --skill 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/doctor, .gemini/skills/doctor, .github/skills/doctor and .opencode/skills/doctor in your project.

What does Doctor need to run?

Going by SKILL.md and its folder, Doctor needs the command-line tools its instructions call (claude, npm and bash). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, AskUserQuestion, Write. Compatibility (from SKILL.md): Claude Code 2.1.277+ for xhigh effort warning (Category 14); earlier versions skip that check..

Does Doctor access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Doctor use?

Doctor is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Doctor use?

About 5.3k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 66k tokens, read only when the agent opens those files.

What are the alternatives to Doctor?

Skills that share tags, products or a category with Doctor: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Crush Configuration (charmbracelet/crush, 29k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Doctor?

yonatangross (a GitHub user) maintains it in yonatangross/orchestkit, which has 292 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 10, 2026.

Source: yonatangross/orchestkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.