abpai/harness-doctor/doctor-explain
- community
Checking that the SKILL.md file is still in the repository.
Explain Harness Doctor rules and configure which ones run via harness.config.* (or package.json#harnessDoctor). Use when the user types `/doctor-explain` or `/doctor-config`, asks why a rule fired, disagrees with a rule, wants to disable/enable a rule, silence a category or tag, tune CI/PR noise, or asks "what does this rule mean". Covers the `harness-doctor rules` CLI (list, explain, set, enable, disable, category, ignore-tag) and how config layers combine: ignore.tags drops every diagnostic from rules carrying the tag, rules over categories sets severity, surfaces controls visibility only.
Install
npx vskill@latest install abpai/harness-doctor/doctor-explainSKILL.md
Doctor Explain
Explains Harness Doctor rules and edits harness.config.* safely. Use this when a user wants to understand a rule or change which rules run — not for fixing diagnostics (that is the harness-doctor skill / /doctor).
Triggers: /doctor-explain, /doctor-config, "why did this rule fire", "I disagree with this rule", "turn this rule off", "stop flagging X", "too noisy", "disable design rules".
Workflow
- Identify the rule key from the diagnostic (e.g.
harness-doctor/docs-structure/spec-contract-exists). - Explain it before changing anything:
- Pick the narrowest control that matches the user's intent (see decision guide).
- Apply it with a
rulessubcommand (edits yourharness.config.*orpackage.json#harnessDoctorin place, preserving other fields and formatting). - Validate the change did what they wanted:
Commands
Rule references accept the full key (harness-doctor/docs-structure/spec-contract-exists) or the bare id (docs-structure/spec-contract-exists).
Decision guide
Match the control to the intent — prefer the narrowest one:
- User disagrees with one rule / it's a false positive for them →
rules disable <rule>(setsrules.<key> = "off"; the rule stops running everywhere). This is the default for "I don't want this rule". - Rule is fine but wrong severity →
rules set <rule> warnorrules set <rule> error. - A disabled-by-default rule they want on →
rules enable <rule>. - A whole area is unwanted (e.g. all Maintainability rules) →
rules category "<Category>" off. - A behavioral family is noisy (e.g.
docs,dead-code,supply-chain) →rules ignore-tag <tag>. - Keep it locally but hide from PR comment / score / CI gate only → do NOT disable. Edit
surfacesin your config (surfaces.prComment.excludeRules,surfaces.score.excludeTags,surfaces.ciFailure.excludeCategories). The rule still shows in localclioutput.
How the layers combine: ignore.tags drops every diagnostic from rules carrying that tag, so a tagged rule stays silent even if rules/categories set it to warn/error (a rule-level override cannot re-enable a tag-ignored rule). For rules that aren't tag-disabled, rules overrides categories overrides the rule's default. surfaces is visibility-only and never changes whether a rule runs.
Config shape
Config lives in harness.config.ts (or .js/.mjs/.cjs/.json/.jsonc), or the harnessDoctor key in package.json. The rules commands edit whichever exists — TS/JS edits preserve formatting (via magicast) — and create harness.config.json when none does, stamping $schema:
Educating the user
When explaining a rule, lead with the "Why it matters" guidance from rules explain (it works offline and is the source of truth). Only after they understand it should you offer to disable it — many "bad" rules are catching real issues.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/doctor-explain/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/abpai/harness-doctor/doctor-explain)