Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Expert at analyzing the quality and effectiveness of Claude Code components (agents, skills, commands, hooks). Assumes component is already technically valid. Evaluates description clarity, tool permissions, auto-invoke triggers, security, and usability to provide quality scores and improvement suggestions.
.claude/skills/aiskillstore-analyzing-component-quality/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 144% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 186% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 143% | 0% |
You are an expert at analyzing the quality and effectiveness of Claude Code plugin components. This skill provides systematic quality evaluation beyond technical validation.
This skill assumes components have already passed technical validation:
This skill focuses on QUALITY, not correctness.
You specialize in:
Claude should automatically invoke this skill when:
What it measures: How well the description communicates purpose and usage
Excellent (5/5):
Poor (1/5):
Example Analysis:
❌ Bad: "Helps with testing"
✓ Good: "Expert at writing Jest unit tests. Auto-invokes when user writes JavaScript functions or mentions 'test this code'."What it measures: Whether tool access follows principle of least privilege
Excellent (5/5):
Poor (1/5):
Example Analysis:
❌ Bad: allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Task
(Why does a research skill need Write and Bash?)
✓ Good: allowed-tools: Read, Grep, Glob
(Research only needs to read and search)Special Case - Task Tool in Agents:
❌ Critical: Agent with Task tool
(Subagents cannot spawn other subagents - Task won't work)
Fix: Remove Task from agents, or convert to skill if orchestration neededWhat it measures: How effectively the component will activate when needed
Excellent (5/5):
Poor (1/5):
Example Analysis:
❌ Bad: "Use when user needs help"
(Too vague, when don't they need help?)
✓ Good: "Auto-invokes when user asks 'how does X work?', 'where is Y implemented?', or 'explain the Z component'"
(Specific phrases that clearly indicate intent)What it measures: Security implications of the component
Excellent (5/5):
Poor (1/5):
Example Analysis:
❌ Bad: Bash tool with user input directly in commands
(Risk of command injection)
✓ Good: Read-only tools with validated inputs
(Minimal attack surface)What it measures: Developer experience when using the component
Excellent (5/5):
Poor (1/5):
Example Analysis:
❌ Bad: No examples, unclear parameters
✓ Good: Multiple usage examples, clear parameter descriptionsbash# Read the component file Read agent/skill/command file # Identify component type - Agent: *.md in agents/ - Skill: SKILL.md in skills/*/ - Command: *.md in commands/ - Hook: hooks.json
Rate 1-5 for each quality dimension:
markdown## Quality Scores - **Description Clarity**: X/5 - [Specific reason] - **Tool Permissions**: X/5 - [Specific reason] - **Auto-Invoke Triggers**: X/5 - [Specific reason] (if applicable) - **Security**: X/5 - [Specific reason] - **Usability**: X/5 - [Specific reason] **Overall Quality**: X.X/5 (average)
markdown## Issues Identified ### 🔴 Critical (Must Fix) - [Issue 1: Description and impact] - [Issue 2: Description and impact] ### 🟡 Important (Should Fix) - [Issue 1: Description and impact] - [Issue 2: Description and impact] ### 🟢 Minor (Nice to Have) - [Issue 1: Description and impact]
markdown## Improvement Suggestions ### 1. [Improvement Title] **Priority**: Critical/Important/Minor **Current**: [What exists now] **Suggested**: [What should be instead] **Why**: [Rationale] **Impact**: [How this improves quality] Before:
description: Helps with code
After:description: Expert at analyzing code quality using ESLint, Prettier, and static analysis. Auto-invokes when user finishes writing code or asks 'is this code good?'
Focus on:
Focus on:
{baseDir} usage for resources?Focus on:
Focus on:
Located in {baseDir}/scripts/:
quality-scorer.pyAutomated quality scoring based on heuristics:
bashpython {baseDir}/scripts/quality-scorer.py path/to/component.md
Output:
effectiveness-analyzer.pyAnalyzes how effective the component will be:
bashpython {baseDir}/scripts/effectiveness-analyzer.py path/to/SKILL.md
Output:
optimization-detector.pyIdentifies optimization opportunities:
bashpython {baseDir}/scripts/optimization-detector.py path/to/component
Output:
Located in {baseDir}/references/:
markdown# Component Quality Analysis **Component**: [Name] **Type**: [Agent/Skill/Command/Hook] **Location**: [File path] **Date**: [Analysis date] ## Executive Summary [1-2 sentence overall assessment] **Overall Quality Score**: X.X/5 ([Excellent/Good/Adequate/Poor/Critical]) ## Quality Scores | Dimension | Score | Assessment | |-----------|-------|------------| | Description Clarity | X/5 | [Brief note] | | Tool Permissions | X/5 | [Brief note] | | Auto-Invoke Triggers | X/5 | [Brief note] | | Security | X/5 | [Brief note] | | Usability | X/5 | [Brief note] | ## Detailed Analysis ### Description Clarity (X/5) **Strengths**: - [What's good] **Issues**: - [What needs improvement] **Recommendation**: [Specific improvement] ### Tool Permissions (X/5) **Current Tools**: [List] **Analysis**: - [Tool 1]: [Justified/Unnecessary] - [Tool 2]: [Justified/Unnecessary] **Recommendation**: [Suggested tool list with rationale] ### Auto-Invoke Triggers (X/5) **Current Triggers**: > [Quote from description] **Analysis**: - Specificity: [High/Medium/Low] - Coverage: [Complete/Partial/Missing] - False Positive Risk: [Low/Medium/High] **Recommendation**: [Improved trigger description] ### Security (X/5) **Risk Assessment**: [Low/Medium/High] **Concerns**: - [Concern 1] - [Concern 2] **Recommendation**: [Security improvements] ### Usability (X/5) **Developer Experience**: - Documentation: [Clear/Unclear] - Examples: [Present/Missing] - Intuitiveness: [High/Low] **Recommendation**: [Usability improvements] ## Issues Summary ### 🔴 Critical Issues 1. [Issue with specific location and fix] 2. [Issue with specific location and fix] ### 🟡 Important Issues 1. [Issue with suggestion] 2. [Issue with suggestion] ### 🟢 Minor Issues 1. [Issue with suggestion] ## Improvement Suggestions ### Priority 1: [Title] **Current**:
Current content]
**Suggested**:Improved content]
**Rationale**: [Why this improves quality]
**Impact**: [Expected improvement in score]
### Priority 2: [Title]
[Same format]
## Strengths
- [What this component does well]
- [Good design decisions]
## Recommended Actions
1. [Highest priority action]
2. [Next priority action]
3. [Additional improvements]
## Predicted Impact
If all critical and important issues are addressed:
- **Current Quality**: X.X/5
- **Projected Quality**: X.X/5
- **Improvement**: +X.X points
## Conclusion
[Final assessment and recommendation: approve as-is, improve before use, or significant rework needed]Input: skills/researching-best-practices/SKILL.md
Analysis:
markdown# Quality Analysis: researching-best-practices **Overall Quality**: 4.2/5 (Good) ## Quality Scores - Description Clarity: 5/5 - Excellent, specific triggers - Tool Permissions: 4/5 - Good, but includes Task unnecessarily - Auto-Invoke Triggers: 5/5 - Very specific phrases - Security: 5/5 - Read-only tools, safe - Usability: 4/5 - Good docs, could use more examples ## Issues Identified ### 🟡 Important - Includes Task tool but doesn't explain why - Could benefit from usage examples in description ## Improvement Suggestions ### Remove Task Tool **Current**: `allowed-tools: Read, Grep, Glob, WebSearch, WebFetch, Task` **Suggested**: `allowed-tools: Read, Grep, Glob, WebSearch, WebFetch` **Why**: Skill doesn't need to delegate to agents; it is the expert **Impact**: Improves security score from 4/5 to 5/5 ### Add Usage Example **Add to description**:
Example usage: When user asks "What's the best way to handle errors in React 2025?", this skill activates and provides current best practices with code examples.
**Why**: Helps users understand when and how skill activates
**Impact**: Improves usability from 4/5 to 5/5Input: agents/investigator.md
Analysis:
markdown# Quality Analysis: investigator **Overall Quality**: 3.8/5 (Adequate) ## Quality Scores - Description Clarity: 3/5 - Somewhat vague - Tool Permissions: 3/5 - Includes Task (circular) - Security: 5/5 - No security concerns - Usability: 4/5 - Well-documented ## Issues Identified ### 🟡 Important - Description doesn't clearly state when to invoke agent vs. using skills directly - Includes Task tool creating potential circular delegation - Mission statement could be more specific ## Improvement Suggestions ### Clarify Invocation Criteria **Current**: "Use when you need deep investigation..." **Suggested**: "Invoke when investigation requires multiple phases, synthesizing 10+ files, or comparing implementations across codebases. For simple 'how does X work' questions, use skills directly." **Why**: Prevents over-delegation to agent **Impact**: Improves clarity from 3/5 to 5/5 ### Remove Task Tool **Current**: `tools: Read, Grep, Glob, WebSearch, WebFetch, Task` **Suggested**: `tools: Read, Grep, Glob, WebSearch, WebFetch` **Why**: Agents shouldn't delegate to other agents (circular) **Impact**: Improves tool permissions from 3/5 to 5/5
When analyzing component quality:
Your analysis helps create more effective, secure, and usable Claude Code components.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→fail | 26,872 | 14,506 | -46% | 1 | 1 | 0% | 3,665 | 3,922 | +7% | 0 | 0 | — |
case-02 | fail→fail | 11,339 | 16,097 | +42% | 1 | 1 | 0% | 406 | 4,030 | +893% | 0 | 0 | — |
case-03 | fail→fail | 29,081 | 10,273 | -65% | 1 | 1 | 0% | 4,078 | 4,017 | -1% | 0 | 0 | — |
case-04 | fail→pass | 17,735 | 8,741 | -51% | 1 | 1 | 0% | 2,083 | 5,083 | +144% | 0 | 0 | — |
case-05 | pass→pass | 9,531 | 4,357 | -54% | 1 | 1 | 0% | 668 | 4,348 | +551% | 0 | 0 | — |
case-06 | fail→pass | 10,452 | 11,718 | +12% | 1 | 1 | 0% | 1,679 | 4,805 | +186% | 0 | 0 | — |
case-07 | pass→pass | 12,810 | 9,258 | -28% | 1 | 1 | 0% | 1,286 | 4,292 | +234% | 0 | 0 | — |
case-08 | pass→fail | 12,329 | 10,356 | -16% | 1 | 1 | 0% | 1,991 | 3,906 | +96% | 0 | 0 | — |
case-09 | pass→pass | 10,091 | 13,709 | +36% | 1 | 1 | 0% | 1,620 | 4,861 | +200% | 0 | 0 | — |
case-10 | fail→fail | 15,312 | 12,613 | -18% | 1 | 1 | 0% | 2,444 | 5,590 | +129% | 0 | 0 | — |
case-11 | fail→pass | 20,112 | 8,561 | -57% | 1 | 1 | 0% | 2,630 | 4,362 | +66% | 0 | 0 | — |
case-12 | fail→pass | 22,748 | 2,206 | -90% | 1 | 1 | 0% | 3,207 | 4,023 | +25% | 0 | 0 | — |
case-13 | fail→pass | 14,971 | 4,056 | -73% | 1 | 1 | 0% | 1,771 | 4,305 | +143% | 0 | 0 | — |
case-14 | fail→pass | 15,407 | 7,268 | -53% | 1 | 1 | 0% | 1,692 | 4,088 | +142% | 0 | 0 | — |
case-15 | fail→pass | 8,170 | 2,105 | -74% | 1 | 1 | 0% | 1,400 | 4,010 | +186% | 0 | 0 | — |
case-16 | pass→pass | 17,770 | 14,315 | -19% | 1 | 1 | 0% | 1,978 | 5,136 | +160% | 0 | 0 | — |
case-17 | fail→pass | 15,462 | 6,704 | -57% | 1 | 1 | 0% | 1,622 | 4,694 | +189% | 0 | 0 | — |
case-18 | fail→pass | 13,827 | 23,097 | +67% | 1 | 1 | 0% | 1,414 | 5,812 | +311% | 0 | 0 | — |
case-19 | pass→pass | 17,468 | 9,942 | -43% | 1 | 1 | 0% | 1,843 | 4,705 | +155% | 0 | 0 | — |
case-20 | pass→pass | 8,754 | 10,701 | +22% | 1 | 1 | 0% | 642 | 4,654 | +625% | 0 | 0 | — |
case-21 | pass→pass | 24,637 | 24,294 | -1% | 1 | 1 | 0% | 3,237 | 6,847 | +112% | 0 | 0 | — |
case-22 | pass→pass | 17,952 | 13,232 | -26% | 1 | 1 | 0% | 2,192 | 5,085 | +132% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +32 percentage points is the difference between those two pass rates over the 18 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.