Skip to main content
xskill — 一人解决,全队复用

让你的 coding agent 的技能,从每一次真实会话里自我进化——你只管写代码。

跨会话、跨 agent、跨设备、跨同事。经验持续累积,技能不断生长。

PyPI Python License GitHub stars
GitHub Paper Live demo LINUX DO

English · 简体中文

📄 论文:xskill: Team-Level Skill Distillation, Sharing, and Evolution for Coding Agents · PDF(19 页)



为什么需要 xskill

“同事的coding agent已经做过的事情,你为什么不能直接拿来用?”

xskill是企业级的团队skill演进方案,支持轨迹自动蒸馏Skill,基于轨迹画像推送Skill,支持导入团队skillhub进行推荐,支持skill评价。

  • 高手经验自动传递: 一个人的解法自动到达全组,让最短路径不再壮志难酬。
  • 跨Harness和设备共享进化: Codex、Claude Code、Cursor IDE都会加入光荣的进化,齐心,协力。
  • 支持专家修改Skill: 觉得skill不完美?直接修改本地的skill,改动会被云端自动学习。
  • 轨迹保持私有: 会话在上传前已脱敏,秘钥密码和相关隐私不会被别人看到。
  • 不让skill烂掉: 自动评价skill,支持分析用户实际使用轨迹给出评价分并绘制不同skill版本的得分趋势折线图,大数据显微镜。

一人解决,全队复用

只要团队里有一个人在自己的会话里搞定了某个问题,这个解法就会变成一条技能——其他人的 agent 自动拿到。没人需要专门写文档。

一个人解决一次问题,xskill 把它蒸馏成一条技能,瞬间扩散到全队

跨越每一个 agent 与设备——同一个技能库

笔记本上用 Claude Code、服务器上用 Codex、IDE 里用 Cursor。xskill 从它们全部收集脱敏后的轨迹,进化出同一个共享技能库,再把结果同步回你用的每一个 agent。

多个 agent 和设备汇入同一个轨迹 watcher 和同一个进化技能库,再同步回所有 agent

孤岛 → 集体进化

没有一个共享、自我改进的技能库,每个开发者都在孤岛里重复解决同样的问题。xskill 把这些被浪费的、隔离的努力,变成可以复利累积的共享经验。

左:开发者各自孤立地重复解决同一问题。右:开发者连到同一个进化的共享技能库。

架构

xskill 架构:agent 生态 → 轨迹 watcher → 原子拆分 → 技能路由 → 技能编辑 agent → canary 灰度 A/B → 技能仓库,并支持团队模式

[!NOTE] xskill全流程都是Agentic-Centric的管线。首先将轨迹按照内部意图拆分为子轨迹(轨迹原子),然后对轨迹原子进行聚类并分配到对应的skill,原子积攒足够后就会触发skill编辑产出新的skill版本。 不同的skill版本会在真实的用户流量上进行测试,用户体验分高的胜出作为主版本继续迭代,每一次改动都有版本、可回滚。细节见 docs/agent.md

精度表现

xskill是一套无监督的skill蒸馏方案,其不需要构建数据集就可以完成进化。

目前版本的算法管线精度表现如下:

Setup: DeepSeek-V4-Flash · Claude Code · single mode
Pipeline: SkillOpt built-in evaluation pipeline · Official data split

Spreadsheet ALFWorld Mean¹
XSkill 81.40 84.32 82.86
SkillOpt 82.80 77.60 80.20
Delta −1.40 +6.72 +2.66

¹ 当前平均分仅包含 Spreadsheet 和 ALFWorld,OfficeQA 仍在评测中。

在目前已完成的评测中,其整体精度与 SkillOpt 相当,并取得了更高的平均分。

Evaluation Setup

为了尽量还原真实的团队使用场景,评测环境通过 namespace 隔离部署了:

  • 3 个独立的 xskill-client
  • 1 个共享的 xskill-server
  • 多个由 LLM 模拟的用户,负责与 Agent 进行 QA 交互

[!IMPORTANT] XSkill 无需显式监督信号即可持续进化。 SkillOpt 强依赖 ValSet 提供进化所需的监督信号。 在 ALFWorld 的 Epoch 2、3、4 中,ValSet 均出现精度溢出,导致进化失败,是其算法缺陷。

未来会支持嵌入不同的算法内核,敬请期待。


🚀 快速开始

单人模式(尝鲜体验)

pip install xskill          # Python 3.9+
xskill serve                # 第一次启动只初始化配置文件 ~/.xskill/config.yaml

打开 ~/.xskill/config.yaml,填两个模型端点(一个 LLM,一个 embedding 向量模型):

skill_dir: ~/.xskill/skill

llm:
  base_url: https://api.deepseek.com
  model:    deepseek-v4-flash
  api_key:  YOUR_KEY

embedding:
  base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
  model:    text-embedding-v4
  api_key:  YOUR_KEY
  dim:      0

再跑一次 xskill serve, 它会自动识别你机器上每一个受支持的 agent 并开始运行,收集agent的轨迹并将skill推送到对应的harness下。

[!NOTE] 单人模式下,你将会丢失很多精心设计的特性,因此只建议在以下情况进行使用。 1.希望能够自动将之前高频工作流串联成skill 2.每天有高强度的Agent运行需求

团队模式(推荐)

服务器管理员在服务器配置config.yaml后运行中心化进程:

xskill serve --server  # 会打印connect join命令,复制给组内同事便可。

普通用户执行:

xskill connect <host:port> --token <token>  --name <工号/姓名>   # 在每个同事的机器上运行

额外功能:管控面板

在config.yaml中可以填写管理员身份:

dashboard:
  enabled: true
  public: true
  password: ""
  admins:
    - admin_name_1  # 管理员<工号/姓名>
    - admin_name_2
  admin_password: admin_passwd_123

然后再在任意一台pc上输入:

xskill dashboard

就可以打开并登录管控面面板(身份自动识别),管理员可以进行如下操作:

  • 全局pin某个skill
  • 暂停某个用户的轨迹上传(异常行为用户)
  • 全局下线停推某个skill
  • 查看skill的版本血缘,得分趋势

普通用户可以:

  • 为自己pin某个喜欢的skill,防止推荐流变化
  • 下线某个自己不喜欢的skill
  • 查看自己的轨迹贡献给了哪些用户,谁用了自己的skill
  • 查看skill的版本血缘,得分趋势

额外功能:按需搜索

除了 server 按画像推送的Skill,client 还可以主动搜索或下载 server 中的技能:

xskill search <KEYWORDS>       
xskill search <KEYWORDS> --download     # 检索的同时下载到本地(老的搜索结果会被刷新掉,建议在临时使用场景触发)
xskill download <skill-id>          # 交互多选安装 harness, 会持久化到本地, 会随云端更新
xskill download <skill-id> --agent claude-code --agent codex -y   # 非交互式安装到指定harness
xskill upload ./my-skill            # 打包上传一个 skill 目录(含 SKILL.md),全队立即可搜到

额外功能:SkillHub支持

Xskill支持导入skillhub并将海量skill纳入推荐评价, 服务器管理员只需要配置~/.xskill/config.yaml:

skillhub:
 enabled: true
 dir: /root/.xskill/skillhub_skills

然后将公司内网skillhub随意放置到该目录下(支持多个skillhub),xskill就会自动探测skill并纳入推荐,将相关skill自动推送给指定的用户.


🔌 与你的 agent 协同

