mcpField
E
evolving-skill-creator

evolving-skill-creator

github.com/massgenAgent 工作流1.1k93 次安装20 周前更新
代码仓库

关于 evolving-skill-creator

evolving-skill-creator 用于编写可复用、可迭代改进的工作流技能,面向需要记录任务流程的人。它强调预先规划 Python 脚本,并在执行后总结经验。

主要功能

  1. 01记录目标的执行步骤
  2. 02规划可复用的 Python 脚本
  3. 03记录执行后的经验
  4. 04要求 YAML 发现元数据

适用场景

  1. 01记录可重复的数据收集流程
  2. 02创建含可复用脚本的技能
  3. 03运行后改进工作流

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/massgen/massgen --skill evolving-skill-creator

安装后在 Claude Code 中输入/evolving-skill-creator确认已加载。

详细介绍

不断演进的技能创建器

创建不断演进的技能——通过迭代变得可重复使用的详细工作流计划。

什么是不断演进的技能?

不断演进的技能是一份工作流计划,它:

  1. 记录完成目标的具体步骤
  2. 列出将创建为可重复使用工具的 Python 脚本
  3. 记录执行后的经验,以便日后改进

与静态技能不同,不断演进的技能会在使用过程中不断完善。

目录结构

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

SKILL.md 格式

重要:必须包含 YAML Frontmatter

每个不断演进的技能都必须以包含 name 和 description 的 YAML frontmatter 开头。这些字段对技能发现至关重要——它们决定了技能在未来会话中加载时的标识方式。

---
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
- ...

要创建的工具部分

这是关键区别所在。当工作流涉及编写 Python 脚本时,请提前记录这些脚本:

## 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

执行后,实际脚本会存放在 scripts/ 中,供后续重复使用。

创建不断演进的技能

  1. 创建目录:mkdir -p tasks/evolving_skill
  2. 先编写包含正确 YAML frontmatter 的 SKILL.md:
    • name:使用具有描述性且可重复使用的名称(例如,artist-website-builder,而不是 bob-dylan-site)
    • description:说明工作流的作用以及何时使用
  3. 按照计划执行工作流
  4. 创建 Tools to Create 中记录的脚本
  5. 完成后,在 SKILL.md 中更新经验总结
命名指南

选择描述任务类型的名称,而不是具体实例:

  • 好:artist-website-builder、data-scraper-to-static-site、pdf-report-generator
  • 不好:bob-dylan-project、session-12345、my-task

在未来会话中发现该技能时,名称应能清楚说明它的作用。

执行后更新

完成工作后:

  1. 完善工作流——根据实际效果更新步骤
  2. 移动脚本——确保可正常运行的脚本位于 scripts/ 中
  3. 添加经验总结——记录哪些做法有效、哪些无效,以及相关提示

示例:完整的不断演进的技能

---
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

核心原则

  1. 具体明确——工作流步骤应可执行,不能含糊
  2. 提前记录工具——编写脚本前先规划
  3. 像用户一样测试——通过交互验证产物,而不只是观察(点击按钮、玩游戏、浏览页面、使用边缘情况运行等)
  4. 根据经验更新——技能会在使用过程中不断改进
  5. 保持脚本可重复使用——设计工具,使其适用于未来类似任务

评论

支持 Markdown