找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1776

积分

0

好友

234

主题
发表于 18 小时前 | 查看: 0| 回复: 0

今天我们来探讨一个更硬核但也极具价值的话题:如何系统化地管理与迭代你的AI Skills。

我之所以持续关注并分享Skills,是因为它无论对个人效率提升、团队协作,还是满足技术好奇心,都具有巨大潜力。虽然目前上手有些门槛,但每次“搓”Skill的过程,都让我找回了早年折腾游戏Mod时的创造乐趣——这种快乐,远非刷短视频可比。

在上一篇文章中,我分享了如何将GitHub项目打包成个人技能库的思路,反响热烈。不仅获得了大量阅读,更在评论区引发了深入讨论。

关于Skills管理器的社交媒体讨论截图

许多朋友在惊叹“打开新世界大门”的同时,也提出了一个尖锐而实际的问题:这些Skills该如何管理、升级和迭代?

确实,Skills从来不是静态的。它会随着时间推移、你自身能力的成长,以及其源GitHub项目的更新,而需要动态调整。然而,现有的Skills管理方式极不友好。手动检查更新、修改文档、回填经验……这些重复劳动显得低效且容易出错。

为了解决这一痛点,经过两天的探索与实践,我们构建了一套Skills管理三件套。这套工具,配合Claude官方的Skill Creator,基本实现了Skills的增删改查与自动化迭代,让技能库迈向真正的自我进化。

Skills管理三件套功能概览

我们开发的三件套分别是:

  1. github-to-skills: 专用于将GitHub仓库转换为标准Skill的工具。
  2. skill-manager: 本地Skills生命周期管理器。
  3. skill-evolution-manager: 能根据对话经验自动优化迭代Skill的“进化中枢”。

光说不练假把式,我们先看实际效果。

假设我本地已安装了一批Skills,例如视频下载神器 yt-dlp。我希望这些源自GitHub的Skill能随其上游仓库自动更新。现在,我只需对AI说一句:

“帮我检查一下所有的Skills状态。”

随即,一份清晰的状态报告便呈现眼前:

Skills状态检查报告截图

报告显示,两个基于GitHub的Skill状态不同:company-claude-skills 状态为“过期”,而 yt-dlp 状态为“最新”。这意味着前者在GitHub上已有新提交。

此时,我只需下令“更新company-claude-skills”,它便会自动拉取最新代码,并重新构建Skill文档。

Skill更新成功界面截图

看到这里,你可能会提出一个关键质疑:GitHub更新会覆盖本地的 SKILL.md 文件,那我日常使用中积累的调优经验和Bug修复记录岂不瞬间消失?

这个问题非常精准。这正是传统更新方式的巨大缺陷。在使用Skill过程中,我们经常会遇到一些边界情况或报错,解决这些问题的经验极其宝贵,理应在下次使用时规避。我通常会在对话结束后,让AI根据聊天记录,将这些经验反哺回原Skill。

例如,我的 yt-dlp Skill在初次遇到特定环境问题后,就通过复盘实现了自主迭代优化。

video-downloader技能更新说明截图

然而,用户经验迭代和GitHub项目更新的目标文件都是 SKILL.md,直接冲突,必然导致一方的工作被覆盖。

我们的解决方案是:职责分离与“游戏存档”机制

  • GitHub更新:仍然只更新主 SKILL.md 文件。
  • 经验迭代:不直接修改 SKILL.md,而是将提炼出的经验存储到一个独立的、自定义的 evolution.json 文件中。你可以将其理解为这个Skill的“经验备份”或“游戏存档”。

无论主程序(SKILL.md)版本如何升级,这个“存档”都应独立保存。当 SKILL.md 被新版本覆盖后,系统会自动将 evolution.json 存档中的经验,“缝合”回新的 SKILL.md 中,确保智慧不丢失。

Skill Evolution Manager功能说明截图

实际操作效果如下,全程自动完成:

evolution.json缝合状态检查截图

如此一来,Skills的管理便形成了良性闭环。创建Skill或许简单,但管理和迭代才是持久使用的核心。下面,我们拆解一下这三件套的具体设计与作用。

