---
name: checking-skill-best-practices
description: Evaluates Claude skills against official best practices from Anthropic documentation. Use when reviewing skill quality, ensuring compliance with guidelines, or improving existing skills.
---

# Checking Skill Best Practices

Evaluates a skill against the latest official guidelines from Anthropic. Always fetches current documentation to ensure accurate, up-to-date assessment.

## When to Use

- Reviewing skill quality before finalization
- User asks to check compliance with best practices
- Improving or refactoring existing skills

## Evaluation Process

### 1. Fetch Latest Guidelines

**Start here every time:**

```
fetch_webpage("https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices")
```

Extract current evaluation criteria from the fetched content.

### 2. Read Target Skill

```bash
read_file(".claude/skills/[skill-name]/SKILL.md")
```

### 3. Evaluate Against Fetched Guidelines

Compare skill against criteria from the documentation:
- Core principles (conciseness, appropriate freedom, testing)
- Skill structure (frontmatter, naming, description)
- Content guidelines (terminology, time-sensitivity, patterns)
- Anti-patterns to avoid

### 4. Generate Report

Provide structured findings with specific recommendations:

## Evaluation Report Template

```markdown
## Skill Evaluation: [skill-name]

**Overall Score**: X/10
**Guideline Version**: [Date from fetched doc]

### ✅ Strengths
- [What follows best practices]

### ⚠️ Issues Found

#### Critical (Must Fix)
- [ ] [Issue with specific fix]

#### Recommended (Should Fix)
- [ ] [Improvement suggestion]

### 🔧 Actionable Steps
1. [Highest priority fix]
2. [Next improvement]

### 📚 Reference
[Relevant sections from fetched documentation]
```

## Usage Example

```
User: "Check if adding-new-metric follows best practices"

1. fetch_webpage(best-practices-url)
   → Extract current criteria

2. read_file(".claude/skills/adding-new-metric/SKILL.md")
   → Get skill content

3. Compare against extracted criteria:
   - Name format (gerund form?)
   - Description quality (what + when?)
   - Conciseness (≤500 lines?)
   - Progressive disclosure used?
   - Consistent terminology?

4. Generate report with specific fixes
```

## Key Evaluation Areas

From the fetched documentation, focus on:

**Critical:**
- YAML frontmatter correctness
- Naming convention compliance
- Description effectiveness

**Important:**
- Conciseness (every token justified?)
- Progressive disclosure (reference files?)
- Consistent terminology

**Code-specific (if applicable):**
- Unix-style paths
- Error handling
- MCP tool naming

## Iteration Pattern

1. Evaluate → 2. Report issues → 3. Apply fixes → 4. Re-evaluate

Use `multi_replace_string_in_file` for efficient corrections.
