EV

evolving-skill-creator

This skill creates a directory structure for evolving tasks using YAML frontmatter and documented workflow steps.

Install

mkdir -p .claude/skills/evolving-skill-creator && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7474" && unzip -o skill.zip -d .claude/skills/evolving-skill-creator && rm skill.zip

Installs to .claude/skills/evolving-skill-creator

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Guide for creating evolving skills - detailed workflow plans that capture what you'll do, what tools you'll create, and learnings from execution. Use this when starting a new task that could benefit from a reusable workflow.
224 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Define workflow plans
  • Structure task-specific scripts
  • Document iteration learnings
  • Standardize directory layouts

How it works

It uses a specific directory structure and YAML frontmatter to define and iterate on reusable workflow plans.

Inputs & outputs

You give it
Task goal
You get back
Evolving skill directory structure

When to use evolving-skill-creator

  • Create a reusable automation plan
  • Document workflow iteration learnings
  • Structure task-specific scripts
  • Standardize workflow documentation

About this skill

Evolving Skill Creator

Create evolving skills - detailed workflow plans that become reusable through iteration.

What is an Evolving Skill?

An evolving skill is a workflow plan that:

  1. Documents specific steps to accomplish a goal
  2. Lists Python scripts you'll create as reusable tools
  3. Captures learnings after execution for future improvement

Unlike static skills, evolving skills are refined through use.

Directory Structure

tasks/evolving_skill/
├── SKILL.md              # Your workflow plan
└── scripts/              # Python tools you create during execution
    ├── scrape_data.py
    └── generate_output.py

SKILL.md Format

IMPORTANT: YAML Frontmatter is Required

Every evolving skill MUST start with YAML frontmatter containing name and description. These fields are critical for skill discovery - they determine how the skill is identified when loaded in future sessions.

---
name: descriptive-skill-name    # REQUIRED - used for identification
description: Clear explanation of what this workflow does and when to use it  # REQUIRED - used for discovery
---
# Task Name

## Overview
Brief description of the problem this skill solves.

## Workflow
Detailed numbered steps:
1. First step - be specific
2. Second step - include commands/tools to use
3. ...

## Tools to Create
Python scripts you'll write. Document BEFORE writing them:

### scripts/example_tool.py
- **Purpose**: What it does
- **Inputs**: What it takes (args, files, etc.)
- **Outputs**: What it produces
- **Dependencies**: Required packages

## Tools to Use
(Discover what's available, list ones you'll use)
- servers/name: MCP server tools
- custom_tools/name: Python tool implementations

## Skills
- skill_name: how it will help

## Packages
- package_name (pip install package_name)

## Expected Outputs
- Files this workflow produces
- Formats and locations

## Learnings
(Add after execution)

### What Worked Well
- ...

### What Didn't Work
- ...

### Tips for Future Use
- ...

Tools to Create Section

This is the key differentiator. When your workflow involves writing Python scripts, document them upfront:

## Tools to Create

### scripts/fetch_artist_data.py
- **Purpose**: Crawl Wikipedia and extract artist biographical data
- **Inputs**: artist_name (str), output_path (str)
- **Outputs**: JSON file with structured bio data
- **Dependencies**: crawl4ai, json

### scripts/build_site.py
- **Purpose**: Generate static HTML from artist data
- **Inputs**: data_path (str), theme (str), output_dir (str)
- **Outputs**: Complete website in output_dir/
- **Dependencies**: jinja2

After execution, the actual scripts live in scripts/ and can be reused.

Creating an Evolving Skill

  1. Create directory: mkdir -p tasks/evolving_skill
  2. Write SKILL.md with proper YAML frontmatter first:
    • name: Use a descriptive, reusable name (e.g., artist-website-builder, not bob-dylan-site)
    • description: Explain what the workflow does and when to use it
  3. Execute workflow following your plan
  4. Create scripts as documented in Tools to Create
  5. Update SKILL.md with Learnings after completion

Naming Guidelines

Choose names that describe the type of task, not the specific instance:

  • Good: artist-website-builder, data-scraper-to-static-site, pdf-report-generator
  • Bad: bob-dylan-project, session-12345, my-task

The name should make it clear what the skill does when discovered in future sessions.

Updating After Execution

