在安装 AI 智能体技能之前,扫描其中的提示注入风险
```
╔════════════════════════════════════════════════════════╗
║ ███████╗██╗ ██╗██╗ ██╗██╗ ████████╗ ██████╗ ║
║ ██╔════╝██║ ██╔╝██║ ██║██║ ╚══██╔══╝██╔═══██╗ ║
║ ███████╗█████╔╝ ██║ ██║██║ ██║ ██║ ██║ ║
║ ╚════██║██╔═██╗ ██║ ██║██║ ██║ ██║ ██║ ║
║ ███████║██║ ██╗╚██████╔╝███████╗██║ ╚██████╔╝ ║
║ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ║
╠════════════════════════════════════════════════════════╣
║ CROSS-PLATFORM AI SKILLS MANAGEMENT ║
╚════════════════════════════════════════════════════════╝

## 什么是 Skulto?
Skulto 是一款跨平台 CLI 工具,用于在 33 个平台上管理 AI 编程助手技能。它提供:
1. **多平台安装** - 将技能安装到 Claude Code、Cursor、Windsurf、Copilot、Codex、Cline、Roo Code、Gemini CLI、Kiro CLI 以及 25 多个其他平台
2. **仓库管理** - 添加、同步和移除技能仓库
3. **全文搜索** - 基于 SQLite FTS5 的搜索,覆盖所有已索引的技能
4. **安全扫描** - 检测提示注入和危险代码模式
5. **平台检测** - 自动检测系统中已安装的 AI 工具
6. **交互式 TUI** - 基于 Bubble Tea 的终端界面,支持可折叠分组、多选和键盘导航
7. **基于 URL 的安装** - 通过 `skulto install owner/repo` 直接从 GitHub 仓库安装
## 功能特性

- **支持 33 个平台** - Claude Code、Cursor、Windsurf、GitHub Copilot、OpenAI Codex、OpenCode、Cline、Roo Code、Gemini CLI、Kiro CLI、Amp、Continue、Goose、Junie、Qwen Code、Trae 等
- **平台检测** - 检测已安装的 AI 工具并在平台选择器中显示
- **离线优先** - 初始同步后无需联网即可使用
- **快速搜索** - 基于 FTS5 的全文搜索,采用 BM25 排序(约 50ms 延迟)
- **基于 Git 的同步** - 克隆和拉取仓库以获得可靠的更新
- **安全扫描器** - 检测 frontmatter、引用、脚本中的提示注入及危险模式,并标注威胁等级
- **智能多技能安装** - 从仓库 URL 安装多个技能,支持逐技能冲突解决(跳过已安装的、添加新位置或全部跳过)
- **作用域选择** - 全局(`~/`)或按项目(`./`)安装技能,每个平台可单独控制
- **可折叠平台分组** - 已检测/首选平台置顶,其他所有平台在所有选择器中折叠显示
- **安装位置记忆** - 可选择记住平台/作用域选择,便于后续安装
- **收藏夹** - 保存收藏的技能,数据库重置后依然保留
- **最近查看** - 跟踪并显示最近查看过的技能
- **MCP 服务器** - 用于 AI 工具集成的模型上下文协议服务器(可编程搜索、安装和管理技能)
- **遥测** - 匿名使用统计(可在设置中通过环境变量选择退出)
### 支持的平台
Skulto 可检测并向 33 个 AI 编程工具安装技能:
| | | | |
|---|---|---|---|
| Claude Code | Cursor | Windsurf | GitHub Copilot |
| OpenAI Codex | OpenCode | Cline | Roo Code |
| Gemini CLI | Kiro CLI | Amp | Continue |
| Goose | Junie | Kilo Code | Trae |
| Qwen Code | Kimi Code CLI | CodeBuddy | Command Code |
| Crush | Droid | Kode | MCPJam |
| Mux | OpenHands | Pi | Qoder |
| Zencoder | Neovate | Pochi | Antigravity |
| Moltbot | | | |
## 安装
### Homebrew```bash
brew install asteroid-belt/tap/skulto
要升级:```bash brew upgrade asteroid-belt/tap/skulto
### Linux 软件包
GitHub Releases 为 `amd64` 和 `arm64` 架构提供 `.deb` 和 `.rpm` 下载。请根据你的发行版选择相应的软件包格式,并将下方版本号替换为发布标签:```bash
VERSION=vX.Y.Z
ARCH=amd64 # or arm64
# Debian/Ubuntu
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/skulto_${VERSION#v}_linux_${ARCH}.deb"
# Fedora/RHEL/openSUSE
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/skulto-${VERSION#v}-1.$([ "$ARCH" = amd64 ] && echo x86_64 || echo aarch64).rpm"
# Download the release checksums, then verify the downloaded asset.
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/checksums.txt"
sha256sum -c checksums.txt --ignore-missing
使用你的发行版包管理器安装本地文件:```bash sudo apt install ./skulto_.deb sudo dnf install ./skulto-.rpm sudo zypper install ./skulto-*.rpm
每个包会将 `skulto` 和 `skulto-mcp` 安装到 `/usr/bin/skulto` 和
`/usr/bin/skulto-mcp`。Skulto 在运行时不需要系统 Git。这些是
GitHub Release 下载,而非配置的软件包仓库。
### 从源码构建```bash
# Clone the repository
git clone https://github.com/asteroid-belt/skulto.git
cd skulto
# Install dependencies
make deps
# Build (outputs to ./build/)
make build-all
# Run
./build/skulto
GITHUB_TOKEN 用于更高的 API 速率限制skulto
skulto install asteroid-belt/skills
首次启动时,Skulto 会引导你完成设置流程:
1. **平台选择** - 检测到的 AI 工具会显示在顶部;选择要同步技能的目标平台
2. **技能选择** - 来自 Asteroid Belt 的精选入门技能(superplan、superbuild、teach、agentsmd-generator 等)
3. **位置选择器** - 为每个平台选择全局或项目范围,并预填你之前的选项
## 面向团队的技能管理
Skulto 的工作方式类似于 AI 代理技能包管理器。使用 `skulto.json` 定义项目所需的技能,然后运行 `skulto sync` 进行安装——这样每位开发者和 CI 环境都能拥有相同的技能配置。
### 工作流程```bash
# 1. Install skills into your project
skulto install superplan
skulto install teach
# 2. Save project skills to a manifest
skulto save
# 3. Commit skulto.json to your repo
git add skulto.json
git commit -m "add skulto skill manifest"
# 4. Teammates (or CI) sync from the manifest
skulto sync
skulto.json该清单用于跟踪你的项目依赖哪些技能以及它们的来源:```json { "version": 1, "skills": { "superplan": "asteroid-belt/skills", "teach": "asteroid-belt/skills", "resume-ats-optimizer": "paramchoudhary/resumeskills" } }
每个条目将技能 slug 映射到其源仓库(`owner/repo`)。当团队成员运行 `skulto sync` 时,Skulto 会克隆缺失的仓库、解析技能,并将其安装到所选平台。
### `skulto save`
将当前项目范围内的安装捕获到 `skulto.json` 中:```bash
$ skulto save
SAVED to skulto.json
teach asteroid-belt/skills
superplan asteroid-belt/skills
2 skill(s) saved
仅项目范围内的安装会被保存——全局安装属于个人范畴,不会通过清单共享。
skulto sync读取 skulto.json 并安装任何缺失的技能:```bash
$ skulto sync
SYNCING from skulto.json (2 skills) ──────────────────────────────────────────────── Done! Installed: 2, Skipped: 0
在同步时,Skulto 会:
1. 添加任何尚未存在于本地数据库中的源仓库
2. 按 slug 解析每个技能
3. 提示选择平台和作用范围(或使用 `-y` 检测到的默认值)
4. 跳过已安装在所选位置的技能
### `skulto check`
显示所有已安装的技能及其安装位置:```bash
$ skulto check
SKILL INSTALLED LOCATIONS
─────────────────────────────────────────────────────────────
superplan claude (global), codex (global + project)
teach claude (global + project)
2 skill(s) installed
skulto save 和 skulto check 都会自动检测磁盘上存在(作为项目平台目录中的符号链接)但数据库中缺失的技能。这种情况会发生在迁移、数据库重置之后,或当团队成员在 Skulto 之外安装技能时。```bash
$ skulto check
RECONCILED 2 project skill(s) brainstorming claude modern-python codex
SKILL INSTALLED LOCATIONS ───────────────────────────────────────────────────────────── brainstorming claude (project) modern-python codex (project)
2 skill(s) installed
项目中的普通目录(直接提交到仓库的技能)会被保留原样——它们不需要 Skulto 管理。
## 使用方法
### TUI 模式(默认)```bash
skulto

按键绑定:
| 按键 | 操作 |
|---|---|
/ | 打开搜索 |
j / k | 向下 / 向上导航 |
h / l | 向左 / 向右导航(列之间) |
↑ / ↓ | 导航结果 |
Enter | 选择 / 确认 |
Space | 切换选择(在选择器中) |
f | 切换收藏 / 书签 |
i | 安装 / 管理技能位置 |
c | 将技能内容复制到剪贴板 |
p | 拉取 / 同步仓库 |
Esc | 返回 / 取消 |
q | 退出 |
主视图显示三列:
当您选择一个技能时,您将看到:
c 复制完整技能内容安装技能时,您可以选择安装位置:
~/.claude/skills/(用户级)或 ./.claude/skills/(项目级)a 全部,n 无,g 仅全局,p 仅项目在已安装技能上按 i 以管理其位置: