Skip to content
 
 

Repository files navigation

skillkit

AI agent skill 的统一管理工具。设定安装源、记录并锁定版本、按 profile 组织候选集、按项目精确安装并幂等落地到各 agent 目录。

Rust 单二进制,CLI(供 AI agent 高频调用)+ 本地 web GUI(供人总览配置)共享同一 core,零运行时依赖。

安装

cargo install --path crates/cli

快速开始

# 添加安装源
skillkit source add owner/repo
skillkit source add ./local-skills --name my-local

# 安装 skill(固定源直接装,skills.sh 源交互选候选)
skillkit install add owner/repo pdf
skillkit install add skills.sh pdf

# 查看项目状态并落地
skillkit project status
skillkit project apply

# 启动 web GUI(前台运行)
skillkit serve

# 后台启动并按日期记录日志
./start.sh --no-open
tail -f .log/$(date +%F).log
kill "$(cat .log/skillkit.pid)"

浏览器扩展一键控制

仓库内的 browser-extension/ 是独立的 Chrome / Edge 扩展。首次安装时注册 Native Messaging Host,之后点击浏览器工具栏图标即可启动或关闭服务,并在启动成功后自动打开管理页面:

cargo build -p skillkit-cli
./browser-extension/install.sh <Chrome/Edge 扩展 ID>

Windows 可执行:

.\browser-extension\install.ps1 -ExtensionId <Chrome/Edge 扩展 ID>

扩展与本地命令共用服务控制层:

skillkit service start
skillkit service status
skillkit service stop

命令参考

source — 安装源管理

skillkit source add <package> [--name <别名>]   # github shorthand / git url / local path
skillkit source list
skillkit source remove <name>

install — 安装 skill

skillkit install add <source> <skill> [--scope global|local] [--json]
  • 固定源直接安装;skills.sh(registry)源走 npx skills find 交互选候选
  • --json 时只输出候选数组,不交互不安装(适合 AI agent 调用)

find — 搜索 skills.sh 候选

skillkit find <query>                            # 搜 skills.sh registry,纯展示不安装
skillkit find <query> --json                     # 候选数组 [{spec,url}],供 agent 决策

list — 列出已装 skill

skillkit list                                    # 列 registry 全部已装 skill(unmanaged 标记)
skillkit list --json                             # SkillMeta[]

project — 项目管理

skillkit project add <path> [--name <名称>]
skillkit project remove <project> [--yes]            # 注销:只删注册信息,不碰项目目录
skillkit project status                           # 查看 diff(该有/缺/多/冲突)
skillkit project apply                           # 幂等落地到 agent 目录
skillkit project list

profile — 候选集管理

skillkit profile create <name>
skillkit profile add-skill <profile> <id>        # id = <source>/<skill>
skillkit profile remove-skill <profile> <id>
skillkit profile list

upgrade — 版本升级

skillkit upgrade <id>                            # 升级单个 skill
skillkit upgrade --all [--yes]                   # 批量升级,--yes 跳过冲突确认

import-existing — 导入存量 skill

skillkit import-existing                         # 扫描存量目录,可溯重装入池 + 无源迁入池(原位 symlink 桥接)
skillkit import-existing --dry-run               # 只输出不写
skillkit import-existing --json                  # JSON 输出

无源(unmanaged)skill 物理迁入 canonical 池,原位置(~/.agents/skills/~/.claude/skills/)用 symlink 桥接取代;已登记的存量 unmanaged 也会被补迁入池(幂等)。

remove — 卸载 skill

skillkit remove <id>                             # 从 canonical 池移除(默认交互确认)
skillkit remove <id> --yes                       # 跳过确认
skillkit remove <id> --json                      # 输出 {id,removed_canonical}(隐含 --yes)

unmanaged skill(无源存量)只删登记不删 canonical 目录(迁池后 canonical 在 ~/.skillkit/.agents/skills/)。

serve — Web GUI

skillkit serve [--port 7317] [--no-open]          # 四视图,覆盖 CLI 全部操作(find/装/卸/升级/导入、project 注册/扫描/重绑/apply-profile/apply 闭环)+ SSE
./start.sh [--port 7317] [--no-open]              # 后台启动,日志写入 .log/YYYY-MM-DD.log
tail -f .log/$(date +%F).log                     # 查看当天后台日志
kill "$(cat .log/skillkit.pid)"                 # 停止后台服务

start.sh 会先编译最新的 skillkit-cli,再以后台进程启动 Web GUI。日志按启动当天写入项目根目录 .log/,该目录已被 Git 忽略。

支持的 Agent

Agent 安装方式 说明
Claude Code symlink(双层桥接) global scope 时自动创建
Cursor symlink 直读 ~/.agents/skills/
OpenCode symlink 直读
Codex copy 无法 symlink 时的 fallback

新增 agent 只需配置,不改代码。详见 ~/.skillkit/config.toml

开发

make check          # format + lint + test(提交前一站式)
make build          # 编译
make test           # 全量测试
make run ARGS="..." # 跑 CLI
make e2e            # GUI 端到端(playwright + chromium)
make e2e-cli        # CLI 全链路端到端(assert_cmd + npx skills)

架构

crates/
  core/    # skillkit-core(lib)— 全部业务逻辑
  cli/     # skillkit-cli(bin)— 薄壳调 core
  server/  # skillkit-server(lib)— Axum + Askama + htmx

CLI 和 server 都是 core 的薄壳,不允许出现重复业务逻辑。状态存储统一在 ~/.skillkit/,并发写用文件锁串行化。

License

MIT

About

在项目级按需加载本地 skill

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages