Skip to main content

Distill reusable Skills from AI Agent execution trajectories

Project description

xskill — 一人解决,全队复用

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

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

PyPI Python License GitHub stars
GitHub Paper Live demo WeChat group

English · 简体中文

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


一个 coding agent 列出 xskill 从它过往会话中蒸馏出的技能

✨ 为什么需要 xskill

你的 coding agent 每次碰到熟悉的问题,都从头再推一遍。你要么重新讲一遍,要么手动维护一个提示词库——而这个库没人盯着就会慢慢烂掉。xskill 让这些活儿消失:

  • 🚀 装起来快——pip install xskill,一个配置文件,搞定。
  • 💬 你只管写代码——它在后台观察你的真实会话,把"管用的做法"自动蒸馏成 SKILL.md,你的 agent 自动加载。零额外操作。
  • 🧬 自我进化,不是自卖自夸——新版技能只有在真实流量上确实让用户体验更好,才会取代旧版。由用户体验驱动,而不是让大模型给自己打分。
  • 👥 团队放大器——一个人解决,全队复用。团队越大,进化越快、越准。

🔁 一人解决,全队复用

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

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

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

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

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

🌱 孤岛 → 集体进化

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

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

🏗 架构

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

几个职责很窄的 LLM agent 在干活:一个把轨迹拆成单一意图的原子(Atom);一个把每个原子路由到某条技能;一个在技能攒够素材后重写 SKILL.md;还有一个在真实流量上对新版本做 A/B 测试、留下胜出者。每条技能都是它自己的 git 仓库,所以每一次改动都有版本、可回滚。细节见 docs/agent.md


🚀 快速开始

路径 A —— 单人、本地

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:
  # DeepSeek 没有 embedding,用 DashScope / OpenAI / Ollama,例如:
  base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
  model:    text-embedding-v4
  api_key:  YOUR_KEY
  dim:      0

再跑一次 xskill serve——它会自动识别你机器上每一个受支持的 agent 并开始监听。要把旧轨迹归档回填进来:

xskill registry add /path/to/trajectories

路径 B —— 团队模式(最有杀伤力的用法)

一台机器当 server,其他人作为轻量 client 加入,大家对着同一个进化中的技能库工作。

xskill serve --server                          # 打印一个加入 token
xskill connect <host:port> --token <token>     # 在每个同事的机器上运行
  • 悄悄蒸馏你的高手——一个人的解法自动到达全队。
  • 任何工作流都能接——Codex、Claude Code、Cursor IDE 随便选,大家加入同一个库,跨工具同步。
  • 轨迹保持私有——会话在上传前已脱敏。
  • A/B 驱动的进化——一处改动先在每个人身上度量,再决定要不要扩散。人越多,进化越快越准。
  • 专家可以手动教——本地改一条技能,会作为 user-staging/<client_id> 拉进 server,喂给下一轮进化。

🔌 与你的 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 运行——一段会话的完整记录(traj_*.md)。
Atom(原子) 轨迹里最小的、单一意图的切片。路由在这一层发生。
Skill(技能) 一个 SKILL.md 加可选脚本,各自在独立的 git 目录里带版本。
Canary(灰度) 当前技能与新候选版本在真实流量上的 A/B 对比测试。
UX score(体验分) 某条技能在某个原子上服务用户的好坏,由交互本身打 1–10 分。灰度保留分更高的那个版本。

🗺 路线图

  • 更多 agent 适配——Goose、OpenHands、Aider
  • 更成熟的用户画像与推荐
  • 原生 MCP server 接口(把技能作为工具暴露)
  • 浏览技能库、查看 canary 数据的 Web UI
  • 技能市场——导入/导出可移植的技能包
  • 多租户技能库(按团队的 skill_dir)

📰 动态

  • 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。

💬 社区

关于 coding-agent 技能的问题、想法、踩坑故事——来一起聊。扫码加微信群:

💬 微信交流群

xskill 微信群二维码
扫码进群 · 一起聊 coding agent 技能

🙏 致谢

xskill 站在更广泛的 trajectory-to-skill 研究方向之上(港大 OpenSpace、阿里 Trace2Skill、华东师范 AutoSkill 等),也建立在它所接入的 agent 生态之上——Claude Code、Codex、OpenCode、Cursor、OpenClaw、Trae。

🤝 贡献

欢迎提 Issue 和 PR——尤其是新的 agent 适配。具体见仓库说明。

📝 引用

@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

Project details


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.0a5.tar.gz (2.0 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.0a5-py3-none-any.whl (309.7 kB view details)

Uploaded Python 3

File details

Details for the file xskill-0.6.0a5.tar.gz.

File metadata

  • Download URL: xskill-0.6.0a5.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for xskill-0.6.0a5.tar.gz
Algorithm Hash digest
SHA256 3f021ca53efc6df20632deb5efa6cb25e11e38f020d6ebca0c914bea7286c087
MD5 4da2fb56bfbecb4c8b6f859c39b7a34e
BLAKE2b-256 d88d1ac0d15dffa596082207526e4c906107853c6addcd5eb7dc974ea5145b08

See more details on using hashes here.

File details

Details for the file xskill-0.6.0a5-py3-none-any.whl.

File metadata

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

File hashes

Hashes for xskill-0.6.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 abf43c335fefa6738e23519c2ee34a7b4501dd8bb45abb476a68488fc7109870
MD5 4e8847c7bc51e8458ba6f22ab0491a9e
BLAKE2b-256 c0fa4422e19d86a265f9eb9f91bd4db87448731bfad638929ff35310b48e4d71

See more details on using hashes here.

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