skill-evolution-driver
npx skills add https://github.com/ewanyuan/cox-coding --skill skill-evolution-driver
Agent 安装分布
Skill 文档
æè½è¿å驱å¨å¸
ä»»å¡ç®æ
- æ¬ Skill ç¨äºï¼é©±å¨æè½è¿è¡èªæè¿åï¼éç项ç®è¿ç¨æ¨è¿æç»ä¼å
- è½åå
å«ï¼
- çæ§skill-manageråå¨çæ°æ®ï¼è¯å«æè½ä¼åæºä¼
- å¨ç©ºé²æ¶æéç¨æ·æ½å¨çä¼å建议
- ç»´æ¤æè½ä¼å任塿¸ å
- æ§è¡æè½æ´æ°æµç¨ï¼å¤ä»½ãæ´æ°ãæµè¯ãè¿åï¼
- 管çæè½çæ¬å·
- è§¦åæ¡ä»¶ï¼ä»¥ä¸ä»»ä¸æ
åµè§¦å
- ç¨æ·ç´æ¥éæ±ï¼”ä¼åæè½”ã”æ¹è¿æè½”ã”æè½éè¦æ´æ°”ã”æè½å级”ã”ä¿®å¤æè½é®é¢”
- èªå¨çæ§è§¦åï¼çæ§å°skill-manageråå¨çæè½æ°æ®ä¸æå¾ ä¼åçä»»å¡ï¼å¦ï¼status=pendingçä¼åä»»å¡ãæ¥å¿ä¸çé误åè¦åã缺失çå¿ è¦å段ï¼
- çæ¬ç¸å ³ï¼”æè½çæ¬å·éè¦æ´æ°”ã”éè¦è®°å½æè½åæ´”
- è´¨éç¸å ³ï¼”æè½æ ¼å¼ä¸æ£ç¡®”ã”éè¦æ£æ¥æè½è´¨é”ã”æè½æµè¯ä¸éè¿”
ä¼åè¯å«
æ°æ®æ¥æº
ä»skill-manageråå¨çæè½æ°æ®ä¸åæä¼åæºä¼ï¼
- 缺失信æ¯ï¼æè½é ç½®ä¸ç¼ºä¹å¿ è¦å段ï¼å¦versionï¼
- æ ¼å¼é®é¢ï¼æ°æ®æ ¼å¼ä¸ç¬¦åè§è
- éå¤ä¿¡æ¯ï¼åå¨å使éå¤çå 容
- ä½¿ç¨æ¨¡å¼ï¼æ ¹æ®è®¿é®é¢çåæ¹å¼è¯å«æ¹è¿ç¹
- é误æ¥å¿ï¼ä»æ¥å¿ä¸è¯å«å¸¸è§é误æè¦å
- è·¨æè½åä½é®é¢ï¼ä»å ¶ä»æè½çæ¥å¿ä¸è¯å«å¯¹å½åæè½çä¾èµé®é¢ææ¹è¿å»ºè®®
ä¼åç±»å
- format_improvementï¼æ ¼å¼æ¹è¿
- content_optimizationï¼å 容ä¼å
- version_updateï¼çæ¬å·æ´æ°
- bug_fixï¼Bugä¿®å¤
- feature_enhancementï¼åè½å¢å¼º
è¿åæµç¨
æ¥éª¤1ï¼æéç¨æ·
èªå¨çæ§è§¦å
æºè½ä½å®ææ£æ¥ skill-manager åå¨çæ°æ®ï¼è¯å«ä¼åæºä¼ï¼
æ£æ¥å·¥å
·ï¼è°ç¨ scripts/check_optimization_opportunities.py
# æ£æ¥æææè½
python scripts/check_optimization_opportunities.py
# æ£æ¥ç¹å®æè½
python scripts/check_optimization_opportunities.py --skill-name dev-observability
æ£æ¥å 容ï¼
- å¾ å¤çä»»å¡ï¼æ£æ¥ skill-evolution-driver èªèº«åå¨çä¼åä»»å¡ï¼status=pendingï¼
- ç¼ºå¤±åæ®µï¼æ£æ¥æè½é ç½®æ¯å¦ç¼ºå°å¿ è¦å段ï¼å¦ versionãdeploy_modeãmanual_pathï¼
- é误æ¥å¿ï¼æ£æ¥æè½æ¥å¿ä¸ç ERROR/WARNING/CRITICAL æ¥å¿
- ç®å½é®é¢ï¼æ£æ¥æè½ç®å½ç»ææ¯å¦ç¬¦åè§è
æéæ ¼å¼ï¼
æ£æµå°æ½å¨ä¼åæºä¼ï¼
- æè½ï¼skill-name
- ä¼åç±»åï¼format_improvement
- æè¿°ï¼SKILL.md缺å°versionåæ®µ
- æ¯å¦å¼å§ä¼åï¼ï¼y/nï¼
ç¨æ·ä¸»å¨è§¦å
å½ç¨æ·è¡¨è¾¾ä»¥ä¸éæ±æ¶ï¼ç´æ¥æéç¨æ·ï¼
- “ä¼åæè½”ã”æ¹è¿æè½”
- “æè½éè¦æ´æ°”ã”æè½å级”
- “ä¿®å¤æè½é®é¢”
- “æè½çæ¬å·éè¦æ´æ°”
- “æè½æ ¼å¼ä¸æ£ç¡®”ã”éè¦æ£æ¥æè½è´¨é”
æ¥éª¤2ï¼ç»´æ¤ä»»å¡æ¸ å
è¥ç¨æ·åæï¼è°ç¨skill-manageråå¨ä¼åä»»å¡ï¼
{
"task_id": "OPT-001",
"skill_name": "skill-name",
"optimization_type": "format_improvement",
"description": "SKILL.md缺å°versionåæ®µ",
"status": "pending",
"feasibility": "pending",
"backup_path": "",
"old_version": "",
"new_version": "",
"test_result": "",
"notes": "",
"created_at": "2024-01-22 12:00:00",
"updated_at": "2024-01-22 12:00:00"
}
å卿¹å¼ï¼æ´æ° skill-evolution-driver å¨ skill-manager ä¸çé ç½®
import sys
sys.path.insert(0, '/workspace/projects/skill-manager/scripts')
from skill_manager import SkillStorage
storage = SkillStorage(data_path="/workspace/projects/skill-data.json")
existing_config = storage.get_config("skill-evolution-driver") or {}
existing_config["optimization_tasks"] = [task_dict] # ä»»å¡å表
storage.save_config("skill-evolution-driver", existing_config)
æ¥éª¤3ï¼åæå¯è¡æ§
åæè¯¥æè½çä¼åå¯è¡æ§ï¼
å¯è¡æ§è¯ä¼°æ åï¼
- æè½ç®å½ç»æå®æ´
- SKILL.mdæ ¼å¼æ£ç¡®
- èæ¬è¯æ³æ£ç¡®
- ä¾èµå ³ç³»æ¸ æ°
- ä¼åå 容æç¡®
ä¸å¯è¡æ åµï¼
- æè½ç®å½ä¸å卿æå
- SKILL.mdæ ¼å¼éè¯¯ï¼æ æ³è§£æ
- ä¼åå å®¹ä¸æç¡®æè¿äºå¤æ
- ä¼åå¯è½ç ´åç°æåè½
æ´æ°ä»»å¡ç¶æï¼
- å¯è¡ï¼
feasibility: "feasible" - ä¸å¯è¡ï¼
feasibility: "not_feasible"ï¼å¹¶å¨notesä¸è¯´æåå
æ¥éª¤4ï¼å¤ä»½æè½
è°ç¨ scripts/backup_skill.py å¤ä»½æè½ï¼
python scripts/backup_skill.py --skill-dir /workspace/projects/skill-name
å¤ä»½æä»¶æ ¼å¼ï¼skill-name.backup.<timestamp>.skill
æ´æ°ä»»å¡ï¼
backup_path: "/workspace/projects/skill-name.backup.<timestamp>.skill"
æ¥éª¤5ï¼æ´æ°æè½
æ§è¡å ·ä½çä¼åæä½ï¼å¹¶æ´æ°çæ¬å·ï¼
- æ§è¡ä¼åï¼æ ¹æ®ä¼åç±»åä¿®æ¹æè½å 容
- æ´æ°çæ¬å·ï¼è°ç¨
scripts/update_version.py
python scripts/update_version.py --skill-dir /workspace/projects/skill-name --type patch
çæ¬å·ç±»åï¼
patchï¼ä¿®è®¢çæ¬ï¼v1.0.0 -> v1.0.1ï¼minorï¼æ¬¡çæ¬ï¼v1.0.0 -> v1.1.0ï¼majorï¼ä¸»çæ¬ï¼v1.0.0 -> v2.0.0ï¼
æ´æ°ä»»å¡ï¼
old_version: "v1.0.0"new_version: "v1.0.1"
æ¥éª¤6ï¼è¿è¡æµè¯
å¯¹æ´æ°åçæè½è¿è¡æµè¯éªè¯ï¼
æµè¯å 容ï¼
- SKILL.mdæ ¼å¼éªè¯ï¼YAMLåè¨åºï¼
- èæ¬è¯æ³æ£æ¥ï¼Pythonè¯æ³ï¼
- ç®å½ç»æéªè¯ï¼ç¬¦ååºå®ç»æï¼
- ä¾èµå®æ´æ§æ£æ¥ï¼dependencyåæ®µï¼
æµè¯èæ¬ï¼
python scripts/backup_skill.py --validate-only --skill-dir /workspace/projects/skill-name
æ¥éª¤7ï¼å¤çæµè¯ç»æ
æµè¯ä¸éè¿ï¼
- è°ç¨
scripts/restore_skill.pyè¿åæè½ - 使ç¨
manage_optimization_tasks.pyæ´æ°ä»»å¡ç¶æ
# è¿åæè½
python scripts/restore_skill.py --backup-file <å¤ä»½è·¯å¾> --skill-dir /workspace/projects/skill-name
# æ´æ°ä»»å¡ç¶æ
python scripts/manage_optimization_tasks.py update \
--task-id OPT-001 \
--status failed \
--test-result failed \
--notes "æµè¯å¤±è´¥ï¼SKILL.mdæ ¼å¼é误"
æµè¯éè¿ï¼
- 使ç¨
manage_optimization_tasks.pyæ´æ°ä»»å¡ç¶æ - æå æ°ç.skillæä»¶
- åç¥ç¨æ·æ´æ°å 容
- æéç¨æ·éæ°å è½½æè½
# æ´æ°ä»»å¡ç¶æ
python scripts/manage_optimization_tasks.py update \
--task-id OPT-001 \
--status completed \
--test-result passed \
--notes "ä¼åæåï¼å·²æ·»å versionåæ®µ" \
--new-version v1.0.1 \
--backup-path /workspace/projects/skill-name.backup.20260122120000.skill
éè¦ï¼å¿
é¡»æ´æ°ä»»å¡ç¶æä¸º completedï¼é¿å
䏿¬¡æ£æ¥æ¶é夿éç¸åçä¼åæºä¼ã
æ¥éª¤8ï¼éç¥ç¨æ·
æ ¹æ®æµè¯ç»æéç¥ç¨æ·ï¼
æµè¯éè¿ï¼
â æè½ä¼åæå
- æè½ï¼skill-name
- çæ¬ï¼v1.0.0 -> v1.0.1
- æ´æ°å
å®¹ï¼æ·»å versionåæ®µ
- å¤ä»½ï¼skill-name.backup.<timestamp>.skill
è¯·éæ°å è½½AI交äºçé¢ä»¥ä½¿ç¨æ´æ°åçæè½ã
æµè¯ä¸éè¿ï¼
â æè½ä¼å失败
- æè½ï¼skill-name
- åå ï¼æµè¯å¤±è´¥
- 详æ
ï¼SKILL.mdæ ¼å¼é误
- æè½å·²è¿å
æ ¸å¿åè½è¯´æ
æºè½ä½å¯å¤ççåè½
- çæ§skill-manageræ°æ®ï¼è¯å«ä¼åæºä¼
- å¨ç©ºé²æ¶æéç¨æ·ä¼å建议
- ç»´æ¤æè½ä¼å任塿¸ å
- åæä¼åå¯è¡æ§
- æ§è¡ä¼åæä½
- è¿è¡æµè¯éªè¯
- å¤çæµè¯ç»æ
- éç¥ç¨æ·
èæ¬å®ç°çåè½
- æ£æ¥ä¼åæºä¼ï¼
scripts/check_optimization_opportunities.pyæ«æskill-manageræ°æ®ï¼èªå¨è¯å«ä¼åæºä¼ï¼è¿æ»¤å·²å®æçä»»å¡ï¼ - 管çä¼åä»»å¡ï¼
scripts/manage_optimization_tasks.pyæä¾ä¼åä»»å¡çå¢å æ¹æ¥åè½ï¼add/update/listï¼ - å¤ä»½æè½ï¼
scripts/backup_skill.pyå¤ä»½æ´ä¸ªskillç®å½ - è¿åæè½ï¼
scripts/restore_skill.pyä»å¤ä»½è¿åæè½ - æ´æ°çæ¬å·ï¼
scripts/update_version.pyå¢å SKILL.mdä¸çversionåæ®µ - æµè¯éªè¯ï¼
scripts/backup_skill.py --validate-onlyéªè¯æè½æ ¼å¼
èµæºç´¢å¼
- ä¼åæºä¼æ£æ¥å·¥å ·ï¼è§ scripts/check_optimization_opportunities.pyï¼èªå¨æ«æskill-manageræ°æ®ï¼è¯å«ä¼åæºä¼ï¼è¿æ»¤å·²å®æçä»»å¡ï¼
- ä¼åä»»å¡ç®¡çå·¥å ·ï¼è§ scripts/manage_optimization_tasks.pyï¼ä¼åä»»å¡çå¢å æ¹æ¥ï¼
- å¤ä»½å·¥å ·ï¼è§ scripts/backup_skill.pyï¼å¤ä»½æè½ç®å½ï¼
- è¿åå·¥å ·ï¼è§ scripts/restore_skill.pyï¼ä»å¤ä»½è¿åæè½ï¼
- çæ¬ç®¡çï¼è§ scripts/update_version.pyï¼æ´æ°çæ¬å·ï¼
- ä¼åæåï¼è§ references/optimization_guide.mdï¼ä¼åç±»åãæµè¯æ åãæä½³å®è·µï¼
注æäºé¡¹
- ä¼ååå¿ é¡»å¤ä»½æè½
- ä¼åè¿ç¨ä¸ä¿ætaskç¶æåæ¥æ´æ°
- æµè¯ä¸éè¿å¿ é¡»è¿åæè½
- çæ¬å·éµå¾ªè¯ä¹åçæ¬è§è
- é大忴éç¨æ·æç¡®ç¡®è®¤
- ä¼å宿åå¿
é¡»æ´æ°ä»»å¡ç¶æä¸º
completedï¼é¿å é夿é - ä¼ååéæéç¨æ·éæ°å è½½æè½
æä½³å®è·µ
- å®æçæ§skill-manageræ°æ®ï¼è¯å«ä¼åæºä¼
- ä¼å å¤çé«ä»·å¼ãä½é£é©çä¼å
- ä¼ååå ååæå¯è¡æ§
- ä¿æè¯¦ç»çä¼åæ¥å¿
- å®ææ¸ çè¿æçå¤ä»½æä»¶
- åç¨æ·æä¾æ¸ æ°çä¼å说æ
使ç¨ç¤ºä¾
示ä¾1ï¼æ·»å versionåæ®µ
æ£æµå°skill-nameçSKILL.md缺å°versionåæ®µã
- æéç¨æ·
- ç¨æ·åæåï¼å建ä¼åä»»å¡
- åæå¯è¡æ§ï¼å¯è¡
- å¤ä»½æè½ï¼skill-name.backup.20240122120000.skill
- æ´æ°SKILL.mdï¼æ·»å version: v1.0.0
- æµè¯éªè¯ï¼éè¿
- æ´æ°ä»»å¡ç¶æï¼completed
- éç¥ç¨æ·ï¼ä¼åæå
示ä¾2ï¼æ ¼å¼æ¹è¿
æ£æµå°skill-nameçSKILL.mdæ ¼å¼ä¸ç¬¦åè§èã
- æéç¨æ·
- ç¨æ·åæåï¼å建ä¼åä»»å¡
- åæå¯è¡æ§ï¼å¯è¡
- å¤ä»½æè½
- ä¿®æ£SKILL.mdæ ¼å¼
- æµè¯éªè¯ï¼éè¿
- æ´æ°ä»»å¡ç¶æï¼completed
- éç¥ç¨æ·ï¼ä¼åæå
示ä¾3ï¼ä¸å¯è¡çä¼å
æ£æµå°skill-nameçä¼åå 容è¿äºå¤æã
- æéç¨æ·
- ç¨æ·åæåï¼å建ä¼åä»»å¡
- åæå¯è¡æ§ï¼ä¸å¯è¡
- æ´æ°ä»»å¡ç¶æï¼failed
- æ´æ°å¤æ³¨ï¼ä¼åå 容è¿äºå¤æï¼éè¦äººå·¥ä»å ¥
- éç¥ç¨æ·ï¼ä¼åä¸å¯è¡ï¼é人工å¤ç