文档
推荐给好友,福利领不停!好友同步开通最高 1000 万词元额度 · 后续消费分佣最高 30%。
+50万 Token生成链接

技能 (Skills) 与插件

给 CrabCode 装上专项能力包:UI 设计、浏览器自动化、代码审计、技能生成器等。来源含内置、用户/项目目录、官方 marketplace。

是什么

Skill = 一个 SKILL.md 加上可选的脚本/资源,告诉 CrabCode 在特定任务上怎么干("做 UI 设计时遵循这些原则"、"写浏览器自动化时调这个 CLI")。CrabCode 启动时按 frontmatter 的描述索引可用 skill,模型在需要时自己挑用。

Plugin = 把若干 skill / slash 命令 / hook 打包成一个发布单元,通过 marketplace 分发与升级。装一个插件可能同时装多个 skill。

何时会看到这个文档

  • /plugin 浏览 / 安装 / 启停界面
  • /skills 列已加载的 skill
  • /init 推荐你装 frontend-design / playwright / skill-creator
  • /plugin install foo@bar 报错 / marketplace 解析失败

Skill 的四个来源

CrabCode 启动时从四个地方加载 skill:

来源路径 / 形态何时用
内置(bundled)随 CLI 发布,无路径verify / debug / skillify / simplify / remember / keybindings / updateConfig / loremIpsum / batch / browserAutomation 等,无需安装
用户目录~/.crabcode/skills/<name>/SKILL.md跟着你跨项目
项目目录<repo>/.crabcode/skills/<name>/SKILL.md仅本项目;可入 git 与团队共享
插件(marketplace)/plugin install 装进来的第三方 / Acosmi 官方

MCP server 也会暴露出来的工具自动出现在可用 skill 列表里,标 mcp 来源——见 MCP 文档

安装官方插件

官方 marketplace 名字是 crabcode-plugins-official,登录后自动注册,无需手动加。

shell
/plugin                                                    # 主菜单
/plugin install                                            # 浏览所有可用插件
/plugin install frontend-design@crabcode-plugins-official
/plugin install playwright@crabcode-plugins-official
/plugin install skill-creator@crabcode-plugins-official
/plugin                                                    # 主菜单
/plugin install                                            # 浏览所有可用插件
/plugin install frontend-design@crabcode-plugins-official
/plugin install playwright@crabcode-plugins-official
/plugin install skill-creator@crabcode-plugins-official

也支持 CLI(非交互):

bash
crabcode plugin install <plugin>@<marketplace>
crabcode plugin uninstall <plugin>
crabcode plugin enable|disable <plugin>
crabcode plugin update [<plugin>]
crabcode plugin list
crabcode plugin install <plugin>@<marketplace>
crabcode plugin uninstall <plugin>
crabcode plugin enable|disable <plugin>
crabcode plugin update [<plugin>]
crabcode plugin list

常用官方插件

插件作用
frontend-design写 UI 时遵循设计规范,避免 AI 通病的"模板感"
playwright让 CrabCode 通过 Playwright 真机自动化截图验证自己写的 UI
skill-creator创建 / 优化你自己的 skill,含 evals;装完用 /skill-creator
code-review / reviewPR 代码评审
security-review安全审计
crabcode-api写 Acosmi API 调用代码时自动启用 prompt caching 等最佳实践

完整目录用 /plugin install 浏览。

写一个自己的 skill

目录结构

shell
~/.crabcode/skills/<skill-name>/
  SKILL.md            # 必需,frontmatter + prompt body
  helpers/            # 可选脚本 / 资源(在 prompt 里 @ 引用)
~/.crabcode/skills/<skill-name>/
  SKILL.md            # 必需,frontmatter + prompt body
  helpers/            # 可选脚本 / 资源(在 prompt 里 @ 引用)

项目级 skill 把根换成 <repo>/.crabcode/skills/<skill-name>/,连同 .crabcode/settings.json 入 git 给团队共享。

SKILL.md frontmatter 字段

