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-skillClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
演化既有技能
改、擴或建以 create-skill 原著之技能之進階變體。此程涵技能生命週期之維護面:差距評估、施針對性改、升版、保持登記冊與交互引用之同步。
適用時機
- 工具變後技能之步驟陳舊或不全
- 使用者回饋示缺陷阱、步驟不明或驗證弱
- 技能需自基本升至中等(或中等升至進階)
- 需原之外之進階變體(如
create-r-package與create-r-package-advanced) - 加或移相關技能而交互引用陳
輸入
- 必要:待演之既有 SKILL.md 之路徑
- 必要:演化觸發(回饋、工具變、複雜升、新相關技能、所發現之陷阱)
- 選擇性:若變之目標複雜度等級(basic、intermediate、advanced)
- 選擇性:是否建進階變體而非就地改(預設:就地改)
步驟
步驟一:評當前技能
讀既有 SKILL.md 並對品質清單評各節:
| 節 | 所察 | 常見問題 |
|---|---|---|
| Frontmatter | 所必欄俱在,description < 1024 字 | 缺 tags、陳 version |
| When to Use | 3-5 具體觸發條件 | 模糊或重疊觸發 |
| Inputs | 必要 vs 選擇性分清 | 選擇性輸入缺預設 |
| Procedure | 各步有 code + Expected + On failure | 缺 On failure、以偽碼代實命 |
| Validation | 各項為二元過/敗 | 主觀標準(「代碼清」) |
| Common Pitfalls | 3-6,帶因與避 | 過泛(「謹之」) |
| Related Skills | 2-5 有效技能引用 | 陳引用指已改或移之技能 |
# 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
預期: 具體差距、弱處或改善機會之清單。
失敗時: 若 SKILL.md 不存或無 frontmatter,此技不適——改用 create-skill 自頭著之。
步驟二:採演化需求
識並分類演化之觸發:
| 觸發 | 例 | 典型範圍 |
|---|---|---|
| 使用者回饋 | 「Step 3 不明」 | 改 |
| 工具變 | 新 API 版、棄用之命 | 改 |
| 發現陷阱 | 未文檔之常見敗 | 改 |
| 複雜升 | 技能於實際用過淺 | 改或變體 |
| 新相關技能 | 鄰接技能已加 | 改(交互引用) |
| 進階用例 | 高階使用者需深覆 | 變體 |
編前先記所需之具體改。列各改及其目標節。
預期: 具體改之清單(如「於 Step 4 加 On failure」、「加新 Step 6 處理邊緣情 X」、「更 Related Skills 納 new-skill」)。
失敗時: 若改不明,進前諮詢使用者以釐。演化目標泛則改善亦泛。
步驟三:擇演化範圍
以此決策矩陣定是就地改或建變體:
| 標準 | 就地改(in-place) | 進階變體(新技能) |
|---|---|---|
| 技能 ID | 不變 | 新 ID:<skill>-advanced |
| 檔路徑 | 同 SKILL.md | 新目錄 |
| 版本升 | Patch 或 minor | 起於 1.0 |
| 複雜 | 或增 | 高於原 |
| Registry | 無新項 | 加新項 |
| Symlinks | 無變 | 需新 symlink |
| 原技能 | 直接修 | 保全,得交互引用 |
改:於提升品質、補差距或加適度新內容時擇之。技能保其身分。
變體:當演後之版會令技能長倍、改目標受眾或需實質異之輸入時擇之。原技能保於較簡之用例。
預期: 明決——改或變體——含理由。
失敗時: 若不定,預設改。後可抽變體;合回則難。
步驟四:施內容改
就地改
直接編既有 SKILL.md:
# 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
遵此編輯規:
- 保所有既有節——加內容,勿移節
- 插入後保步驟編號連續
- 每新或改之步皆須有 Expected 與 On failure
- 新陷阱於 Common Pitfalls 節末
- 新相關技能於 Related Skills 節末
變體
# 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(改或新變體)過步驟一之評估清單。
失敗時: 若步驟編輯破文檔結構,以 git diff 審改並以 git checkout -- <file> 回部分編輯。
步驟 4.5:同步翻譯之變體
翻譯存時必行。 此步適於依此程之人類作者與 AI 代理。勿略——陳
source_commit值致npm run validate:translations於所有語言報假陳舊警。
察演化之技能是否存譯文並更以反新源狀態:
# Check for existing translations
ls i18n/*/skills/<skill-name>/SKILL.md 2>/dev/null
若譯文存
- 取當前源 commit hash:
SOURCE_COMMIT=$(git rev-parse HEAD)
- 更各譯文 frontmatter 中之
source_commit:
for locale_file in i18n/*/skills/<skill-name>/SKILL.md; do
sed -i "s/^source_commit: .*/source_commit: $SOURCE_COMMIT/" "$locale_file"
done
- 於 commit 訊息中納受影響語言以旗標檔供重譯:
evolve(<skill-name>): <description of changes>
Translations flagged for re-sync: de, zh-CN, ja, es
Changed sections: <list sections that changed>
- 再生譯狀態檔:
npm run translation:status
若無譯文
無需行動。進步驟五。
於變體
遞譯新變體至變體穩(1-2 版)。譯 v1.0 之變體若至 v1.2 可能實質變為浪工。於變體至少一改後再加譯。
預期: 所有譯文之 source_commit 已更至當前 commit。Commit 訊息記哪些語言需重譯及何節改。npm run translation:status 以 0 出。
失敗時: 若 sed 未能配 frontmatter 欄,譯文或有非標準格式。手開之並驗其於 YAML frontmatter 有 source_commit。若欄缺,檔未正鷹架——以 npm run translate:scaffold 重建。
步驟五:更版與元數據
升 frontmatter 之 version 欄,循 semver 之規:
| 改類 | 版升 | 例 |
|---|---|---|
| 錯字修、措詞釐清 | Patch:1.0 → 1.1 | 修 Step 3 中不明之句 |
| 新步、新陷阱、新表 | Minor:1.0 → 2.0 | 加 Step 7 處邊緣情 |
| 重構程、改輸入 | Major:1.0 → 2.0 | 自 5 步重組為 8 步 |
亦更:
complexity若範圍擴(如 basic → intermediate)tags若覆域變description若技能範圍實質異
預期: Frontmatter version 反改之幅。新變體起於 "1.0"。
失敗時: 若忘升版,次演化無法辨當前態與前態。恒於 commit 前升之。
步驟六:更登記冊與交互引用
就地改
無需改登記冊(路徑不變)。僅於他技能之 Related Skills 變時更交互引用:
# Check if any skill references the evolved skill
grep -r "<skill-name>" skills/*/SKILL.md
變體
加新技能至 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
然後:
- 增登記冊頂之
total_skills - 於原技能之 Related Skills 加指向變體之交互引用
- 於變體之 Related Skills 加指向原技能之交互引用
- 建 symlink 以發現 slash command:
# 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
預期: 登記冊 total_skills 配 find skills -name SKILL.md | wc -l。交互引用雙向。
失敗時: 若登記計誤,執 find skills -name SKILL.md | wc -l 取實計並修登記冊。於破 symlink,以 readlink -f 除錯解析。
步驟七:驗已演技能
行全驗證清單:
- SKILL.md 於預期路徑存
- YAML frontmatter 無誤解析
-
version已升(改)或設為 "1.0"(變體) - 所有節俱在:When to Use、Inputs、Procedure、Validation、Common Pitfalls、Related Skills
- 每步有 Expected 與 On failure 區
- Related Skills 引用有效存之技能名
- 登記冊項存且路徑正確(僅變體)
-
total_skills計配磁碟實際技能數 - Symlink 正確解析(僅變體)
-
git diff示原內容無誤刪 - 於帶譯之改:
source_commit已更或譯已旗標待重譯
# 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
預期: 所有清單項過。已演技能已備以 commit。
失敗時: 逐一處理每敗項。演後最常之問題為陳之 total_skills 計——恒末驗之。
驗證
- SKILL.md 存並有有效 YAML frontmatter
-
version欄反所作之改 - 所有步有 Expected 與 On failure 區
- Related Skills 引用有效(無破交互引用)
- 登記冊
total_skills配磁碟實際計 - 於變體:
_registry.yml中有新項含正確路徑 - 於變體:symlink 已建於
.claude/skills/與~/.claude/skills/ -
git diff確無誤移內容 - 於帶譯之改:
source_commit已更或譯已旗標待重譯
常見陷阱
- 忘升版:無版升則無法追何時何變。恒於 commit 前更 frontmatter 之
version。 - 誤刪內容:重組步時易落 On failure 區或表列。恒於 commit 前審
git diff。 - 陳交互引用:建變體時,原與變體須互引。單向引用使圖不全。
- 登記計漂移:建變體後,
total_skills計須增。忘之致他查登記之技能驗證敗。 - 演後陳譯:庫中 1,288 譯文,每次技能演化觸發至 4 語言檔之陳舊。恒以
ls i18n/*/skills/<skill-name>/SKILL.md察既存譯文並更各譯文 frontmatter 之source_commit,或於 commit 訊息中旗標以待重譯。略此致npm run validate:translations報陳舊警。 - 改中範圍蔓延:改倍技能長應為變體。若爾加逾 3 新步,重思步驟三之範圍決。
- 避於 NTFS 掛載路徑用
git mv(WSL):於/mnt/路徑,git mv目錄可致破權限(d?????????)。改用mkdir -p+ 複製檔 +git rm舊路徑。見 環境指南 除錯節。
相關技能
create-skill— 著新技能之基;evolve-skill 假其原依之commit-changes— 以描述訊息 commit 已演技能configure-git-repository— 版本控之技能改security-audit-codebase— 審已演技能有無誤納密秘
GitHub 저장소
연관 스킬
content-collections
메타이 스킬은 콘텐츠 콜렉션(Content Collections)을 위한 프로덕션 검증된 설정을 제공합니다. 콘텐츠 콜렉션은 Markdown/MDX 파일을 Zod 검증이 포함된 타입 안전한 데이터 콜렉션으로 변환해주는 TypeScript 최우선 도구입니다. 블로그, 문서 사이트 또는 콘텐츠 중심의 Vite + React 애플리케이션을 구축할 때 타입 안전성과 자동 콘텐츠 검증을 보장하기 위해 사용하세요. Vite 플러그인 구성과 MDX 컴파일부터 배포 최적화 및 스키마 검증에 이르기까지 모든 것을 다룹니다.
polymarket
메타이 스킬은 개발자들이 Polymarket 예측 시장 플랫폼을 활용한 애플리케이션을 구축할 수 있도록 지원하며, 거래 및 시장 데이터를 위한 API 통합 기능을 포함합니다. 또한 WebSocket을 통한 실시간 데이터 스트리밍을 제공하여 실시간 거래와 시장 활동을 모니터링할 수 있습니다. 이를 통해 거래 전략을 구현하거나 실시간 시장 업데이트를 처리하는 도구를 생성하는 데 활용할 수 있습니다.
creating-opencode-plugins
메타이 스킬은 개발자들이 명령어, 파일, LSP 작업 등 25개 이상의 이벤트 유형에 연결되는 OpenCode 플러그인을 만들 수 있도록 돕습니다. JavaScript/TypeScript 모듈을 위한 플러그인 구조, 이벤트 API 명세, 구현 패턴을 제공합니다. OpenCode AI 어시스턴트의 라이프사이클을 사용자 정의 이벤트 기반 로직으로 가로채거나, 모니터링하거나, 확장해야 할 때 사용하세요.
sglang
메타SGLang은 RadixAttention 프리픽스 캐싱을 활용하여 JSON, 정규식, 에이전트 워크플로우를 위한 고속 구조화 생성에 특화된 고성능 LLM 서빙 프레임워크입니다. 특히 반복되는 프리픽스가 있는 작업에서 상당히 빠른 추론 속도를 제공하여 복잡한 구조화 출력 및 다중 턴 대화에 이상적입니다. 제약 디코딩이 필요하거나 광범위한 프리픽스 공유가 있는 애플리케이션을 구축할 때는 vLLM과 같은 대안보다 SGLang을 선택하십시오.
