Meta-skill for extracting and creating reusable Claude Code skills from past work sessions...
Transform your past work into reusable Claude Code skills automatically.
The Skill Harvester is a meta-skill that helps you systematically extract reusable patterns, workflows, and expertise from your Claude Code sessions and convert them into well-structured skills that can be shared and reused.
Use this skill when:
Examine recent work:
# Review recent git commits
git log --oneline -20
# Analyze file changes
git diff HEAD~10..HEAD --stat
# Check which files were most modified
git log --pretty=format: --name-only | sort | uniq -c | sort -rg | head -20
Identify domains:
Questions to ask:
Skill categories to consider:
Essential components of a good skill:
---
name: skill-name (kebab-case)
description: Clear, concise 1-2 sentence description of what the skill does
license: MIT
tags: [relevant, searchable, tags]
---
# Skill Title
Brief overview paragraph explaining the skill's purpose and value.
## When to Use
- Specific scenario 1
- Specific scenario 2
- Specific scenario 3
## Core Concepts
Explain the fundamental ideas and principles.
## Workflow
Step-by-step process for using the skill.
### Step 1: [Action]
Detailed explanation with code examples.
### Step 2: [Action]
More details and examples.
## Common Patterns
### Pattern 1: [Name]
Description and example.
### Pattern 2: [Name]
Description and example.
## Best Practices
### ✅ DO
- Recommended approach 1
- Recommended approach 2
### ❌ DON'T
- Anti-pattern 1
- Anti-pattern 2
## Examples
### Example 1: [Scenario]
Full working example with explanation.
### Example 2: [Scenario]
Another complete example.
## Troubleshooting
### Issue 1: [Problem]
**Symptoms**: What you see
**Cause**: Why it happens
**Solution**: How to fix
## Reference
Quick reference table or cheat sheet.
## Additional Resources
- Links to relevant documentation
- Related skills
- External references
Extract from various sources:
# From code files
# Look for:
# - Complex functions that solve specific problems
# - Utility scripts with general applicability
# - Configuration patterns that work well
# - Error handling strategies
# - Integration patterns
# From documentation
# Harvest:
# - README instructions
# - Setup guides
# - Troubleshooting notes
# - Architecture decisions
# - Lessons learned
# From git commits
git log --all --grep="fix\|feat\|refactor" --pretty=format:"%h %s" -20
# From issue trackers
# Extract:
# - Common problems and solutions
# - Debugging strategies
# - Workarounds and fixes
Directory structure:
harvestable_skills/
├── automation/
│ ├── skill-name/
│ │ └── skill.md
├── backend/
├── devops/
├── frontend/
├── infrastructure/
├── testing/
└── documentation/
Categorization guidelines:
When you've worked extensively with a specific tool or technology:
Example domains:
When you've developed an effective workflow:
Example workflows:
When you've solved complex problems:
Example patterns:
When you've become proficient with a tool:
Example tools:
#!/bin/bash
# bulk-harvest.sh - Generate multiple skills from a list
SKILLS_FILE="$1"
OUTPUT_DIR="harvestable_skills"
while IFS='|' read -r category name description; do
# Skip header and empty lines
[[ "$category" == "Category" ]] && continue
[[ -z "$category" ]] && continue
SKILL_DIR="$OUTPUT_DIR/$category/$name"
mkdir -p "$SKILL_DIR"
cat > "$SKILL_DIR/skill.md" << EOF
---
name: $name
description: $description
license: MIT
---
# ${name//\-/ }
$description
## When to Use
TODO: Add specific scenarios
## Implementation
TODO: Add implementation details
## Examples
TODO: Add working examples
## Best Practices
TODO: Add recommendations
EOF
echo "✓ Created: $category/$name"
done < "$SKILLS_FILE"
Usage:
# Create skills-to-harvest.txt
cat > skills-to-harvest.txt << EOF
Category|Name|Description
devops|docker-layer-optimization|Optimize Docker image layers for faster builds and smaller images
backend|api-rate-limiting|Implement rate limiting for API endpoints with Redis
testing|snapshot-testing|Create and manage snapshot tests for UI components
EOF
./bulk-harvest.sh skills-to-harvest.txt
#!/bin/bash
# analyze-work.sh - Analyze recent work for harvestable patterns
echo "=== Most Modified Files ==="
git log --since="1 month ago" --pretty=format: --name-only | \
sort | uniq -c | sort -rg | head -20
echo ""
echo "=== Technologies Used ==="
git log --since="1 month ago" --pretty=format:"%s" | \
grep -oE "(docker|kubernetes|terraform|ansible|python|node|react|vue|postgres|redis|mongodb)" | \
sort | uniq -c | sort -rg
echo ""
echo "=== Common Commit Themes ==="
git log --since="1 month ago" --pretty=format:"%s" | \
grep -oE "^(feat|fix|refactor|docs|test|chore)" | \
sort | uniq -c | sort -rg
echo ""
echo "=== Recent Problem Areas ==="
git log --since="1 month ago" --all --grep="fix\|bug\|issue" --pretty=format:"%h %s" | head -10
Before publishing a harvested skill, ensure:
Completeness:
Quality:
Usefulness:
Organization:
mkdir -p harvestable_skills/[category]/[skill-name]
# Create skill.md with full content
# Copy to final location
cp -r harvestable_skills/[category]/[skill-name] skills/
# Or organize by category
cp -r harvestable_skills/[category]/[skill-name] skills-by-category/[category]/
git add skills/ harvestable_skills/
git commit -m "🎯 Harvest skills: [description]"
git push
Original work: Managing Proxmox VE cluster with containers and VMs
Harvested skill: proxmox-manager
Original work: Dealing with Claude Code timeouts during bulk operations
Harvested skill: session-timeout-handler
Original work: Managing multiple Git repositories with Claude-specific branching
Harvested skill: claude-git-branching
Harvest skills that:
Include:
Combine multiple skills for powerful workflows:
# Example: Full-Stack Deployment Skill
Combines:
- docker-optimization (build efficient images)
- kubernetes-deploy (deploy to cluster)
- database-migration (update schema)
- health-check-monitoring (verify deployment)
- rollback-strategy (revert if needed)
Track the value of your skills:
# Track skill usage
echo "$(date): Used skill-harvester for project X" >> ~/.claude/skill-usage.log
# Count skill reuse
grep "skill-harvester" ~/.claude/skill-usage.log | wc -l
# Measure time saved
# Before: 4 hours to set up manually
# After: 20 minutes with skill
# Savings: 3.67 hours per use
Start with simple template, add complexity as needed:
Create related skills that work together:
database-skills/
├── postgres-optimization/
├── postgres-backup/
├── postgres-replication/
└── postgres-monitoring/
Skills that help create or manage other skills:
Version: 1.0.0 Author: Harvested from your_claude_skills repository Last Updated: 2025-11-18 License: MIT
Remember: The best skills solve real problems and encode genuine expertise. Happy harvesting! 🎯