skill-doctor

Scans the skills folder for new, unused, or missing dependencies; fixes requirements.txt; and tests a skill in or out of sandbox.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "skill-doctor" with this command: npx skills add RuneweaverStudios/skill-doctor

Skill Doctor | OpenClaw Skill

Scans workspace/skills (or a given folder) to detect missing and unused Python dependencies, can fix requirements.txt (add missing, optionally remove unused), and can test a skill using the skill-tester in sandbox (default) or no-sandbox mode.

Description

  • Scan: For each skill, finds all Python files under the skill and its scripts/ folder, extracts top-level imports, and compares them to requirements.txt. Reports:
    • Missing: Imported but not listed in requirements (suggests adding).
    • Unused: Listed in requirements but not imported (suggests removing).
  • Fix: Adds missing packages to requirements.txt and/or removes unused ones (--fix-unused).
  • Test: Runs the skill-tester for the given skill. Use --no-sandbox to run tests with full environment (e.g. network); default runs in sandbox.

Stdlib modules and local modules (same skill’s .py files) are excluded from “missing”.

Installation

clawhub install skill-doctor

Or clone into your skills directory:

git clone https://github.com/Org/skill-doctor.git workspace/skills/skill-doctor

Usage

# Scan all skills (or default: scan)
python3 workspace/skills/skill-doctor/scripts/skill_doctor.py

# Scan one skill
python3 workspace/skills/skill-doctor/scripts/skill_doctor.py --skill SUBAGENT-DASHBOARD --scan

# Fix: add missing deps to requirements.txt
python3 workspace/skills/skill-doctor/scripts/skill_doctor.py --skill MY-SKILL --fix

# Fix: add missing and remove unused
python3 workspace/skills/skill-doctor/scripts/skill_doctor.py --skill MY-SKILL --fix --fix-unused

# Dry-run fix (report only)
python3 workspace/skills/skill-doctor/scripts/skill_doctor.py --skill MY-SKILL --fix --fix-unused --dry-run

# Test skill (sandbox)
python3 workspace/skills/skill-doctor/scripts/skill_doctor.py --skill gateway-guard --test

# Test skill (no sandbox: full env)
python3 workspace/skills/skill-doctor/scripts/skill_doctor.py --skill gateway-guard --test --no-sandbox

# JSON output
python3 workspace/skills/skill-doctor/scripts/skill_doctor.py --scan --json
python3 workspace/skills/skill-doctor/scripts/skill_doctor.py --skill X --test --json

Commands

Command / flagsDescription
--scanScan skills and report missing/unused dependencies (default if no --fix/--test)
--skill SLUGLimit to one skill
--fixAdd missing packages to requirements.txt
--fix-unusedWith --fix, also remove unused packages
--dry-runWith --fix: only report what would be done
--testRun skill-tester for the skill
--no-sandboxRun tests with full env (no sandbox)
--timeout NTest timeout in seconds (default 60)
--jsonOutput JSON
--skills-dir PATHOverride skills root (default: workspace/skills)

What this skill does

  1. Discover skills — Finds dirs with SKILL.md or _meta.json under the skills folder.
  2. Parse Python — Uses ast to collect top-level import / import from names from all .py files in the skill and scripts/.
  3. Exclude stdlib and local — Ignores standard library modules and local modules (same skill’s file names).
  4. Map to pip — Maps import names to pip package names (e.g. bs4beautifulsoup4, yamlPyYAML).
  5. Compare — Compares required (from requirements.txt) vs needed (from imports); reports missing and unused.
  6. Fix — Writes requirements.txt: append missing packages; optionally remove unused lines.
  7. Test — Invokes skill-tester/scripts/skill_tester.py --skill SLUG --json. Sandbox vs no-sandbox is controlled by --no-sandbox and the OPENCLAW_DOCTOR_NO_SANDBOX env var for the test run.

Requirements

  • Python 3.7+
  • Optional: skill-tester for --test (must be present under workspace/skills/skill-tester).

Security & privacy

  • Reads: Skill directories and their .py and requirements.txt files.
  • Writes: Only requirements.txt when using --fix (and --fix-unused).
  • Test: Runs skill-tester in a subprocess; --no-sandbox means tests run with the current environment (e.g. network allowed).

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Sendflare

通过 Sendflare SDK 发送带附件的电子邮件,管理联系人列表,支持 CC/BCC 和安全 API 认证。

Registry SourceRecently Updated
General

Playtomic - Book courts using padel-tui

This skill should be used when the user asks to "book a padel court", "find available padel courts", "search padel courts near me", "reserve a Playtomic cour...

Registry SourceRecently Updated
General

Fund Keeper

国内场外基金智能顾问 + 股票行情查询。实时估值、买卖建议、收益统计、定投计划、OCR 识图、股票 - 基金联动。支持离线模式、多数据源缓存。

Registry SourceRecently Updated