Agent skill

Toolshed Doctor

by Eigenwise in Eigenwise/eigenwise-toolshed

Run a read-only health check for Quartermaster and installed Toolshed plugins.

MITAuto-check passedDevOps & Cloud

Install Toolshed Doctor

skills CLI
$ npx skills add Eigenwise/eigenwise-toolshed --skill toolshed-doctor -a claude-code

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

GitHub CLI
$ gh skill install Eigenwise/eigenwise-toolshed toolshed-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/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/quartermaster/skills/toolshed-doctor .claude/skills/toolshed-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
toolshed-doctor
GitHub stars
278
Token cost
~1.7k tokens
SKILL.md length
765 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Run a read-only health check for Quartermaster and installed Toolshed plugins.

  • Diagnose Toolshed
  • SKILL.md covers Observability, when that…, Agent teams and Codex auto-compact window
  • Calls node
  • Check workspace health

What it does

Toolshed Doctor is an agent skill from Eigenwise/eigenwise-toolshed. Run a read-only health check for Quartermaster and installed Toolshed plugins. Use to diagnose Toolshed, check workspace health, or troubleshoot stale plugins.

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

It sits in DevOps & Cloud. The repository describes itself as: Six Claude Code plugins for the work that keeps coming back: repo maps, conditional rules, ticketed parallel work, extra subscription models, local usage metrics, and guided setup. The licence is MIT.

When your agent uses it

  • Diagnose Toolshed
  • Check workspace health
  • Troubleshoot stale plugins

Example prompts

  • “/toolshed-doctor”

Requirements

  • Docker

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • node

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

  • Network

    No URLs in SKILL.md.

    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

Toolshed Doctor loads about 1.7k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 765 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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 Eigenwise/eigenwise-toolshed at commit cc5e2e5, republished under its MIT licence (© Eigenwise). 765 words, ~1,668 tokens.