Agent 状态 轨迹采集 技能安装
Claude Code ✅ 已验证 ~/.claude/projects/ 软链 → ~/.claude/skills/<name>/
Codex CLI ✅ 已验证 ~/.codex/sessions/ 软链 → ~/.agents/skills/<name>/
OpenCode ✅ 已验证 SQLite ~/.local/share/opencode/opencode.db 软链 → ~/.agents/skills/<name>/
OpenClaw 🟡 已实现 ~/.openclaw/agents/ 拷贝 → ~/.agents/skills/<name>/
Cursor 🟡 已实现 ~/.cursor/projects/*/agent-transcripts/ 软链 → ~/.cursor/skills/<name>/
Trae 🟡 已实现 IDE state.vscdb / CLI trajectory_*.json 软链 → ~/.trae-cn/skills/~/.trae/skills/
任何其他 agent 手动 SDK xskill.adapters.submit_trajectory 拷贝/软链 SKILL.md 目录

📖 概念

术语 含义
Trajectory(轨迹) 一次 agent 运行会话的完整记录,Xskill维护了一套庞大的解析生态层。
TrajectoryAtom(轨迹原子) 轨迹里最小的、单一意图的切片,是生成skill的原料。
Skill(技能) 一个 SKILL.md 加可选脚本,各自在独立的 git 目录里带版本。
Canary(灰度) 当前技能与新候选版本在真实流量上的 A/B 对比测试。
UX score(体验分) 某条技能在某个原子上服务用户的好坏,由交互本身打 1–10 分。灰度保留分更高的那个版本。

🗺 路线图

  • 动态并发:根据内网vllm负载动态调整并发以获取更高吞吐
  • 多租户:支持一台实例,外放给多个组/部门用
  • 工业级推荐引擎:更精细的画像和推荐算法
  • 更多 agent 适配:Goose、OpenHands、Aider
  • 轨迹湖:支持管理海量轨迹,服务器端安全预警,Time-Travel功能

📰 动态

  • 2026-08-07 v0.6.29:修复推荐回填问题。
  • 2026-08-03 v0.6.29a6:milvus变更为可选VDB;支持 DashBoard选择skill推送个数,支持Dashboard查询Skill的用户灰度情况;
  • 2026-08-03 v0.6.29a5:引入 Milvus Lite 向量索引。
  • 2026-07-30 v0.6.29a4:Dashboard 新增「我的」页,普通用户默认进入,贡献去向与世界消息支持分页浏览;支持回收client端推荐变更导致产生的孤儿skill。
  • 2026-07-30 v0.6.29a3:推荐引擎优化。
  • 2026-07-20 —— v0.6.25:SkillHub 支持非 UTF-8 SKILL.md;Dashboard 支持暂停/恢复指定用户的轨迹入库;
  • 2026-07-07 —— v0.6.2a2:修复 Windows connect 无需管理员权限即可后台常驻,windows下常驻进程迭代至可用;
  • 2026-07-07 —— v0.6.2: 引入用户画像和skill 推荐引擎;支持使用实名制工号连接服务;支持导入第三方 skillhub 纳入检索池;为Windows平台添加后台常驻(xskill start/stop/status), 支持CLI管理进程;
  • 2026-05-29 —— 新增 Trae IDE / Trae Agent 适配。
  • 2026-05-23 —— v0.5.0:引入团队模式(client-server)、引入轨迹脱敏功能守护隐私、支持Python 3.9、移除git 依赖。
  • 2026-05-20 —— MIT 开源;上线 PyPI:pip install xskill
  • 2026-05-12 —— 支持 Claude Code、Codex、OpenCode;接通 OpenClaw 与 Cursor。

🙏 致谢

港大 OpenSpace、阿里 Trace2Skill、华东师范 AutoSkill、微软SkillOpt

🤝 贡献

欢迎提 Issue 和 PR

📝 引用

@misc{xskill2026,
  title        = {xskill: Team-Level Skill Distillation, Sharing, and Evolution for Coding Agents},
  author       = {SkillNerds},
  year         = {2026},
  howpublished = {\url{https://github.com/SkillNerds/xskill}}
}

📄 许可证

MIT © 370025263。见 LICENSE

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xskill-0.6.29.tar.gz (10.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xskill-0.6.29-py3-none-any.whl (805.8 kB view details)

Uploaded Python 3

File details

Details for the file xskill-0.6.29.tar.gz.

File metadata

  • Download URL: xskill-0.6.29.tar.gz
  • Upload date:
  • Size: 10.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.13

File hashes

Hashes for xskill-0.6.29.tar.gz
Algorithm Hash digest
SHA256 17973d94e9e7cac3e0e0d99153417fee3276c408480acc26bf2923bc36d22e6a
MD5 12f062206329692a539f687d5ae77c4a
BLAKE2b-256 fa9cb0327b2a78bdd7981fd7555a25b778935075a3f22c00beb940f553956cde

See more details on using hashes here.

File details

Details for the file xskill-0.6.29-py3-none-any.whl.

File metadata

  • Download URL: xskill-0.6.29-py3-none-any.whl
  • Upload date:
  • Size: 805.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.13

File hashes

Hashes for xskill-0.6.29-py3-none-any.whl
Algorithm Hash digest
SHA256 957201438af74dabf1089cc9a2d1b4ebf210f8f0a34951d05507d4a3b2421465
MD5 4f9c8a3febae0ebdc45ec424babe429e
BLAKE2b-256 33fc15aca32fe6e51adc5a4ccf0e579e943bd234f8798468cfe41a5d0411acbd

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page