skill-manager
SKILL.md
技能管理者
任务目标
- 本 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:智能体分析存储数据
当智能体需要分析多个技能的协作情况时:
- 读取所有技能数据
- 分析技能间的配置关联
- 识别共享的依赖或数据
- 提供优化建议
智能体可以基于存储的数据,发现技能组合的潜在问题和优化机会。
Weekly Installs
7
Repository
ewanyuan/cox-codingGitHub Stars
45
First Seen
Feb 7, 2026
Security Audits
Installed on
opencode7
gemini-cli7
github-copilot7
codex7
cline7
openclaw7