After completing your work:

  1. Refine Workflow - Update steps based on what actually worked
  2. Move scripts - Ensure working scripts are in scripts/
  3. Add Learnings - Document what worked, what didn't, tips

Example: Complete Evolving Skill

---
name: artist-website-builder
description: Build static biographical websites for artists by scraping public sources and generating themed HTML.
---
# Artist Website Builder

## Overview
Create professional artist websites by gathering biographical data and generating themed static HTML.

## Workflow
1. Research artist - gather name variations, active years
2. Scrape data using scripts/fetch_artist_data.py
3. Review and clean extracted data
4. Generate site using scripts/build_site.py with "minimalist-dark" theme
5. Review in browser, check mobile responsiveness
6. Iterate on styling if needed

## Tools to Create

### scripts/fetch_artist_data.py
- **Purpose**: Crawl Wikipedia and extract artist biographical data
- **Inputs**: artist_name (str)
- **Outputs**: artist_data.json
- **Dependencies**: crawl4ai

### scripts/build_site.py
- **Purpose**: Generate static HTML from artist data
- **Inputs**: artist_data.json, theme_name
- **Outputs**: Complete website in output/
- **Dependencies**: jinja2

## Tools to Use
- servers/context7: fetching crawl4ai and jinja2 documentation
- servers/browser: capturing site previews for review
- custom_tools/image_optimizer: compressing generated assets

## Skills
- web-scraping-patterns: structuring the crawl4ai approach

## Packages
- crawl4ai (pip install crawl4ai)
- jinja2 (pip install jinja2)

## Expected Outputs
- output/index.html
- output/discography.html
- output/assets/

## Learnings

### What Worked Well
- Wikipedia infoboxes have consistent structure
- crawl4ai async mode is 3x faster than sync
- "minimalist-dark" theme works best for musicians

### What Didn't Work
- AllMusic requires JS rendering - use Discogs API instead
- Initial theme had poor mobile layout

### Tips for Future Use
- Always check robots.txt before scraping
- Cache scraped data - re-running is slow
- Test on mobile early

Key Principles

  1. Be specific - Workflow steps should be actionable, not vague
  2. Document tools upfront - Plan scripts before writing them
  3. Test like a user - Verify artifacts through interaction, not just observation (click buttons, play games, navigate pages, run with edge cases, etc)
  4. Update with learnings - The skill improves through use
  5. Keep scripts reusable - Design tools to work in similar future tasks

When not to use it

  • Tasks that do not benefit from reusable workflows

Limitations

  • Requires YAML frontmatter for discovery
  • Requires manual updates after execution

How it compares

It creates living, iterative documentation compared to static task plans.

Compared to similar skills

evolving-skill-creator side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
evolving-skill-creator (this skill)17moNo flagsBeginner
yogieat-harness-governor02moNo flagsIntermediate
tsg-pipeline01moNo flagsIntermediate
blueprint-builder01moNo flagsAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

serena

massgen

This skill provides symbol-level code understanding and navigation using Language Server Protocol (LSP). Enables IDE-like capabilities for finding symbols, tracking references, and making precise code edits at the symbol level.

1597

file-search

massgen

This skill should be used when agents need to search codebases for text patterns or structural code patterns. Provides fast search using ripgrep for text and ast-grep for syntax-aware code search.

33

textual-ui-developer

massgen

Develop and improve the MassGen Textual TUI by running it in a browser via textual-serve and using Claude's browser tool for visual feedback.

24

massgen-config-creator

massgen

Guide for creating properly structured YAML configuration files for MassGen. This skill should be used when agents need to create new configs for examples, case studies, testing, or demonstrating features.

15

massgen-develops-massgen

massgen

Guide for using MassGen to develop and improve itself. This skill should be used when agents need to run MassGen experiments programmatically (using automation mode) OR analyze terminal UI/UX quality (using visual evaluation tools). These are mutually exclusive workflows for different improvement goals.

13

massgen-log-analyzer

massgen

Run MassGen experiments and analyze logs using automation mode, logfire tracing, and SQL queries. Use this skill for performance analysis, debugging agent behavior, evaluating coordination patterns, and improving the logging structure, or whenever an ANALYSIS_REPORT.md is needed in a log directory.

12

Search skills

Search the agent skills registry