evolving-skill-creator について
evolving-skill-creatorは、実行を重ねて改善する再利用可能なワークフロー型スキルの作成ガイドです。手順の記録に加え、Pythonスクリプトの事前計画と実行後の学びを重視します。
主な機能
- 01目標達成の手順を記録
- 02再利用するPythonスクリプトを計画
- 03実行後の学びを記録
- 04発見用YAMLメタデータを必須化
活用シーン
- 01繰り返し使うデータ収集手順の記録
- 02再利用スクリプトを含むスキルの作成
- 03実行後のワークフロー改善
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ massgen/ massgen --skill evolving-skill-creatorインストール後、Claude Code で/evolving-skill-creatorを入力して読み込まれたか確認します。
詳細
進化するスキルの作成
進化するスキルを作成します。反復を通じて再利用可能になる、詳細なワークフロープランです。
進化するスキルとは?
進化するスキルとは、次の内容を含むワークフロープランです。
- 目標を達成するための具体的な手順を記録します
- 再利用可能なツールとして作成する Python スクリプトを一覧にします
- 実行後に得られた知見を記録し、今後の改善に役立てます
静的なスキルとは異なり、進化するスキルは使用を通じて磨かれていきます。
ディレクトリ構成
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/ に保存され、再利用できます。
進化するスキルの作成
- ディレクトリを作成:
mkdir -p tasks/evolving_skill - 適切な YAML Frontmatter を最初に記述して SKILL.md を作成します。
name:具体的で再利用可能な名前を使用します(例:bob-dylan-siteではなくartist-website-builder)。description:ワークフローで何を行うのか、いつ使用するのかを説明します。
- 計画に従って ワークフローを実行します
- 「作成するツール」に記載したとおりに スクリプトを作成します
- 完了後、「得られた知見」を追加して SKILL.md を更新します
命名ガイドライン
特定の事例ではなく、タスクの種類を表す名前を選んでください。
- 良い例:
artist-website-builder、data-scraper-to-static-site、pdf-report-generator - 悪い例:
bob-dylan-project、session-12345、my-task
今後のセッションでスキルが見つかったときに、名前からそのスキルの機能が明確にわかるようにしてください。
実行後の更新
作業が完了したら、次のことを行います。
- ワークフローを改善 - 実際にうまくいった内容に基づいて手順を更新します
- スクリプトを移動 - 動作するスクリプトが
scripts/にあることを確認します - 得られた知見を追加 - うまくいったこと、うまくいかなかったこと、ヒントを記録します
例:進化するスキルの完成形
---
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
主な原則
- 具体的にする - ワークフローの手順は曖昧にせず、実行可能なものにします
- ツールを事前に記録する - スクリプトを書く前に、作成するスクリプトを計画します
- ユーザーのようにテストする - 観察するだけでなく、操作して成果物を検証します(ボタンをクリックする、ゲームをプレイする、ページを移動する、エッジケースで実行するなど)。
- 得られた知見で更新する - スキルは使用を通じて改善されます
- スクリプトを再利用可能に保つ - 今後の類似タスクでも使えるようにツールを設計します
コメント
Markdown 対応