[开源推广] 我做了一个skill工具能把牛佬的skill掏出来给大家用,求大家看看

stone91 2026-07-15 19:52 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出




事情是这样的,公司里面有一些牛佬,佬们本地有一些skill,但是似乎懒得发布出来,我采访了下,发现主要有下面几个原因:



  • skill是适配自己工作流和环境的,能跑,但是打磨放出去费劲,真的没空。

  • 公司内的skillhub使用流程太长了,难用,丑。

  • 分享skill出去对自己没有好处,甚至无法满足虚荣心。

  • 别人的skill自己管不了,甚至没有PR可以提,就算能提也得考虑适配性。

  • 后期skill自己也没精力维护,慢慢的就僵尸skill了。


于是,我就想:



  • 1.可不可以让佬本地的skill能自动适配别人的环境,在别人的环境上跑和测试,然后自动上传skillhub?

  • 2.提供一套私有部署的skillhub cli出来给Agent用,参照npx skills.

  • 3.你的skill被同事使用后,能像点赞一样,气泡提示一下,并且炫酷一些,并且llm生成一个他们的使用评价(解决问题/纯累赘)

  • 4.跟区块链一样,让每个人都是skill的节点,把私货分享出来,然后本地的skill可以传染给同事, agent可以直接修改本地同步过来的skill,修改自动变成commit提交PR。

  • 5.用评价分当进化指标,新commit和老commit跑灰度测试,谁高谁留下,只要一个skill有人用就会无限进化,不用维护了。


我捣鼓了大概2-3个月,做出了一个初版项目出来:

GitHub - SkillNerds/xskill: Self-evolving skills lib for coding agents · GitHub


(已添加友情链接 + 移除所有QQWX等私聊内容)


俺项目有如下的亮点:



  1. 气泡!气泡!气泡!你的skill被别人用了,网页会弹酷炫的无感气泡给你,就跟点赞一样。

  2. 无感蒸馏:静默读取所有人不同harness的轨迹放一起变成skill

  3. P2P skillhub: 你的skill也是我的skill 大家都能用

  4. 画像推荐: 基于上传的轨迹做了简单的聚类画像,然后语义推荐一些skill

  5. 自动进化:能基于气泡里面的分数对不同skill commit进行pk,坏的版本自动淘汰。

  6. 兼容传统HUB:支持服务器端中心化部署,导入公司里私有的skillhub(真的烂)

  7. 静默更新:让团队里的急急国王跟上服务器版本(他们太忙了),并且针对内网环境做了优化。


我参照了一些开源的项目,比如:


skillclaw


这个做的很棒,非常的产品化,给了我很多启发,但是有点太过于“CLAW”了,我想做一个比较靠谱的,专门针对像我们一样重度使用coding-agent的组的产品。CLAW这种公司不太让用。


技术上,skillclaw的进化是依靠在用户的环境里面去回放老任务,对比不同skill版本在通过率上的不同,这一点我觉得简直绝了,NB。但是代码放在那里我也抄不懂,所以就只学习了能理解的部分。(汗)


openspace


宣传做的很好,想要打造全球的skillhub,但是似乎有点太过于中心化了,skill不能传到我们的claudecode里面,只能放在服务器端,然后agent想要跑他们的skill似乎只能调agentmcp,本地codingagent只有回传过来的结果。(也就是Agent执行环境不放在本地,我觉得这个很败笔=。=)


skillopt


这个是很学术化的一篇工作,论文里面都是金币的味道(5.5不要钱一样),里面的benchmark很有参考价值,比如spreadsheets\officeQA。 可惜只是一个学术工作,并不是一个给大家用的工具,里面一个benchmark一个skill,然后skillopt对skill的理解是一个markdown文件,没有脚本和补充目录,skill本身也没有description。然后我在同样的benchmark下做了复现,数据基本都是真实的,没有掺水。但是,我的项目会蒸馏出多个skill,多个skill之间又得做一个skill描述词优化(比如claude的skill-creator里面的那种)不然会严重掉点(我便再次无耻抄袭了skillcreator)。


在spreadsheet上,xskill可以达到81%的精度(xskillopt 83%),没错。。比skillopt低。。


