Monitor CI
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
Run a read-only health check for Quartermaster and installed Toolshed plugins.
$ npx skills add Eigenwise/eigenwise-toolshed --skill toolshed-doctor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Eigenwise/eigenwise-toolshed toolshed-doctor --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "toolshed-doctor" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/quartermaster/skills/toolshed-doctor into .claude/skills/toolshed-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "toolshed-doctor", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/quartermaster/skills/toolshed-doctorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Eigenwise/eigenwise-toolshed --skill toolshed-doctor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Eigenwise/eigenwise-toolshed toolshed-doctor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/quartermaster/skills/toolshed-doctor .agents/skills/toolshed-doctor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "toolshed-doctor" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/quartermaster/skills/toolshed-doctor into .agents/skills/toolshed-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "toolshed-doctor", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Eigenwise/eigenwise-toolshed --skill toolshed-doctor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Eigenwise/eigenwise-toolshed toolshed-doctor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/quartermaster/skills/toolshed-doctor .cursor/skills/toolshed-doctor && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "toolshed-doctor" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/quartermaster/skills/toolshed-doctor into .cursor/skills/toolshed-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "toolshed-doctor", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Eigenwise/eigenwise-toolshed.git --path plugins/quartermaster/skills/toolshed-doctor--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Eigenwise/eigenwise-toolshed --skill toolshed-doctor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Eigenwise/eigenwise-toolshed toolshed-doctor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/quartermaster/skills/toolshed-doctor .gemini/skills/toolshed-doctor && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "toolshed-doctor" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/quartermaster/skills/toolshed-doctor into .gemini/skills/toolshed-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "toolshed-doctor", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Eigenwise/eigenwise-toolshed toolshed-doctorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Eigenwise/eigenwise-toolshed --skill toolshed-doctor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/quartermaster/skills/toolshed-doctor .github/skills/toolshed-doctor && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "toolshed-doctor" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/quartermaster/skills/toolshed-doctor into .github/skills/toolshed-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "toolshed-doctor", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Eigenwise/eigenwise-toolshed --skill toolshed-doctor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Eigenwise/eigenwise-toolshed toolshed-doctor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Eigenwise/eigenwise-toolshed.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/quartermaster/skills/toolshed-doctor .opencode/skills/toolshed-doctor && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "toolshed-doctor" agent skill from https://github.com/Eigenwise/eigenwise-toolshed/tree/main/plugins/quartermaster/skills/toolshed-doctor into .opencode/skills/toolshed-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "toolshed-doctor", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
toolshed-doctorRun 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. 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.
Read from SKILL.md and the folder at commit cc5e2e5. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from Eigenwise/eigenwise-toolshed at commit cc5e2e5, republished under its MIT licence (© Eigenwise). 765 words, ~1,668 tokens.
.claude/skills/toolshed-doctor/SKILL.md (or your agent's skills folder).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:
node "${CLAUDE_PLUGIN_ROOT}/bin/update-toolshed.js" --checkThen run the same read-only session health audit used at startup:
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.
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:
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:
node "<OBS_ROOT>/lib/observability/ensure.js" --healthIf 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:
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:
node "<OBS_ROOT>/bin/token-usage-report.js" --format jsonFrom 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.
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:
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.
Check the effective autoCompactWindow from user and project settings. This is read-only; the project
setting wins when both files set the key:
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
Just SKILL.md in plugins/quartermaster/skills/toolshed-doctor of Eigenwise/eigenwise-toolshed.
Open the folder on GitHubat commit cc5e2e5
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Toolshed Doctor this skillEigenwise/eigenwise-toolshed | 278 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Monitor CInrwl/nx | 29k | 6 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Terraform and OpenTofu Guideagentscope-ai/QwenPaw | 36k | 6 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Vercel Optimize Auditvercel-labs/agent-skills | 32k | 8 repos | ~4.3k | Automated safety check: Pass | None | |
| Analyze GitHub Action Logswithastro/astro | 63k | 1 repos | ~1.3k | Automated safety check: Pass | Custom licence | |
| Openclaw Live Updateropenclaw/openclaw | 392k | — | ~3.7k | Automated safety check: Pass | MIT |
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
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.
vercel-labs/agent-skills
Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.
withastro/astro
Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.
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.
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.
Eigenwise/eigenwise-toolshed
Create or edit a live-rules instruction in the project's atomic rule set.
Eigenwise/eigenwise-toolshed
Create a self-maintaining codebase map in .claude/.codebase-info/.
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.
Eigenwise/eigenwise-toolshed
Audit a Sidequest board for completed, stale, duplicate, or superseded tickets, then safely close clear cases.
Eigenwise/eigenwise-toolshed
Inspect, audit, enable, or disable project live-rules. An agent skill from Eigenwise/eigenwise-toolshed.
Eigenwise/eigenwise-toolshed
Opt the current project into local Claude Code usage telemetry, or verify its setup.
Categories
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.
Toolshed Doctor fits situations like: diagnose Toolshed; check workspace health; troubleshoot stale plugins.
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.
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.
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.
Going by SKILL.md and its folder, Toolshed Doctor needs the command-line tools its instructions call (node). Our summary lists: Docker.
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.
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.
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.
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.
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.
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.