一、github-to-skills:为Skill赋予“身份ID”

创建这个工具的核心目的,是为源自GitHub的Skills建立一个“身份证明”。

我们发现,官方Skill Creator生成的 SKILL.md 缺乏GitHub元数据(如仓库地址、提交哈希)。这导致后续管理工具根本无法识别该Skill对应哪个远程仓库,版本比对更是无从谈起。

因此,我们改进了打包流程,创建了 github-to-skills。它的核心功能很简单:在打包GitHub项目时,强制在 SKILL.md 的元数据头部注入关键信息:

  • github_url: 该Skill的来源仓库地址。
  • github_hash: 打包时对应的Git提交哈希(即版本快照)。

经过改造后,每个产出的Skill都自带唯一的身份ID。下图展示了改造前后的 SKILL.md 头部对比:

改造后的SKILL.md包含GitHub信息截图

左侧为改造前,右侧为改造后。可见改造后明确记录了GitHub URL和哈希值。这为后续的自动化版本管理和更新检查奠定了坚实基础,是整套系统的地基。

github-to-skills 与官方 skill-creator 并存是合理的,因为并非所有Skill都源自GitHub,个人工作流等自定义Skill就无需绑定GitHub信息。

二、skill-manager:你的Skills大管家

拥有了身份ID的Skills,就可以交由 skill-manager 这位大管家来统一管理了。它主要提供三大功能:

1. Skills全景查询
随着学习和测试的深入,本地Skill文件夹可能越来越多,容易遗忘各自功能。skill-manager 可以快速列出一个清晰的表格,展示所有Skill的类型、描述、版本,并区分GitHub源和标准Skill,让你对技能库一目了然。

本地安装的所有技能列表截图

2. Skills版本监控
这是极具实用性的功能。管理器会调用GitHub API,用本地的 github_hash 与远程仓库最新提交进行比对。输出结果会明确指示状态为“最新”或“过期”,让你轻松掌握更新情况。

Skills状态检查汇总截图

3. Skills清理管理
对于不再需要或重复的Skill,可以通过一句简单的指令直接删除,保持技能库的整洁。

技能删除成功及剩余列表截图

skill-manager 就像传统的插件管理器,但将交互完全融入对话中,使用起来非常便捷。

三、skill-evolution-manager:Skills的“进化中枢”

这就是实现“自我进化”的核心。skill-evolution-manager 通过外挂的 evolution.json 文件来管理Skill的迭代。

它的作用很纯粹:在对话过程中默默汲取经验,在对话结束后完成迭代。你可以理解为它有一个“小本本”,记下了Skill哪里出了错、哪里可以优化。对话结束时,它将经验结构化存入 evolution.json,并智能地“缝合”进 SKILL.md。这样,同一个坑就不会踩两次。

这其实就是一种高效的“复盘”机制。

Skill复盘迭代结果截图

通过它,Skills不再是冰冷的静态工具,而是能随着你的使用频率、反馈深度一同成长、进化的伙伴。在这个快速变化的时代,持续进化是保持生命力的唯一真理。

结语与资源分享

这套Skills管理三件套,是我们基于自身痛点摸索出的解决方案。它或许不够完美,但确实让Skill的使用体验从“手工维护”进化到了“自动管理”。

我们已将这三个工具完全开源,希望能起到抛砖引玉的作用,激发更多关于AI技能工程化的思路。项目已上传至GitHub,未来也会持续分享一些我们认为有价值的Skills。

项目仓库地址:
https://github.com/KKKKhazix/Khazix-Skills

Khazix-Skills GitHub仓库主页截图

技术之路在于共享与碰撞,如果有更好的思路或实现,欢迎在云栈社区或项目仓库交流探讨。我们始终相信,Skills代表着一个充满可能性的新范式,值得我们一起探索和优化。




上一篇:箭头函数与Function的区别:5个必须使用传统函数的JavaScript场景
下一篇:生产级Docker镜像构建指南:多阶段构建、安全规范与Flask实战
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-25 20:32 , Processed in 0.247143 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表