skillopt的逻辑就是,训练的时候给出很多skill的改进意见,然后用validationSet来看那个意见是能涨点的,如果涨点就生效,反复几次,skill.md就会充满了可靠的细节。但是xskill不使用validationSet来指引进化(很想学但是学不了),实际场景下,很难有人会为了团队的skill进化放一堆同分布的benchmark数据集进来=。=


搞七捻三 开源推广

最新回复 (9)
  • stone91 楼主 07-15 20:34
    1

    单机版了佬们,现在我感觉自己做的是答辩 =。=

  • wendou 07-15 20:46
    2

    有点像 evo-map 的逻辑。我之前看过 evo-map,它记录各个 harness 的轨迹,把 instincts 上传,对应到每个人有迹的节点,再通过共用的方式去进化。


    我之前遇到过的问题是,在找别人的开源 skill 时,一套 skill 不一定完全符合我的工作,需要适配到自己的场景。即使我知道某个 skill 很好用、流程也很清楚,它依然不能完全适配我的工作,所以还是需要自己手动调整,或者让 agent 扫描整个项目,然后告诉我结果,我再自己去筛选和取舍。


    不过佬友开源的这个项目是这样的工作吗?

  • stone91 楼主 07-15 22:44
    3

    我觉得xskill的主要价值在于白嫖别人的踩坑,和自己踩坑的自动复盘,它更像一个基于“skill进化”的“踩坑经验白嫖工具”。


    筛选和取舍的部分恐怕还是不太能免得了,因为Xskill构想的是“有人做过了”,如果确实没有类似的工作就没办法了,但是它可以让一个不太好用的skill变得好用


    从白嫖别人角度出发:


    如果你的同事用了一个勉强合适的skill,然后跑通了,那么同事的经验就会自动通过轨迹更新到那个勉强合适的skill里面变成一个顺畅的skill。你就可以直接拿来用了~

    如果同事足够多的话,那么估计你的问题会很容易命中。


    自动复盘角度:


    你寻找了一个很接近需求的skill,但是还是需要修改才能使用顺畅,然后你可能借助这个skill酿酿锵锵地跑完了,XSKILL会帮你把这些坑自动放到skill里面。(也就是能帮你自动沉淀GAP,当然,你也可以手动触发修改)但是无论如何,跑通过 这个前提是免不了的。


    和evomap的区别可能在于,xskill找到了一种不需要benchmark也能比较好的让你的skill进化的方法,然后针对程序员小队协作的场景做了一些优化,但是和EvoMap干的事情本质是一样的。


    希望能够解答@wendou佬的疑惑。

  • wendou 07-15 22:45
    4

    看了一下项目简介,确实跟 EvoMap 有点像。我原本看标题进来,以为是能直接把已经开源的 harness 配置,通过日常工作场景适配成适合自己工作流的功能——就像 ECC 那个大型开源 harness 配置一样,它一直在添加 skill 或配置。但如果要对整个项目进行配置,感觉要把里边对自己有用的部分适配到自己工作流,还是比较麻烦的。我原本期待的是这种功能。不过还是感谢佬友开源,感觉我可以学习一下 ^-^

  • collegeYYQ 07-16 11:21
    5

    已经start 谢谢大佬开源大佬如果有一个skillhub更好了,我可以直接添加仓库拉取

  • stone91 楼主 07-20 09:39
    6

    可以 但是在设计上xskill-client会上传用户侧的轨迹,所以不是特别合适公网部署,可能会影响隐私?

  • SumizomeAi 07-20 09:48
    7

    公司内部没啥人用ai, 我本来看了看想挂服务器上和朋友一起用, 你这么一说有点不敢了 ^-^

  • stone91 楼主 07-20 11:27
    8

    目前隐私这边守护的主要方式是:上传之前使用secret库脱敏,然后提示词引导不要包含隐私信息;

    如果同事之间是彼此信任的,或者同事们信任xskill部署方,我觉得是ok的。

    目前还提供了公司内skillhub的load的能力,能够将skill加载进来进行检索。

  • 150 07-24 02:13
    9

    没看懂,这个是怎么用skills的

* 帖子来源Linux.do
返回