config/agents/skills/skill-quality/SKILL.md
Validates Claude Code skills against best practices for structure, content quality, and effectiveness. Use when creating new skills, reviewing existing skills, debugging skill invocation issues, or preparing skills for publication.
npx skillsauth add edmundmiller/dotfiles skill-qualityInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Ensures Claude Code skills follow best practices for discoverability, structure, content quality, and effectiveness. This skill provides checklists, patterns, and validation criteria for creating high-quality skills.
Use this skill when you see these patterns:
Every skill must have:
Red flags:
When creating or reviewing a skill, copy this checklist and follow the steps:
Skill Quality Review Progress:
- [ ] Step 1: Verify description and metadata
- [ ] Step 2: Check structure and organization
- [ ] Step 3: Validate content quality
- [ ] Step 4: Review code and scripts (if applicable)
- [ ] Step 5: Test across models
- [ ] Step 6: Perform real usage testing
Check the YAML frontmatter:
If checks fail: Update frontmatter before proceeding.
Review file organization:
If checks fail: Reorganize content or split into supporting files.
Review the skill content:
If checks fail: Add missing examples or clarify instructions.
If skill includes executable code:
If checks fail: Improve error handling and documentation.
Test with all Claude models:
If checks fail: Adjust description or add more explicit guidance.
Test in actual workflows:
If checks fail: Update skill based on observed issues.
For skills under 500 lines:
my-skill.md # Single file
For skills over 500 lines:
my-skill/
├── SKILL.md # Main instructions (< 500 lines)
├── examples.md # Detailed examples
├── reference.md # API/command reference (optional)
└── scripts/ # Helper scripts (optional)
└── validate.py
Key principles:
Example from real skill:
pdf/
├── SKILL.md # Core PDF guidance
├── FORMS.md # Form-filling specific guidance
├── examples.md # Extended examples
└── scripts/
├── analyze_form.py # Utility script
└── fill_form.py # Form processor
Format: Frontmatter YAML at top of SKILL.md
---
description: "Specific action + key terms + when to use"
priority: 5
---
Requirements:
📖 See EXAMPLES.md for good/bad examples
SKILL.md must be:
If exceeding 500 lines:
Progressive disclosure pattern:
# Skill Name
Brief intro (1-2 sentences)
## When to Use
Quick bullet list
## Quick Reference
Most common cases with examples
## Detailed Guidance
(Or link to examples.md)
## Advanced Patterns
(Or link to patterns.md)
Rules:
📖 See EXAMPLES.md for patterns
Every pattern needs a real, runnable example.
Examples must:
📖 See EXAMPLES.md for good/bad examples
Keep references one level deep:
See examples.md for detailed patterns # ✅ Good
See examples.md which references patterns.md
which has code in scripts/ # ❌ Bad - too deep
Isolate or avoid time-sensitive content:
## Current Best Practice (as of 2024)
Use ast-grep for syntax-aware searches
## Legacy Patterns
Previously, ripgrep was used...
📖 See EXAMPLES.md for deprecation patterns
Don't punt to Claude - solve the problem in the script:
Every error path needs helpful messages:
except FileNotFoundError:
print("Error: jj not found. Install with: brew install jj")
sys.exit(1)
Justify all magic numbers:
TIMEOUT_SECONDS = 30 # API requests take 5-10s, allow 3x buffer
List all dependencies with install instructions:
## Dependencies
Required:
- `ast-grep` - Install: `brew install ast-grep`
Verify: `which ast-grep`
📖 See EXAMPLES.md for detailed patterns
Use numbered steps with verification:
1. **Create directory:**
```bash
mkdir my-dir
```
Verify: ls my-dir
### Decision Trees
**Complex workflows need decision points:**
```markdown
**Need X?** → Use tool A
**Need Y?** → Use tool B
**Need both?** → Use A then B
📖 See EXAMPLES.md for patterns
Every skill needs testing across:
📖 See TESTING.md for detailed testing guidelines
Common issues:
📖 See TROUBLESHOOTING.md for complete guide
Before considering a skill complete, copy this checklist and verify each item:
Skill Quality Verification:
- [ ] Can someone use this without follow-up questions?
- [ ] Would this work in 6 months?
- [ ] Are examples copy-pasteable and runnable?
- [ ] Can you find guidance in < 30 seconds?
- [ ] Are error messages helpful enough?
- [ ] Does the description include key trigger terms?
- [ ] Is SKILL.md under 500 lines?
- [ ] Are file references one level deep?
- [ ] Is terminology consistent throughout?
If any check fails:
Test this skill with these scenarios to ensure it works effectively:
Input: "Help me create a new skill for managing Docker containers"
Expected behavior:
Verify:
Input: "My skill exists but Claude never uses it"
Expected behavior:
Verify:
Input: "Review my python-scripts skill for quality and best practices"
Expected behavior:
Verify:
development
Read-only Linear issue access via the Linear GraphQL API.
data-ai
## <!-- Purpose: Teach agents fast day-to-day memory browse/search/read/sync workflows in pi-context-repo. --> name: searching-memory description: > Search, browse, and inspect memory quickly in pi-context-repo. Use when asked to find prior notes, inspect memory files, locate preferences, or sync recent memory updates. Trigger phrases: "search memory", "list memory files", "find in memory", "read memory file", "memory status", "sync memory". --- # Searching Memory Use this workflow for fast
development
Comprehensive guide for initializing or reorganizing agent memory into a deeply hierarchical file structure. Use when running /init, when user asks to set up memory, or when memory needs a major reorganization. Trigger phrases: "initialize memory", "set up memory", "populate memory", "build my memory", "memory init".
data-ai
Decomposes and reorganizes agent memory files into focused, single-purpose components. Use when memory has large multi-topic blocks, redundancy, or poor organization. Trigger phrases: "defrag memory", "reorganize memory", "clean up memory files", "split memory blocks".