字段必需含义
name调用名(也用作 slash 命令 /<name>
description一句话描述——模型根据这句话决定是否选用
when_to_use何时触发的更详细说明(不影响选用判定,只是更长的人类说明)
allowed-tools限定本 skill 可调的工具集,例如 Read,Edit,Bash(git*)
argument-hint/skill-name 调用时的入参提示
arguments显式入参名列表
model强制本 skill 用某个模型;inherit 跟随当前会话
effort思考档:off / high / max 或整数
user-invocablefalse 表示只让模型自选、不进 /<skill-name> 列表
disable-model-invocationtrue 表示只让用户手动 /<skill-name>,模型不会自动选
pathsglob 列表,仅当当前会话碰到匹配文件时激活(条件 skill)
version版本号字符串,供你自管理
hooks本 skill 自带的 hook 配置(同 settings.json hooks 字段)
shellcommand 类型 hook 默认 shell
contextfork 表示在 fork 子上下文里跑
agent用指定的 agent 类型跑

frontmatter 之后的 markdown 正文 = 注入模型的 prompt。

完整示例

markdown
---
name: ship-checklist
description: 把改动准备好发布——跑 lint、检查 changelog、验证 PR 模板
when_to_use: 用户说"准备发布"/"PR 体检",或 git commit 后准备开 PR
allowed-tools: Read,Bash(bun*),Bash(cargo*),Bash(git status*)
effort: high
---

## 步骤
1. 跑项目的 `bun run lint` / `cargo clippy`
2. 检查 CHANGELOG 是否有当前版本条目
3. 检查 commit message 是否符合项目惯例
4. 如有未提交改动,提示用户先 commit
---
name: ship-checklist
description: 把改动准备好发布——跑 lint、检查 changelog、验证 PR 模板
when_to_use: 用户说"准备发布"/"PR 体检",或 git commit 后准备开 PR
allowed-tools: Read,Bash(bun*),Bash(cargo*),Bash(git status*)
effort: high
---

## 步骤
1. 跑项目的 `bun run lint` / `cargo clippy`
2. 检查 CHANGELOG 是否有当前版本条目
3. 检查 commit message 是否符合项目惯例
4. 如有未提交改动,提示用户先 commit

文件保存即生效;跑 /skills 看你的 skill 是否出现在列表里,跑 /<skill-name> 手动调用确认 prompt 注入正确。

不熟流程?跑 skillify(内置 skill)让 CrabCode 带你交互式生成一份 SKILL.md。

优先级与冲突解决

CrabCode 启动时按这个顺序加载 skill(前者先 win,同名后者被丢):

  1. Managed(企业 policySettings
  2. User~/.crabcode/skills/
  3. Project<repo>/.crabcode/skills/
  4. Additional(额外指定的工作目录)
  5. Plugin / Bundled / MCP

同名 skill 后加载的会被记 Skipping duplicate skill '<name>' 到 debug 日志;用 --debug 启动看完整加载日志。

Skill / Hook / MCP 怎么选

三种都能扩展 CrabCode,但语义不同:

形式触发者适合
Skill模型按 description 主动选用,或用户 /<name> 手动调「做 X 任务时的工作流 / 思路」
HookCrabCode 在生命周期事件(PreToolUse / PostToolUse 等)自动调「在 Y 事件发生时强制做 Z」(拦截 / 审计 / 自动 format)
MCP server模型按需调用 server 暴露的工具「让模型多一种能力」(数据库查询、API 集成等)

混着用很常见:一个 plugin 同时装 skill(教模型怎么做) + hook(PreToolUse 拦危险动作) + MCP server(给模型新工具)。

自定义 marketplace

把你团队的 skill 仓库注册成 marketplace 后,/plugin 就能直接装:

bash
crabcode plugin marketplace add my-team/skills           # GitHub owner/repo
crabcode plugin marketplace add git@example.com:.../repo # 任意 git URL
crabcode plugin marketplace add ./local/path             # 本地目录
crabcode plugin marketplace list
crabcode plugin marketplace update [<name>]
crabcode plugin marketplace remove <name>
crabcode plugin marketplace add my-team/skills           # GitHub owner/repo
crabcode plugin marketplace add git@example.com:.../repo # 任意 git URL
crabcode plugin marketplace add ./local/path             # 本地目录
crabcode plugin marketplace list
crabcode plugin marketplace update [<name>]
crabcode plugin marketplace remove <name>

也可写进 settings.json

json
{
  "extraKnownMarketplaces": {
    "my-team": {
      "source": "github",
      "repo": "my-team/skills",
      "ref": "main"
    }
  }
}
{
  "extraKnownMarketplaces": {
    "my-team": {
      "source": "github",
      "repo": "my-team/skills",
      "ref": "main"
    }
  }
}

支持的 marketplace source 类型:github / git / url / npm / file / directory / settings(settings 内联)。

限制与注意

  • 读 SKILL.md 再装:插件可能带脚本和 hook,装之前看一眼 manifest
  • 更新/plugin marketplace update <name> 拉最新;插件本体走 /plugin update
  • 作用域:插件 --scope user|project|local 控制装到哪——项目级会跟 .crabcode/settings.json 一起进 git 给队友共享
  • 冲突:同名 skill 后加载的覆盖前面的(来源优先级:项目 > 用户 > 内置)
  • 企业策略:组织可在 policySettings 里锁定可用 marketplace 与可装插件
  • /plugins/plugin 的别名

相关