evolve-skill

Analyze feedback and evolve skills through structured improvement. The meta-skill that makes other skills better.

16 stars

Best use case

evolve-skill is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Analyze feedback and evolve skills through structured improvement. The meta-skill that makes other skills better.

Teams using evolve-skill should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/evolve-skill/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/evolve-skill/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/evolve-skill/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How evolve-skill Compares

Feature / Agentevolve-skillStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Analyze feedback and evolve skills through structured improvement. The meta-skill that makes other skills better.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Evolve Skill

Analyze feedback and improve skills through structured evolution. This meta-skill enables skills to learn and improve over time.

## Arguments

- `$0` - Skill name to evolve (e.g., `add-chart`)
- Or special commands:
  - `--all` - Analyze all skills
  - `--analyze-only {skill}` - Just show analysis, no changes
  - `rollback {skill}` - Rollback to previous version
  - `rollback {skill} {version}` - Rollback to specific version
  - `versions {skill}` - List available versions

---

## Mode 1: Evolve a Skill

### Step 1: Gather Feedback

Read all feedback files for the target skill:

```
.claude/skills/.feedback/${$0}/*.yaml
```

Parse each feedback file and aggregate:
- Outcome distribution (success/partial/failed)
- Common strengths (patterns that appear multiple times)
- Common corrections (fixes that were needed repeatedly)
- Common suggestions (frequently requested improvements)

### Step 2: Analyze Patterns

Categorize improvements by type:

1. **Instructions** - Steps that need clarification or reordering
2. **Templates** - Code patterns that need updating
3. **Verification** - Missing checklist items
4. **Tools** - Tool permissions that should change

Look for patterns:
- If 2+ feedback entries mention the same correction → likely needed
- If 2+ feedback entries suggest the same improvement → worth considering
- If success rate < 70% → skill needs significant improvement

### Step 3: Propose Improvements

Present proposals to the user using `AskUserQuestion`:

```
Based on {N} feedback entries for '{skill-name}':
- Success rate: {X}%
- Common corrections: {list}
- Common suggestions: {list}

Proposed improvements:
1. {Improvement 1} - rationale from feedback
2. {Improvement 2} - rationale from feedback
...

Which improvements should we apply?
```

Options should include:
- Apply all proposed improvements
- Select specific improvements
- Skip (just update metadata)

### Step 4: Apply Changes (with approval)

For each approved improvement:

