From skillforge
Batch-evaluates all skills in a repo using skill-forge-judge and renders a consolidated grade report sorted worst-first to prioritize improvement effort.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skillforge:skill-forge-auditThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Batch-run skill-forge-judge across every skill in the repo. One consolidated report — grades, top issues, priority order. Read-only: no fixes applied.
Batch-run skill-forge-judge across every skill in the repo. One consolidated report — grades, top issues, priority order. Read-only: no fixes applied.
Requires skill-forge-judge to be installed.
No references/ — this skill is single-file by design; the whole workflow fits in the body, so the absent directory is intentional, not missing progressive disclosure.
Glob for all SKILL.md files, run from the repo root. Skills live one level deep under skills/:
pattern: skills/*/SKILL.md
Collect the directory name of each match — that's the skill name.
To detect skipped directories: also Glob skills/*/ to list every skill directory. Any directory in the skills/*/ result that is not in the skills/*/SKILL.md result has no SKILL.md — list it in the Skipped section of the report with reason "No SKILL.md found".
If zero SKILL.md files found: output "No skills found in this repo." and stop.
For each discovered skill, in order:
/skill-forge-judge on it.Emit a one-line status per skill as each evaluation completes — do not wait until all are done:
✓ skill-forge-create B (98/120, 82%)
✓ skill-forge-hitl C (90/120, 75%)
If /skill-forge-judge is not installed: output "skill-forge-judge is required — install it before running skill-forge-audit." and stop.
If N > 10: output "About to run N skill-forge-judge evaluations — this may take several minutes. Proceed? (y/n)" and stop if denied.
If a skill's judge run errors: record ERR and the error message for that skill; continue to the next skill. Do not abort the audit.
Before rendering, ask: does every layout decision put highest-priority work at the top? If the Needs Work section is empty, lead with a one-sentence "All skills passing" summary instead of an empty header.
Sort results by grade ascending: F → D → C → B → A. Worst grades appear first — the report is a priority queue, not an alphabetical list.
Split skills into two groups:
For the <YYYY-MM-DD> report header, use the current date already present in the session context — do not shell out for it ($(date) and command substitution trigger a permission prompt under this repo's bash rules).
Output a single markdown report:
# Skill Forge Audit
_<YYYY-MM-DD> — <N> skills evaluated_
## Grade Summary
| Skill | Grade | Score |
|-------|-------|-------|
| skill-forge-X | F | 55/120 (46%) |
| skill-forge-Y | C | 78/120 (65%) |
| skill-forge-Z | B | 98/120 (82%) |
## Needs Work
### skill-forge-X — F (55/120, 46%)
1. <improvement 1 from judge>
2. <improvement 2>
3. <improvement 3>
### skill-forge-Y — C (78/120, 65%)
1. <improvement 1>
2. <improvement 2>
## Passing (B+)
| Skill | Grade | Score |
|-------|-------|-------|
| skill-forge-Z | B | 98/120 (82%) |
## Skipped
| Directory | Reason |
|-----------|--------|
| some-dir | No SKILL.md found |
If all skills pass: omit the "Needs Work" section entirely. If no skills pass: omit the "Passing" section. If nothing was skipped: omit the "Skipped" section.
NEVER display full judge reports inline for each skill Instead: Extract only grade, score, and top 1–5 numbered improvements per skill. Why: Unfiltered judge output for 6+ skills floods the context window and buries the aggregate signal the report exists to surface.
NEVER apply any fixes during an audit run
Instead: Output the report only. Direct the user to /skill-forge-hitl or /skill-forge-update for remediation.
Why: Mixing diagnosis with treatment makes it impossible to know what the baseline was — the audit's value is the before-state snapshot.
NEVER sort by skill name or alphabetically Instead: Sort by grade ascending (F first, A last) within each section. Why: Alphabetical sort buries the worst skills; the report's job is to surface where effort is needed most.
NEVER read SKILL.md files via ~/.claude/skills/ paths
Instead: Use the absolute path to the skills project directory (the repo root where this audit runs).
Why: ~/.claude/skills/ is a symlink back to the project; Claude Code's permission system fires on symlink traversal and interrupts the audit mid-run with a permission prompt.
NEVER abort the audit when a single skill errors
Instead: Record ERR for that skill and continue to the next one.
Why: A failed judge run on one skill should not discard results already collected for the others — partial results are more useful than none.
npx claudepluginhub wrathza/skillforge --plugin skillforgeAudits Claude Code skills by reading SKILL.md, references, scripts; evaluates 12 best-practice dimensions, scores 0-24, grades A-F, suggests top fixes, supports batch mode.
Audits and validates skill quality across clarity, completeness, accuracy, and usefulness dimensions with structured rubrics and scoring frameworks.
Audits single skill quality against 8 Anthropic-derived categories: preparation, progression, verification, scripts, examples, anti-patterns, references, assets. Scores completeness, generates .claude/audits/ report for marketplace readiness and improvement.