Download SKILL.mdSave it as .claude/skills/toolshed-doctor/SKILL.md (or your agent's skills folder).
name
toolshed-doctor
description
Run a read-only health check for Quartermaster and installed Toolshed plugins. Use to diagnose Toolshed, check workspace health, or troubleshoot stale plugins.

Toolshed Doctor

Run the updater in check mode first. It only reads the installed-plugin registry and runs the Codex gateway health check when that plugin is installed:

sh
node "${CLAUDE_PLUGIN_ROOT}/bin/update-toolshed.js" --check

Then run the same read-only session health audit used at startup:

sh
node -e "const { audit } = require(process.env.CLAUDE_PLUGIN_ROOT + '/hooks/session-start-freshness.js'); const result = audit({ currentProject: process.cwd() }); console.log(JSON.stringify({ problems: result.problems, boards: result.mappings, staleProcesses: result.staleProcesses }, null, 2));"

For Model Gateway, report the audit finding exactly. It distinguishes a missing checker, a spawn error, a three-second startup timeout, a nonzero doctor result, and empty output. A nonzero doctor result includes one bounded, secret-filtered diagnostic line and is never a missing-checker finding. The SessionStart warning uses the same cause in compact form. These checks only report observed health; do not call the gateway healthy because a later command happened to pass.

An enabledPlugins entry only selects an installed plugin. If the audit says a plugin's hooks are not running, that settings file enables a plugin with no matching install row. Offer to install it at the reported project or user scope, or remove the dead enabledPlugins entry from the named file. Do not call that plugin configured or healthy until one of those actions is complete.

When staleProcesses has rows, report each PID, start time, and stale worktree path. They are read-only findings: do not kill any process from the doctor.

Observability, when that plugin is installed

Telemetry lives in the separate Observability plugin. Its files are under a different plugin root, so resolve that root first and skip this whole section when the plugin is absent:

sh
node -e "const fs=require('node:fs'),os=require('node:os'),path=require('node:path');const reg=JSON.parse(fs.readFileSync(path.join(os.homedir(),'.claude','plugins','installed_plugins.json'),'utf8'));const installs=reg?.plugins?.['observability@eigenwise-toolshed']||[];const hit=installs.map(i=>i?.installPath).filter(Boolean).find(p=>fs.existsSync(path.join(p,'bin','setup-observability.js')));console.log(hit||'');"

An empty result means observability is not installed. Say so in one line and move on. Otherwise use that path as <OBS_ROOT> in the commands below.

Read the consent/config record and report the managed observability health. This command is read-only and uses the configured ports/container:

sh
node "<OBS_ROOT>/lib/observability/ensure.js" --health

If it reports configured: false, observability was never consented to and needs no repair. If it reports enabled: false, say it is deliberately disabled. For an enabled record, report observer health, Collector listening state, selected sink, configured ports, dashboard/Docker state, and the storage block. Treat a listening observer with a failed /health response as unhealthy, and a configured dashboard without Docker as optional/unavailable rather than a pipeline failure.

Report storage.overDatabaseLimit: true or storage.overWalLimit: true as a real finding with the two byte counts, not as a note. Over the database limit means retention pruning alone cannot get back under the cap, so the file can keep growing; the managed prune drops the oldest days and uses incremental vacuum. Do not describe this as a blocking full VACUUM, and do not predict its duration from the current file size.

When the observer is healthy, audit project attribution. Hook events reach the observer from any directory, but the claude_code_* metrics only exist where Claude Code found the telemetry env in the settings of the directory the session started in. A project with observer events and no native samples in the same window is half-wired, and its dashboard reads empty rather than broken. This command is read-only:

Show full SKILL.md (280 more words)Show less
sh
node "<OBS_ROOT>/bin/verify-project-telemetry.js" --audit --project "<absolute-current-project-dir>"

Report every UNWIRED session directory by name, every half-wired: line, and the printed fix: command verbatim, adding that each affected session has to restart before its metrics appear. native-samples=unknown means Grafana was unreachable or unconfigured, so say the check could not run instead of calling it healthy. A not opted in: line is a hint, not a fault: those project names never opted in.

Then run the local report too:

sh
node "<OBS_ROOT>/bin/token-usage-report.js" --format json

From the JSON report, call out outbox queue depth/capacity, drops, schema drops, telemetry conflicts, sessions missing SessionEnd, and the newest event/source. The SessionStart ensure hook repairs stopped managed processes on the next startup/resume; if immediate repair is requested, rerun /observability:enable-project-telemetry and keep the current observability choices.

Agent teams

Check whether a project-level env block masks the global agent-teams setting. This is read-only and prints nothing when the project has no env block or already enables teams:

sh
node -e "const { agentTeamsWarning } = require(process.env.CLAUDE_PLUGIN_ROOT + '/lib/project-settings.js'); const warning = agentTeamsWarning(process.cwd()); if (warning) console.log(warning);"

If it prints a warning, report it with the one-line remedy verbatim. Do not fix it from the doctor.

Codex auto-compact window

Check the effective autoCompactWindow from user and project settings. This is read-only; the project setting wins when both files set the key:

sh
node -e "const { compactionWindowFinding } = require(process.env.CLAUDE_PLUGIN_ROOT + '/lib/project-settings.js'); console.log(compactionWindowFinding(process.cwd()));"

Report the one-line finding verbatim. When the key is unset, it advises the optional setting "autoCompactWindow": 325000 in the named user settings file for a consistent 292000-token trigger instead of a model-dependent compaction point. Do not write or offer to fix it from the doctor.

Report all results together. Explain each concrete problem and give the smallest next step. This skill does not update, install, uninstall, reload, or edit anything. If freshness is proven stale, tell the user to run /quartermaster:update-toolshed, then /reload-plugins or restart before retrying the blocked work.

© Eigenwise, 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 plugins/quartermaster/skills/toolshed-doctor of Eigenwise/eigenwise-toolshed.

Open the folder on GitHubat commit cc5e2e5

Compare with similar skills

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

Toolshed Doctor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Toolshed Doctor this skillEigenwise/eigenwise-toolshed278—~1.7kAutomated safety check: PassMIT
Monitor CInrwl/nx29k6 repos~4.7kAutomated safety check: PassMIT
Terraform and OpenTofu Guideagentscope-ai/QwenPaw36k6 repos~4.2kAutomated safety check: PassApache-2.0
Vercel Optimize Auditvercel-labs/agent-skills32k8 repos~4.3kAutomated safety check: PassNone
Analyze GitHub Action Logswithastro/astro63k1 repos~1.3kAutomated safety check: PassCustom licence
Openclaw Live Updateropenclaw/openclaw392k—~3.7kAutomated safety check: PassMIT

Similar skills

  • Monitor CI

    nrwl/nx

    Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.

    29k GitHub starsUsed in 6 repos~4.7k tokens
    DevOps & CloudAuto-check passed
  • Terraform and OpenTofu Guide

    agentscope-ai/QwenPaw

    Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.

    36k GitHub starsUsed in 6 repos~4.2k tokens
    DevOps & CloudAuto-check passed
  • Vercel Optimize Audit

    vercel-labs/agent-skills

    Official

    Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.

    32k GitHub starsUsed in 8 repos~4.3k tokens
    DevOps & CloudAuto-check passed
  • Official

    Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.

    63k GitHub starsUsed in 1 repo~1.3k tokens
    DevOps & CloudAuto-check passed
  • Openclaw Live Updater

    openclaw/openclaw

    Maintain the canonical live OpenClaw main checkout, macOS LaunchAgent-managed Gateway, local macOS app, exact-head main CI, and recurring full release validation.

    392k GitHub stars~3.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Docs Learn PR Preview

    netdata/netdata

    Use only when the user explicitly asks to build, run, preview, inspect, or validate learn.netdata.cloud locally using the contents of a PR or documentation branch before merge.

    81k GitHub stars~2k tokensUpdated today
    DevOps & CloudAuto-check passed

More from Eigenwise/eigenwise-toolshed

All 14 skills in this repo
  • Add Rule

    Eigenwise/eigenwise-toolshed

    Create or edit a live-rules instruction in the project's atomic rule set.

    278 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Map Codebase

    Eigenwise/eigenwise-toolshed

    Create a self-maintaining codebase map in .claude/.codebase-info/.

    278 GitHub stars~4.2k tokensUpdated yesterday
    Auto-check passed
  • Setup

    Eigenwise/eigenwise-toolshed

    Set up a Claude Code workspace for a new or existing project, informed by hindsight from the user's whole session history.

    278 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Groom

    Eigenwise/eigenwise-toolshed

    Audit a Sidequest board for completed, stale, duplicate, or superseded tickets, then safely close clear cases.

    278 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Manage Rules

    Eigenwise/eigenwise-toolshed

    Inspect, audit, enable, or disable project live-rules. An agent skill from Eigenwise/eigenwise-toolshed.

    278 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Enable Project Telemetry

    Eigenwise/eigenwise-toolshed

    Opt the current project into local Claude Code usage telemetry, or verify its setup.

    278 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check: warnings

Categories

Questions about Toolshed Doctor

What does Toolshed Doctor do?

Run a read-only health check for Quartermaster and installed Toolshed plugins. Toolshed Doctor is an agent skill from Eigenwise/eigenwise-toolshed. Run a read-only health check for Quartermaster and installed Toolshed plugins.

When should I use Toolshed Doctor?

Toolshed Doctor fits situations like: diagnose Toolshed; check workspace health; troubleshoot stale plugins.

How do I install Toolshed Doctor in Claude Code?

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

How do I install Toolshed Doctor in Codex?

Run `npx skills add Eigenwise/eigenwise-toolshed --skill toolshed-doctor -a codex`. Or copy the skill folder (plugins/quartermaster/skills/toolshed-doctor in Eigenwise/eigenwise-toolshed) into .agents/skills/toolshed-doctor in your project. Codex loads it when a task matches its description.

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

What does Toolshed Doctor need to run?

Going by SKILL.md and its folder, Toolshed Doctor needs the command-line tools its instructions call (node). Our summary lists: Docker.

Does Toolshed Doctor access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Toolshed Doctor safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Toolshed Doctor use?

Toolshed 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 Toolshed Doctor use?

About 1.7k tokens (SKILL.md is roughly 6.7k 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 Toolshed Doctor?

Skills that share tags, products or a category with Toolshed Doctor: Monitor CI (nrwl/nx, 29k stars), Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 36k stars), Vercel Optimize Audit (vercel-labs/agent-skills, 32k stars) and Analyze GitHub Action Logs (withastro/astro, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Toolshed Doctor?

Eigenwise (a GitHub user) maintains it in Eigenwise/eigenwise-toolshed, which has 278 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 8, 2026.

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