From skillforge
Evaluates LLM prompts (SKILL.md, CLAUDE.md, system prompts, bash guidance) with dimensional scoring, letter grades, and a numbered improvement list. Triggers on review/audit requests.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skillforge:skill-forge-judgeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Evaluate any LLM-consumed prompt against quality standards, focused on knowledge delta, instruction clarity, and practical usability.
Evaluate any LLM-consumed prompt against quality standards, focused on knowledge delta, instruction clarity, and practical usability.
Good Prompt = Expert-only Knowledge − What Claude Already Knows
Restating defaults is token waste.
| Type | Definition | Treatment |
|---|---|---|
| Expert | Claude genuinely doesn't know this | Must keep — this is the value |
| Activation | Claude knows but may not think of | Keep if brief — serves as reminder |
| Redundant | Claude definitely knows this | Delete — wastes tokens |
Good prompt: >70% Expert, <20% Activation, <10% Redundant.
Dimensions are grouped. Universal dimensions always apply. Type-specific modules apply based on what the prompt is. Multiple groups can apply to a single prompt.
Final grade = total score / total applicable points (as %)
| Grade | % | Meaning |
|---|---|---|
| A | 90%+ | Excellent — production-ready |
| B | 80–89% | Good — minor improvements needed |
| C | 70–79% | Adequate — clear improvement path |
| D | 60–69% | Below average — significant issues |
| F | <60% | Poor — needs fundamental redesign |
MANDATORY — READ references/universal-dimensions.md
| ID | Dimension | Pts |
|---|---|---|
| U1 | Knowledge/Instruction Delta | 20 |
| U2 | Mindset + Procedures | 15 |
| U3 | Anti-Pattern Quality | 15 |
| U4 | Freedom Calibration | 15 |
| U5 | Practical Usability | 15 |
MANDATORY — READ references/skill-dimensions.md
| ID | Dimension | Pts |
|---|---|---|
| S1 | Specification Compliance | 15 |
| S2 | Progressive Disclosure | 15 |
| S3 | Pattern Recognition | 10 |
MANDATORY — READ references/claude-md-dimensions.md
| ID | Dimension | Pts |
|---|---|---|
| C1 | Behavioral Clarity | 15 |
| C2 | Scope Definition | 15 |
| C3 | Structural Organization | 10 |
MANDATORY — READ references/bash-dimensions.md
| ID | Dimension | Pts |
|---|---|---|
| B1 | Rule Specificity & WHY | 10 |
| B2 | Anti-Pattern Coverage | 10 |
| B3 | Scope & Exceptions | 10 |
Evaluator's Lens: Before reading the target, adopt this question: "Does Claude already know this?" — every section gets marked [E], [A], or [R] before scoring begins.
Read the target and identify which groups apply:
[ ] Is it a SKILL.md file? → Score U + S. Do NOT load claude-md-dimensions.md or bash-dimensions.md.
MANDATORY: Load agentskills spec via Spec Cache (below) before scoring S1.
[ ] Is it a CLAUDE.md / system prompt? → Score U + C. Do NOT load skill-dimensions.md.
[ ] Does it contain bash/shell rules? → Also score B. Load bash-dimensions.md.
[ ] Is it something else? → Score U only. Do NOT load any type-specific reference.
Multiple groups can apply (e.g. a CLAUDE.md with bash guidance → U + C + B).
Edge cases:
references/bash.md, not a root prompt) → U only; note "sub-file, not root prompt" in reportThe agentskills.io specification is cached daily so evaluations don't pay a network fetch on every run.
Cache dir: ~/.claude/tmp/
Filename: agentskills-spec-YYYY-MM-DD.md (today's date, e.g. agentskills-spec-2026-04-14.md)
1. Glob ~/.claude/tmp/agentskills-spec-<today>.md
2. If found → Read it — done.
3. If not → Bash: mkdir -p ~/.claude/tmp
WebFetch https://agentskills.io/specification
If WebFetch fails → score S1 from training knowledge; note "spec unavailable" in S1 Notes cell — done.
Write result to ~/.claude/tmp/agentskills-spec-<today>.md
Read the file — done.
Only fetch when the target is a SKILL.md (S1 scoring). Skip entirely for CLAUDE.md / system prompt / other evaluations.
Read completely. Mark each section [E] Expert | [A] Activation | [R] Redundant. Calculate E:A:R ratio — target >70% Expert.
Note prompt type(s), applicable groups, length, reference files, and loading/trigger mechanisms.
Before opening the rubric, ask: what does this section assume Claude doesn't already know?
Load the reference file for each applicable group. For each dimension: find specific evidence, assign score with one-line justification, note improvements if score < max.
If a reference file cannot be read, halt and report: [ERROR] Cannot score Group X — reference file not found: <path>. Do not proceed with that group.
Grade = (sum of scored dimensions) / (sum of applicable maxes) → apply grade scale.
# Prompt Evaluation Report: [Name]
## Executive Summary
[1–2 sentences max. Overall verdict + one top strength or weakness. No scores, no tables, no lists — prose only.]
## Summary
- **Type**: [Skill / CLAUDE.md / System Prompt / Other] + applicable groups
- **Score**: X / Y (Z%)
- **Grade**: [A/B/C/D/F]
- **Knowledge Ratio**: Expert:Activation:Redundant = X:Y:Z
- **Verdict**: [One sentence assessment]
## Group Scores
| Group | Score | Max | % |
|-------|-------|-----|---|
| U: Universal | | 80 | |
| S: Skill | | 40 | | ← if applicable
| C: CLAUDE.md | | 40 | | ← if applicable
| B: Bash/Shell | | 30 | | ← if applicable
| **Total** | | | |
## Dimension Scores
Include only rows for groups detected in Step 0. Omit rows for groups that don't apply.
| ID | Dimension | Score | Max | Notes |
|----|-----------|-------|-----|-------|
| U1 | Knowledge/Instruction Delta | | 20 | One-line justification + primary gap if score < max |
| U2 | Mindset + Procedures | | 15 | One-line justification + primary gap if score < max |
| U3 | Anti-Pattern Quality | | 15 | One-line justification + primary gap if score < max |
| U4 | Freedom Calibration | | 15 | One-line justification + primary gap if score < max |
| U5 | Practical Usability | | 15 | One-line justification + primary gap if score < max |
| S1 | Specification Compliance | | 15 | One-line justification + primary gap if score < max |
| S2 | Progressive Disclosure | | 15 | One-line justification + primary gap if score < max |
| S3 | Pattern Recognition | | 10 | One-line justification + primary gap if score < max |
| C1 | Behavioral Clarity | | 15 | One-line justification + primary gap if score < max |
| C2 | Scope Definition | | 15 | One-line justification + primary gap if score < max |
| C3 | Structural Organization | | 10 | One-line justification + primary gap if score < max |
| B1 | Rule Specificity & WHY | | 10 | One-line justification + primary gap if score < max |
| B2 | Anti-Pattern Coverage | | 10 | One-line justification + primary gap if score < max |
| B3 | Scope & Exceptions | | 10 | One-line justification + primary gap if score < max |
## Critical Issues
[Must-fix problems that significantly impact effectiveness]
## Detailed Analysis
[For each dimension scoring below 80%, provide:
- What's missing or problematic
- Specific evidence with line numbers
- Concrete suggestions for improvement]
## Numbered Improvements
1. [Highest impact improvement with specific guidance]
2. [Second priority]
3. ...
(skill-forge-hitl-compatible — invoke /skill-forge-hitl to step through each item.)
MANDATORY — READ references/failure-patterns.md
To add a new evaluation group, MANDATORY — READ references/extending-groups.md before proposing any new group. Do NOT load this file during a normal evaluation run.
skill-forge-judge can and should evaluate itself. The criteria must be self-consistent — if skill-forge-judge can't score well against its own rubric, the rubric is wrong.
Applicable groups: skill-forge-judge is a SKILL.md with no bash guidance → U + S (120 pts max).
Expected score: ≥B (80%+, ≥96/120). A score below B indicates the rubric has drifted from its own standards and the lowest-scoring dimensions should be revisited. A score of A (90%+) on self-evaluation is a warning sign — it may mean the criteria were written to fit the evaluator rather than the other way around.
Known limitation: self-evaluation can be gamed by writing criteria the evaluator happens to satisfy. When evaluating skill-forge-judge itself, pay extra attention to whether dimensions capture genuine expert knowledge vs. formalizing what any thoughtful evaluator would do anyway.
npx claudepluginhub wrathza/skillforge --plugin skillforgeEvaluates local skills across description quality, content organization, writing style, and structural integrity. Produces weighted scores, letter grades, and improvement plans.
Audits Claude skills against Anthropic prompting best practices including positive framing, motivation, and XML structure. Use after creation/modification, before release, or for inconsistent results.
Audits Claude Code skills for structure compliance, triggering accuracy, instruction quality, and best practices. Scores 0-100 with prioritized improvement recommendations.