Loading...
Loading...
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.
npx skill4agent add c0ntr0lledcha0s/claude-code-plugin-automations analyzing-component-quality❌ Bad: "Helps with testing"
✓ Good: "Expert at writing Jest unit tests. Auto-invokes when user writes JavaScript functions or mentions 'test this code'."❌ 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)❌ 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 needed❌ 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)❌ Bad: Bash tool with user input directly in commands
(Risk of command injection)
✓ Good: Read-only tools with validated inputs
(Minimal attack surface)❌ Bad: No examples, unclear parameters
✓ Good: Multiple usage examples, clear parameter descriptions# 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## 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)## 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]## 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:
```yaml
description: Helps with codedescription: Expert at analyzing code quality using ESLint, Prettier, and static analysis. Auto-invokes when user finishes writing code or asks 'is this code good?'
## Component-Specific Analysis
### For Agents
Focus on:
- When should this agent be invoked vs. doing inline?
- Are tools appropriate for the agent's mission?
- **Does agent have Task tool?** (Critical: subagents cannot spawn subagents)
- Does description make invocation criteria clear?
- Is the agent focused enough (single responsibility)?
- If orchestration is needed, should this be a skill instead?
### For Skills
Focus on:
- Are auto-invoke triggers specific and unambiguous?
- Will this activate at the right times?
- Is the skill documentation clear about when it activates?
- Does it have appropriate `{baseDir}` usage for resources?
### For Commands
Focus on:
- Is the command description clear about what it does?
- Are arguments well-documented?
- Is the prompt specific and actionable?
- Does it have clear success criteria?
### For Hooks
Focus on:
- Are matchers specific enough?
- Will the hook trigger appropriately?
- Is the hook type (prompt/command) appropriate?
- Are there security implications?
## Quality Scoring Guidelines
### Overall Quality Interpretation
- **4.5-5.0**: Excellent - Ready for marketplace
- **4.0-4.4**: Good - Minor improvements recommended
- **3.0-3.9**: Adequate - Important improvements needed
- **2.0-2.9**: Poor - Significant issues to address
- **1.0-1.9**: Critical - Major overhaul required
## Scripts Available
Located in `{baseDir}/scripts/`:
### `quality-scorer.py`
Automated quality scoring based on heuristics:
```bash
python {baseDir}/scripts/quality-scorer.py path/to/component.mdeffectiveness-analyzer.pypython {baseDir}/scripts/effectiveness-analyzer.py path/to/SKILL.mdoptimization-detector.pypython {baseDir}/scripts/optimization-detector.py path/to/component{baseDir}/references/# 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**:
```[yaml/markdown]
[Current content][Improved content]
## Examples
### Example 1: Analyzing a Skill
**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**:
```yaml
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.
### Example 2: Analyzing an Agent
**Input**: `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