1. **Save current version to .versions/**
   ```
   cp SKILL.md .versions/{current-version}.md
   ```

2. **Edit SKILL.md** with the improvement
   - Be precise with edits
   - Maintain skill structure and formatting
   - Add new sections if needed

3. **Update metadata:**
   ```yaml
   version: {new-version}  # Bump appropriately
   last-evolved: {today's date}
   evolution-count: {previous + 1}
   ```

4. **Update CHANGELOG.md:**
   ```markdown
   ## [{new-version}] - {date}

   ### Changed
   - {Description of change 1}
   - {Description of change 2}

   ### Feedback-driven
   Based on {N} feedback entries. Key patterns addressed:
   - {Pattern 1}
   - {Pattern 2}
   ```

### Step 5: Commit Changes

Create a git commit with:

```bash
git add .claude/skills/${$0}/
git commit -m "evolve(${$0}): {brief description}

Based on {N} feedback entries:
- {Key improvement 1}
- {Key improvement 2}

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>"
```

### Step 6: Report

Tell the user:
- Changes applied
- New version number
- Suggest testing the skill with `/skill-name` to verify

---

## Mode 2: Rollback

### `rollback {skill}` - Previous Version

1. Read current version from SKILL.md frontmatter
2. Find previous version in `.versions/`
3. Copy previous version to SKILL.md
4. Update metadata (decrement evolution-count)
5. Add CHANGELOG entry noting rollback
6. Commit with message: `revert(${skill}): rollback to {version}`

### `rollback {skill} {version}` - Specific Version

1. Verify version exists in `.versions/{version}.md`
2. Copy that version to SKILL.md
3. Update metadata appropriately
4. Add CHANGELOG entry
5. Commit

---

## Mode 3: List Versions

### `versions {skill}`

1. List all files in `.versions/` directory
2. Show version, date (from filename or metadata), and brief description
3. Indicate current version

Output format:
```
Versions for '{skill}':
  1.0.0 - 2026-02-02 - Initial release
  1.1.0 - 2026-02-15 - Added ErrorBoundary pattern (current)
```

---

## Mode 4: Analyze All

### `--all`

1. Scan all skill directories
2. For each skill with feedback:
   - Calculate success rate
   - Count pending feedback entries
   - Identify skills most in need of evolution

Output format:
```
Skill Evolution Status:
  add-chart      - 5 feedback entries, 60% success, needs evolution
  add-api-route  - 2 feedback entries, 100% success, healthy
  add-dashboard  - 0 feedback entries, no data
  ...
```

Recommend which skills to evolve first.

---

## Version Numbering

Use semantic versioning:

- **Patch (1.0.x)** - Small fixes, clarifications
  - Typo fixes
  - Minor wording improvements
  - Adding missing details

- **Minor (1.x.0)** - New content, significant improvements
  - New sections added
  - Template code updated
  - Verification steps added

- **Major (x.0.0)** - Breaking changes (rare for skills)
  - Complete restructure
  - Argument changes
  - Fundamental approach change

---

## Feedback Analysis Patterns

### Detecting Instruction Issues
```yaml
# If corrections mention "order" or "sequence"
corrections:
  - "Had to reorder the steps"
  - "Step 3 should come before Step 2"
→ Instruction ordering issue
```

### Detecting Template Issues
```yaml
# If corrections mention specific code
corrections:
  - "Fixed import order"
  - "Added missing ErrorBoundary"
→ Template needs updating
```

### Detecting Missing Guidance
```yaml
# If suggestions mention "add" or "include"
suggestions:
  - "Add section about error handling"
  - "Include z-index best practices"
→ Missing documentation
```

---

## Verification Checklist

After evolution:

1. [ ] Previous version saved to `.versions/`
2. [ ] SKILL.md updated with improvements
3. [ ] Version bumped appropriately
4. [ ] `last-evolved` date updated
5. [ ] `evolution-count` incremented
6. [ ] CHANGELOG.md entry added
7. [ ] Git commit created
8. [ ] User notified of changes

After rollback:

1. [ ] Correct version restored
2. [ ] Metadata updated
3. [ ] CHANGELOG notes rollback
4. [ ] Git commit created

Related Skills

evolve

16
from diegosouzapw/awesome-omni-skill

自我進化 Agent - 已遷移至原子化架構

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

fastapi-python-expert

16
from diegosouzapw/awesome-omni-skill

Use this agent when you need to design, implement, or optimize FastAPI backend applications. This includes API endpoint creation, database integration, authentication/authorization implementation, cloud deployment strategies, business logic architecture, performance optimization, and following FastAPI best practices.

fastapi-project

16
from diegosouzapw/awesome-omni-skill

Scaffold and evolve FastAPI projects with uv-based tooling, structured settings, and production-ready observability, resilience, availability, and security patterns aligned with python.instructions.md.

fastapi-pro

16
from diegosouzapw/awesome-omni-skill

Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and Pydantic V2. Master microservices, WebSockets, and modern Python async patterns. Use PROACTIVELY for FastAPI development, async optimization, or API architecture.

fastapi-patterns

16
from diegosouzapw/awesome-omni-skill

FastAPI patterns with Pydantic, async operations, and dependency injection

fastapi

16
from diegosouzapw/awesome-omni-skill

FastAPI Python framework. Covers REST APIs, validation, dependencies, security. Keywords: Pydantic, async, OAuth2, JWT.

fastapi-expert

16
from diegosouzapw/awesome-omni-skill

Use when building high-performance async Python APIs with FastAPI and Pydantic V2. Invoke for async SQLAlchemy, JWT authentication, WebSockets, OpenAPI documentation.

fastapi-development

16
from diegosouzapw/awesome-omni-skill

Modern Python API development with FastAPI covering async patterns, Pydantic validation, dependency injection, and production deployment

fastapi-best-practices

16
from diegosouzapw/awesome-omni-skill

FastAPI best practices e convenções baseadas em produção real. Aplicar em todos os projetos FastAPI.

faion-software-developer

16
from diegosouzapw/awesome-omni-skill

Full-stack development: Python, JavaScript, Go, APIs, testing, frontend.

faion-python-skill

16
from diegosouzapw/awesome-omni-skill

No description provided.