evolve-skill
について
`evolve-skill`スキルは、既存のスキルを更新し、その内容をその場で改良するか、高度なバリアントを作成します。このスキルは、評価、要件収集、変更の適用、バージョンメタデータと相互参照の同期を処理します。スキルの手順が古くなっている場合、フィードバックから不足が明らかになった場合、または複雑さの向上が必要な場合に使用してください。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/evolve-skillこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
Evolve an Existing Skill
Improve, extend, or create advanced variant of skill originally made w/ create-skill. Covers maintenance: assess gaps, apply improvements, bump versions, sync registry + cross-refs.
Use When
- Procedure outdated after tooling change
- Feedback → missing pitfalls, unclear steps, weak validation
- Needs grow basic → intermediate (intermediate → advanced)
- Advanced variant needed alongside original (e.g.,
create-r-package+create-r-package-advanced) - Related skills added/removed → cross-refs stale
In
- Required: Path to existing SKILL.md
- Required: Evolution trigger (feedback, tooling, complexity, new related, discovered pitfalls)
- Optional: Target complexity if change (basic, intermediate, advanced)
- Optional: Create variant instead refine (default: refine in-place)
Do
Step 1: Assess Current
Read SKILL.md + eval each section vs checklist:
| Section | Check | Common Issues |
|---|---|---|
| Frontmatter | Required fields, description <1024 | Missing tags, stale version |
| When to Use | 3-5 concrete triggers | Vague/overlapping |
| Inputs | Required vs optional separated | Missing defaults |
| Procedure | Each step code + Expected + On failure | Missing On failure, pseudocode not real |
| Validation | Binary pass/fail | Subjective ("clean") |
| Common Pitfalls | 3-6 w/ cause + avoidance | Too generic ("be careful") |
| Related Skills | 2-5 valid refs | Stale to renamed/removed |
# Read the skill
cat skills/<skill-name>/SKILL.md
# Check frontmatter parses
head -20 skills/<skill-name>/SKILL.md
# Verify related skills still exist
grep -oP '`[\w-]+`' skills/<skill-name>/SKILL.md | sort -u
→ List specific gaps.
If err: no SKILL.md or no frontmatter → skill N/A, use create-skill from scratch.
Step 2: Gather Reqs
Identify + categorize trigger:
| Trigger | Example | Scope |
|---|---|---|
| User feedback | "Step 3 unclear" | Refinement |
| Tooling change | New API, deprecated cmd | Refinement |
| Discovered pitfall | Common failure undocumented | Refinement |
| Complexity upgrade | Too shallow for real use | Refinement or variant |
| New related | Adjacent skill added | Refinement (cross-refs) |
| Advanced use case | Power users deeper | Variant |
Document changes + target sections before edit.
→ Concrete list (e.g., "Add On failure Step 4", "Add Step 6 edge case X", "Update Related → new-skill").
If err: unclear → consult user. Vague goals → vague improvements.
Step 3: Choose Scope
Decision matrix:
| Criteria | Refinement (in-place) | Variant (new skill) |
|---|---|---|
| Skill ID | Unchanged | <skill>-advanced |
| File path | Same SKILL.md | New dir |
| Version bump | Patch/minor | Starts 1.0 |
| Complexity | May increase | Higher than original |
| Registry | No new entry | New entry |
| Symlinks | No change | New symlinks |
| Original | Modified directly | Left intact, gains cross-ref |
Refinement: Improve quality, fix gaps, modest new. Keeps identity.
Variant: Doubles length, diff audience, diff inputs. Original stays for simpler uses.
→ Clear decision + rationale.
If err: unsure → default refinement. Extract variant later easier than merge back.
Step 4: Apply Changes
Refinements
Edit existing SKILL.md directly:
# Open for editing
# Add/revise procedure steps
# Strengthen Expected/On failure pairs
# Add tables or examples
# Update When to Use triggers
# Revise Inputs if scope changed
Editing rules:
- Preserve all sections — add not remove
- Step numbering sequential after insertions
- Every new/modified step → Expected + On failure
- New pitfalls at end of Common Pitfalls
- New related at end of Related Skills
Variants
# Create the variant directory
mkdir -p skills/<skill-name>-advanced/
# Copy the original as a starting point
cp skills/<skill-name>/SKILL.md skills/<skill-name>-advanced/SKILL.md
# Edit the variant:
# - Change `name` to `<skill-name>-advanced`
# - Update `description` to reflect the advanced scope
# - Raise `complexity` (e.g., intermediate → advanced)
# - Reset `version` to "1.0"
# - Add/expand procedure steps for the advanced use case
# - Reference the original in Related Skills as a prerequisite
→ SKILL.md (refined/variant) passes Step 1 checklist.
If err: edit breaks structure → git diff review, revert git checkout -- <file>.
Step 4.5: Sync Translated Variants
Required when translations exist. Applies human authors + AI agents. No skip — stale
source_commit→npm run validate:translationsfalse staleness across locales.
Check + update translations:
# Check for existing translations
ls i18n/*/skills/<skill-name>/SKILL.md 2>/dev/null
If translations exist
- Current source commit:
SOURCE_COMMIT=$(git rev-parse HEAD)
- Update
source_commiteach translated:
for locale_file in i18n/*/skills/<skill-name>/SKILL.md; do
sed -i "s/^source_commit: .*/source_commit: $SOURCE_COMMIT/" "$locale_file"
done
- Flag → re-translation in commit msg:
evolve(<skill-name>): <description of changes>
Translations flagged for re-sync: de, zh-CN, ja, es
Changed sections: <list sections that changed>
- Regenerate status:
npm run translation:status
If no translations exist
No action. Proceed Step 5.
Variants
Defer translation new variants until stabilize (1-2 versions). Translating v1.0 variant that may change by v1.2 wastes effort. Add after refinement.
→ All translated source_commit updated. Commit msg notes locales + sections. npm run translation:status exits 0.
If err: sed fails match field → translated file non-standard. Open manually, verify source_commit in YAML. Missing → re-scaffold npm run translate:scaffold.
Step 5: Version + Metadata
Bump version semver:
| Change | Bump | Example |
|---|---|---|
| Typo/wording | Patch: 1.0 → 1.1 | Fixed unclear sentence |
| New step/pitfall/table | Minor: 1.0 → 2.0 | Added Step 7 edge case |
| Restructured, inputs changed | Major: 1.0 → 2.0 | Reorganized 5 → 8 steps |
Also update:
complexityif scope expanded (basic → intermediate)tagsif coverage changeddescriptionif scope materially diff
→ version reflects magnitude. New variants start "1.0".
If err: forget bump → no track. Always bump before commit.
Step 6: Registry + Cross-Refs
Refinements
No registry changes (path unchanged). Update cross-refs only if Related Skills changed in other skills:
# Check if any skill references the evolved skill
grep -r "<skill-name>" skills/*/SKILL.md
Variants
Add new skill to skills/_registry.yml:
- id: <skill-name>-advanced
path: <skill-name>-advanced/SKILL.md
complexity: advanced
language: multi
description: One-line description of the advanced variant
Then:
- Increment
total_skillstop of registry - Add Related Skills in original → variant
- Add Related Skills in variant → original
- Symlinks for slash command discovery:
# Project-level
ln -s ../../skills/<skill-name>-advanced .claude/skills/<skill-name>-advanced
# Global
ln -s /mnt/d/dev/p/agent-almanac/skills/<skill-name>-advanced ~/.claude/skills/<skill-name>-advanced
→ Registry total_skills = find skills -name SKILL.md | wc -l. Cross-refs bidirectional.
If err: count wrong → find skills -name SKILL.md | wc -l get truth + correct. Broken symlinks → readlink -f debug.
Step 7: Validate
Full checklist:
- SKILL.md exists expected path
- YAML frontmatter parses
-
versionbumped (refinement) or "1.0" (variant) - All sections: When to Use, Inputs, Procedure, Validation, Common Pitfalls, Related Skills
- Every step has Expected + On failure
- Related Skills ref valid existing
- Registry entry (variants) correct path
-
total_skillsmatches actual disk - Symlinks resolve (variants)
-
git diffno accidental deletions - Refinements w/ translations:
source_commitupdated or flagged re-sync
# Verify frontmatter
head -20 skills/<skill-name>/SKILL.md
# Count skills on disk vs registry
find skills -name SKILL.md | wc -l
grep total_skills skills/_registry.yml
# Check symlinks (for variants)
ls -la .claude/skills/<skill-name>-advanced
readlink -f .claude/skills/<skill-name>-advanced/SKILL.md
# Review all changes
git diff
→ All pass. Ready to commit.
If err: address each. Most common: stale total_skills — always verify last.
Check
- SKILL.md exists + valid YAML
-
versionreflects changes - Every step has Expected + On failure
- Related Skills valid (no broken)
- Registry
total_skillsmatches disk - Variants: new entry in
_registry.ymlcorrect path - Variants: symlinks at
.claude/skills/+~/.claude/skills/ -
git diffno accidental removal - Refinements w/ translations:
source_commitupdated or flagged
Traps
- Forget version bump: No track. Always
versionbefore commit. - Accidental deletion: Restructure → drop On failure or table row. Review
git diffbefore commit. - Stale cross-refs: Variant → both original + variant reference each other. One-directional → incomplete graph.
- Registry count drift: Variant → increment
total_skills. Forget → validation failures elsewhere. - Stale translations post-evolution: 1,288 translations → every skill evolution → up to 4 locale files stale. Check
ls i18n/*/skills/<skill-name>/SKILL.md+ updatesource_commitor flag re-translation. Skip →npm run validate:translationsstale warnings. - Scope creep in refinement: Refinement doubling length → probably variant. >3 new steps → reconsider Step 3 decision.
git mvon NTFS (WSL):/mnt/paths,git mvfor dirs → broken permissions (d?????????). Usemkdir -p+ copy +git rmold. See env guide troubleshooting.
→
create-skill— foundation new skills; evolve-skill assumes this followedcommit-changes— commit evolved skill w/ descriptive msgconfigure-git-repository— version-controlled changessecurity-audit-codebase— review for accidentally included secrets
GitHub リポジトリ
関連スキル
content-collections
メタこのスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。
polymarket
メタこのスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。
creating-opencode-plugins
メタこのスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。
sglang
メタSGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。
