skill-manager
1
总安装量
1
周安装量
#52906
全站排名
安装命令
npx skills add https://github.com/ewanyuan/cox-coding --skill skill-manager
Agent 安装分布
mcpjam
1
claude-code
1
windsurf
1
zencoder
1
crush
1
cline
1
Skill 文档
æè½ç®¡çè
ä»»å¡ç®æ
- æ¬ Skill ç¨äºï¼ä¸ºå ¶ä»æè½æä¾ç»ä¸çé ç½®åæ¥å¿åå¨è½å
- è½åå
å«ï¼
- å卿è½é 置信æ¯
- å卿è½è¿è¡æ¥å¿
- ææè½åæ¥è¯¢é ç½®åæ¥å¿
- ç®¡çæææè½çå卿°æ®
- è§¦åæ¡ä»¶ï¼è¢«å ¶ä»æè½ä¸»å¨å¼ç¨ï¼éè¦åå¨æè¯»åæ°æ®æ¶
使ç¨åºæ¯
åºæ¯1ï¼æè½åå¨èªå·±çé ç½®
彿è½éè¦æä¹ åé ç½®ä¿¡æ¯æ¶ï¼è°ç¨æè½ç®¡çè åå¨ï¼
from skill_manager import SkillStorage
# å建åå¨å®ä¾
storage = SkillStorage(data_path="/workspace/projects/skill-data.json")
# åå¨é
ç½®
config = {
"deploy_mode": "simple",
"output_path": "/path/to/output.log",
"timestamp": "2024-01-22 12:00:00"
}
storage.save_config("my-skill", config)
åºæ¯2ï¼æè½åå¨è¿è¡æ¥å¿
彿è½éè¦è®°å½è¿è¡æ¥å¿æ¶ï¼è°ç¨æè½ç®¡çè åå¨ï¼
from skill_manager import SkillStorage
storage = SkillStorage(data_path="/workspace/projects/skill-data.json")
logs = [
{"time": "2024-01-22 12:00:00", "level": "INFO", "message": "å¼å§æ§è¡"},
{"time": "2024-01-22 12:05:00", "level": "INFO", "message": "æ§è¡å®æ"}
]
storage.save_logs("my-skill", logs)
åºæ¯3ï¼æè½è¯»åå ¶ä»æè½çæ°æ®
彿è½éè¦è®¿é®å ¶ä»æè½çé ç½®ææ¥å¿æ¶ï¼
from skill_manager import SkillStorage
storage = SkillStorage(data_path="/workspace/projects/skill-data.json")
# 读åå
¶ä»æè½çé
ç½®
other_config = storage.get_config("other-skill")
# 读åå
¶ä»æè½çæ¥å¿
other_logs = storage.get_logs("other-skill")
æ ¸å¿åè½è¯´æ
æºè½ä½å¯å¤ççåè½
- API使ç¨å¨è¯¢ï¼è§£éå¦ä½ä½¿ç¨æè½ç®¡çè çå个åè½
- æ°æ®æ ¼å¼å»ºè®®ï¼æ ¹æ®åå¨éæ±æ¨èåéçæ°æ®ç»æ
- æ°æ®åæï¼åæåå¨çé ç½®åæ¥å¿ï¼åç°æ¨¡å¼æé®é¢
- åå¨ç®¡çï¼æ¥çææå·²åå¨çæè½ï¼æ¸ çè¿ææ°æ®
èæ¬å®ç°çåè½
- SkillStorageç±»ï¼å®æ´çåå¨å读åAPIï¼è§ scripts/skill_manager.py
save_config(skill_name, config): å卿è½é ç½®save_logs(skill_name, logs): åå¨æè½æ¥å¿save(skill_name, config, logs): åæ¶åå¨é ç½®åæ¥å¿get_config(skill_name): 读åæè½é ç½®get_logs(skill_name): 读åæè½æ¥å¿get_all(): è¯»åæææè½æ°æ®list_skills(): ååºææå·²åå¨çæè½delete(skill_name): å é¤æè½æ°æ®
æ°æ®å卿 ¼å¼
æè½ç®¡çè 使ç¨ç»ä¸çJSONæ ¼å¼å卿°æ®ï¼
{
"skill-name-1": {
"config": {
"key1": "value1",
"key2": "value2"
},
"logs": [
{"time": "2024-01-22 12:00:00", "message": "æ¥å¿1"},
{"time": "2024-01-22 12:05:00", "message": "æ¥å¿2"}
],
"last_updated": "2024-01-22 12:05:00"
},
"skill-name-2": {
"config": {},
"logs": [],
"last_updated": "2024-01-22 12:10:00"
}
}
èµæºç´¢å¼
- æ ¸å¿æ¨¡åï¼è§ scripts/skill_manager.pyï¼SkillStorageç±»å®æ´å®ç°ï¼
- APIè§èï¼è§ references/api_spec.mdï¼è¯¦ç»çAPIææ¡£å使ç¨ç¤ºä¾ï¼
注æäºé¡¹
- æè½ç®¡çè æ¯ä¸ä¸ªæå¡åSkillï¼ä¸ä¸»å¨è¿è¡ï¼è¢«å ¶ä»æè½è°ç¨
- åå¨è·¯å¾å»ºè®®ä½¿ç¨
/workspace/projects/skill-data.jsonå®ç°ç»ä¸ç®¡ç - é ç½®åæ¥å¿çæ°æ®æ ¼å¼ç±è°ç¨æè½èªè¡å®ä¹ï¼æè½ç®¡çè åªè´è´£åå¨
- æ¯æ¬¡åå¨ä¼æ´æ°
last_updatedæ¶é´æ³ - æ¯æå¢éæ´æ°ï¼ä¸ä¼è¦çå·²æçé ç½®ææ¥å¿ï¼é¤éæ¾å¼æå®è¦çï¼
æä½³å®è·µ
- æè½å使ç¨ä¸è´çå½åè§èï¼å¦å°å忝å è¿å符ï¼
- é ç½®æ°æ®å»ºè®®å å«å¿ è¦å æ°æ®ï¼å¦å建æ¶é´ãçæ¬å·çï¼
- æ¥å¿æ°æ®å»ºè®®å 嫿¶é´æ³åæ¥å¿çº§å«
- å®ææ¸ çä¸å使ç¨çæè½æ°æ®ï¼é¿å å卿件è¿å¤§
- 卿è½å¯å¨æ¶è¯»åé ç½®ï¼å¨æ§è¡è¿ç¨ä¸è®°å½æ¥å¿
- æºè½ä½å¯ä»¥å婿¥è¯¢ååæåå¨çæ°æ®ï¼åç°æè½å使ºä¼
使ç¨ç¤ºä¾
示ä¾1ï¼æè½éææè½ç®¡çè
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")
# å卿è½é
ç½®
skill_config = {
"mode": "production",
"output_dir": "/workspace/output",
"retry_count": 3
}
storage.save_config("my-awesome-skill", skill_config)
# è®°å½è¿è¡æ¥å¿
execution_logs = [
{"time": "2024-01-22 10:00:00", "level": "INFO", "message": "å¼å§æ§è¡"},
{"time": "2024-01-22 10:00:05", "level": "INFO", "message": "å è½½é
ç½®"},
{"time": "2024-01-22 10:00:10", "level": "INFO", "message": "æ§è¡å®æ"}
]
storage.save_logs("my-awesome-skill", execution_logs)
示ä¾2ï¼æ¥è¯¢æè½å使°æ®
from skill_manager import SkillStorage
storage = SkillStorage(data_path="/workspace/projects/skill-data.json")
# æ¥çææå·²åå¨çæè½
all_skills = storage.list_skills()
print(f"å·²åå¨çæè½: {all_skills}")
# 读åç¹å®æè½çé
ç½®
config = storage.get_config("dev-observability")
print(f"é
ç½®: {config}")
# 读åç¹å®æè½çæ¥å¿
logs = storage.get_logs("dev-observability")
print(f"æè¿æ¥å¿: {logs[-5:]}")
示ä¾3ï¼æºè½ä½åæå卿°æ®
彿ºè½ä½éè¦åæå¤ä¸ªæè½çå使 嵿¶ï¼
- è¯»åæææè½æ°æ®
- åææè½é´çé ç½®å ³è
- è¯å«å ±äº«çä¾èµææ°æ®
- æä¾ä¼å建议
æºè½ä½å¯ä»¥åºäºåå¨çæ°æ®ï¼åç°æè½ç»åçæ½å¨é®é¢åä¼åæºä¼ã