skill-evolution
Self-evolving skill system. Skills are scored after execution (0-100) on 5 dimensions. Score 90+ over 5 runs = crystallized (locked). Score below 30 = auto-repair attempted. Skills improve themselves through usage feedback.
npx skills add vibeeval/vibecosystem --skill skill-evolution --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Skill Evolution Darwinian selection for skills. Skills that produce good outcomes are crystallized and protected. Skills that produce poor outcomes are repaired or archived. Every execution generates a score that drives the next generation of the skill. ## The 5 Scoring Dimensions Each skill execution is scored 0-100 on five dimensions: | Dimension | Weight | What It Measures | |-----------|--------|-----------------| | Accuracy | 25% | Did the skill produce the correct result for the task? | | Relevance | 20% | Was the skill content applicable to the actual use case? | | Token Efficiency | 20% | Did the skill guide the agent without bloat or repetition? | | User Satisfaction | 20% | Did the outcome meet or exceed user expectations? | | Reusability | 15% | Could another agent use this skill in a similar situation? | **Composite score** = weighted average of all five dimensions (0-100). ### Scoring Rubric ``` 90-100: Excellent -- candidate for crystallization 70-89: Good -- active skill, no action needed 50-69: Adequate -- flag for review after 3 more runs 30-49: Poor -- schedule auto-repair attempt 0-29: Critical -- immediate auto-repair or archive ``` ## Skill Lifecycle ``` DRAF
- The 5 Scoring Dimensions
- Scoring Rubric
- Skill Lifecycle
- Draft
- Active
- Crystallized
- Archived
- Score Storage Format
- Score CLI (quick check)
- Crystallization Protocol
- Auto-Repair Protocol
- Diagnosis
- Repair
- Validation
Average scores for a skill (last 10 runs)
cat ~/.claude/skill-scores.jsonl | python3 -c "
import sys, json, statistics
skill = '$1'
runs = [json.loads(l) for l in sys.stdin if json.loads(l).get('skill') == skill][-10:]
if runs:
avg = statistics.mean(r['composite'] for r in runs)
git tag skill/<name>/crystallized-v1 -m "Crystallized: avg score 92.3 over 7 runs"
git push origin skill/<name>/crystallized-v1
View crystallized skillsWhat does the skill-evolution skill do?
Self-evolving skill system. Skills are scored after execution (0-100) on 5 dimensions. Score 90+ over 5 runs = crystallized (locked). Score below 30 = auto-repair attempted. Skills improve themselves through usage feedback.
How do I install it?
Run `npx skills add vibeeval/vibecosystem --skill skill-evolution --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From vibeeval/vibecosystem, a repository with 521 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
