skill-doctor
Skill Doctor diagnoses why skills fail to load silently in OpenClaw by checking YAML parsing, required fields, path conventions, cron expressions, and state schema validity. Use it after installing or upgrading skills, when expected skills are missing from the registry, or as a post-install validation step to catch configuration problems before they create invisible gaps in skill availability.
git clone --depth 1 https://github.com/ArchieIndian/openclaw-superpowers /tmp/skill-doctor && cp -r /tmp/skill-doctor/skills/openclaw-native/skill-doctor ~/.claude/skills/skill-doctorSKILL.md
# Skill Doctor ## What it does OpenClaw loads skills at startup. When a skill fails to load — corrupt frontmatter, bad cron expression, mismatched STATE_SCHEMA — it silently disappears from the registry. There is no error surfaced to the agent. Skill Doctor runs a full diagnostic pass over all installed skills and reports every failure that would cause silent non-loading, so you can fix problems before they become invisible gaps. ## When to invoke - After installing new skills or upgrading openclaw-superpowers - When a skill you expect to find is missing from the registry - As a post-install gate inside `install.sh` - Manually, any time something feels off with skill behaviour ## Diagnostic checks Skill Doctor runs 6 checks per skill: | Check | Failure condition | |---|---| | YAML parse | Frontmatter cannot be parsed by a YAML parser | | Required fields | `name` or `description` absent from frontmatter | | Path conventions | Skill directory name does not match `name:` field | | Cron format | `cron:` present but not a valid 5-field cron expression | | Stateful coherence | `stateful: true` but `STATE_SCHEMA.yaml` missing | | Schema validity | `STATE_SCHEMA.yaml` present but missing `version:` or `fields:` | ## Output levels - **PASS** — skill will load correctly - **WARN** — skill loads but has a non-critical issue (e.g. schema present but `stateful:` missing) - **FAIL** — skill will not load; must fix before use ## How to use ``` python3 doctor.py --scan # Full diagnostic pass python3 doctor.py --scan --only-failures # Show FAILs only python3 doctor.py --scan --skill cron-hygiene # Single skill python3 doctor.py --fix-hint cron-hygiene # Print actionable fix suggestion python3 doctor.py --status # Summary of last scan python3 doctor.py --format json # Machine-readable output ``` ## Procedure **Step 1 — Run the scan** ``` python3 doctor.py --scan ``` Review the output. Each skill gets a one-line verdict: PASS / WARN / FAIL. **Step 2 — Triage FAILs first** For each FAIL, run `--fix-hint <skill-name>` to get an actionable repair suggestion. Skill Doctor never modifies skill files itself — it tells you exactly what to change. **Step 3 — Review WARNs** WARNs do not block loading but indicate drift from conventions. Common WARN: `STATE_SCHEMA.yaml` exists without `stateful: true` in frontmatter. Fix by adding the frontmatter field. **Step 4 — Re-scan to confirm** After applying fixes, re-run `--scan` and verify no FAILs remain. **Step 5 — Write scan result to state** After a clean pass, the scan summary is automatically written to state. Use `--status` in future sessions to surface the last known health without re-scanning. ## State Skill Doctor persists scan results in `~/.openclaw/skill-state/skill-doctor/state.yaml`. Fields: `last_scan_at`, `skills_scanned`, `fail_count`, `warn_count`, `violations` list. After a clean install, `fail_count` and `warn_count` should both be 0. ## Integration Add to the end of `install.sh`: ```bash echo "Running Skill Doctor post-install check..." python3 ~/.openclaw/extensions/superpowers/skills/openclaw-native/skill-doctor/doctor.py --scan --only-failures ``` This surfaces any broken skills immediately after install rather than letting them silently disappear.
Syncs agent daily memory and MEMORY.md to an Obsidian vault so notes are human-browsable. Use nightly or on demand.
Structured ideation before any implementation. Use when starting any non-trivial task.
Scaffolds and validates new superpowers skills. Use when creating a new skill for this repository.
Executes plans task-by-task with verification. Use when implementing a plan.
Triggers a secondary verification pass for any agent output containing factual claims, numbers, dates, or named entities before the output is acted on
Crawls a new codebase to infer stack, conventions, and key invariants, then generates a PROJECT.md context file for the agent
Handles PR review feedback by fetching comments, grouping issues, fixing one group at a time, and verifying before replies.
Detects skill name shadowing and description-overlap conflicts that cause OpenClaw to trigger the wrong skill or silently ignore one when two skills compete for the same intent.