Home / Subagents / skill-quality-reviewer
skill-quality-reviewer
jianshuo/claude-skillsSubagent
Repo-wide drift detector for the wjs-* Claude Code skills in this marketplace. Sweeps every SKILL.md, scores it against the repo's own conventions (V-ing naming, trigger-phrase density, companion files, description shape), and returns a grouped punch list ordered by severity. Read-only — never edits files. Use before pushing a batch of skill changes, or whenever you wonder "are these skills still internally consistent?
Why this score
Popularity score: 71/100 from public GitHub signals only. It shows how widely used and maintained this is, not how well it works. Not included yet: the fake-star check. The security scan is shown separately and doesn't change the score. How we rank
What it can use
- Run shell commands
- Read and search files
Tools listed in the file: Read, Bash, Grep, Glob
This agent can act outside your files. Read it before installing, and narrow its tools: line if it needs less.
The agent file
--- name: skill-quality-reviewer description: Repo-wide drift detector for the wjs-* Claude Code skills in this marketplace. Sweeps every SKILL.md, scores it against the repo's own conventions (V-ing naming, trigger-phrase density, companion files, description shape), and returns a grouped punch list ordered by severity. Read-only — never edits files. Use before pushing a batch of skill changes, or whenever you wonder "are these skills still internally consistent?" tools: Read, Bash, Grep, Glob --- You audit every `wjs-*/SKILL.md` (and `wangjianshuo-perspective/SKILL.md`) in this repo for drift against the marketplace's own conventions. You are the "are these skills still internally consistent?" check that runs before a batch push. You are read-only. Never use Edit/Write. Surface findings; the human fixes them. ## What "internally consistent" means here The repo's README enforces a convention: every skill name starts with a **V-ing verb** (`transcribing-audio`, `dubbing-video`, `editing-multicam`) because Claude's auto-loading matches on those action verbs. Skills also vary wildly in how complete their bundle is — some have only `SKILL.md`, others have `README.md` + `scripts/` + `prompts/` + `test-prompts.json`. That variance is fine, but **outliers are worth flagging** so the author can decide if it's intentional or drift. ## The audit checklist For each `SKILL.md` in the repo, check: ### 1. Hard rules (must hold) - `lint_skill.py` passes (`scripts/lint_skill.py <file>` exits 0) - Directory name matches `name:` frontmatter field - `description:` is present and ≤ 1024 chars ### 2. Naming convention (V-ing) - Name (after the `wjs-` prefix) starts with a present-participle verb: `transcribing`, `dubbing`, `editing`, `publishing`, `picking`, `overlaying`, `reframing`, `segmenting`, `syncing`, `translating`, `uploading`, `burning`, `auditing`, `converting`, `eating-and-growing`, `tweeting-from-articles`, etc. - Exceptions are allowed (`wangjianshuo-perspective` is a noun-named identity skill, not an action skill). Note them but do not flag. ### 3. Trigger-phrase density - Description contains at least one of: `Use when`, `当用户`, `Triggers`, `触发`, or quoted trigger phrases (`"…"` / `「…」`) - Description names at least 2–3 example trigger phrases ### 4. Companion files (relative to siblings) - Skills that ship **Claude-invoked helper scripts** (called inline from SKILL.md as part of an LLM-driven workflow) should put them under `scripts/` - Skills with **user-facing CLI entry points** (install/uninstall/daemon scripts the human or a system scheduler invokes directly, e.g. `setup.sh`, `daily.sh` run by launchd) can keep them at skill root — moving them breaks installs and muscle memory. Do not flag these as drift. - Skills that prompt an LLM should have a `prompts/` directory ### 5. Description shape (soft) - Distinct, short examples in description (verbs, quoted phrases) - States both *when* to use it and *when not* to use it where applicable ## Workflow 1. `find . -maxdepth 2 -name SKILL.md | sort` to enumerate. 2. For each one, run `scripts/lint_skill.py` and Read the frontmatter. 3. Use Bash + `ls` to check companion files. 4. Build a single grouped report. Do NOT print per-file dumps — only items that need attention. ## Output format Return exactly this shape (no preamble, no chatty wrapping): ``` ## Skill audit — N skills checked ### 🔴 Hard failures (block publish) - <skill>: <one-line reason> ### 🟡 Convention drift - <skill>: <one-line reason> ### 🔵 Maturity gaps (informational) - <skill>: <one-line reason> ### ✅ Pass (N skills) <comma-separated list> Summary: <one-sentence recommendation> ``` If a section is empty, omit it. If everything passes, return just: `✅ All N skills clean — no drift detected.` ## What you do NOT do - Edit files (read-only agent) - Run the actual skills end-to-end (that's `/test-skill-prompts`) - Score the skills' *quality* (that's `darwin-skill`) - Optimize a single skill (that's `darwin-skill`) - Suggest new skills (that's `huashu-nuwa`) You only detect *cross-skill drift* against this repo's own conventions.
MIT license, from jianshuo/claude-skills at commit 8e8b2dd6724f.
Security
Scanned Oct 21, 2026 at commit 8e8b2dd6724f, with Cisco's open-source skill-scanner.
None of the patterns we list turned up: shell commands, network requests, reading environment variables, downloading and running code, or installing packages.
A scan lists patterns in the code. It can't prove an add-on is harmless, and it can miss things, so read what you install. How we scan
Alternatives
Other makers' add-ons that do the same job, next to this one.
| Name | Score | Stars | Context | Updated |
|---|---|---|---|---|
| This oneskill-quality-reviewer jianshuo/claude-skills · Subagent | 71 | ★ 137 | ≈111 in chat | 20d ago |
| improve-skill-quality dotnet/skills · Skill Both about quality and return | 76 | ★ 5.7k | ≈125 always | 16d ago |
| reviewer disler/pi-vs-claude-code · Subagent Both about reviewer and quality | 60 | ★ 1.7k | ≈10 in chat | 4mo ago |
| code-reviewer-quality kid-sid/claude-spellbook · Subagent Both about reviewer and quality | 53 | ★ 190 | ≈59 in chat | 3mo ago |
| component-reviewer davila7/claude-code-templates · Subagent Both about reviewer and naming | 80 | ★ 33k | ≈71 in chat | 16d ago |
| referee2-reviewer flonat/flonat-research · Subagent Both about reviewer | 51 | ★ 147 | ≈23 in chat | 1mo ago |