跳转到内容

在 Claude Code 中设置 potato-skill

把 potato-skill 作为 Claude Code 插件安装,选择决定谁能用到插件的作用域,并批准技能运行的命令。

Claude Code 把 potato-skill 作为插件安装,先运行 /plugin marketplace add davidjurgens/potato-skill,再运行 /plugin install potato-skill@potato。这个插件只带一个技能,没有智能体、钩子或 MCP 服务器,只要请求与构建或运行标注研究有关,Claude 就会加载这个技能。 potato-skill 最初就是为 Claude Code 编写的,这条路线能得到技能设计中的每个部分。用编程智能体快速入门讲解了这个技能如何处理一项研究,在编程智能体中安装 potato-skill介绍其他智能体。

安装之前

Potato 要装在 Claude Code 的 shell 所用的 Python 环境中。技能的辅助脚本会导入 Potato 的注册表并调用 potato 命令,技能的第一步也会检查 Potato 能否导入。浏览器扩展和 Chromium 让 potato preview --screenshot 和技能的走查脚本能在无头浏览器中打开任务:

bash
pip install 'potato-annotation[preview]'
playwright install chromium

安装插件

在 Claude Code 会话中,先添加插件市场,再安装插件:

text
/plugin marketplace add davidjurgens/potato-skill
/plugin install potato-skill@potato

安装命令会在 /plugin 面板中打开插件的详情,并询问作用域:

作用域谁能用到这个技能Claude Code 记录插件的位置
User(用户)你自己,在这台机器上的每个项目中~/.claude/settings.json
Project(项目)在这个仓库中工作的所有人.claude/settings.json,需要你提交
Local(本地)你自己,仅限这个仓库.claude/settings.local.json

User 作用域适合在多个项目文件夹中构建研究的研究者。Project 作用域适合多项研究共用一个仓库的实验室。提交 .claude/settings.json 会为协作者启用这个插件,但不会把插件下载到他们的机器上。每位协作者需要运行一次安装:

bash
claude plugin install potato-skill@potato --scope project

安装脚本可以在你的 shell 中运行同样的两个步骤,无需打开会话:

bash
claude plugin marketplace add davidjurgens/potato-skill
claude plugin install potato-skill@potato

从 shell 安装的插件会在 Claude Code 下次启动时加载,已经打开的会话则在运行 /reload-plugins 之后加载。同一台电脑上的终端、桌面应用的本地会话和 VS Code 扩展读取同样的设置文件。在这三者中任意一个里做的 User 作用域安装,另外两个也能用到。

确认安装

在 shell 中运行 claude plugin list,会打印插件及其版本、作用域和状态:

text
  ❯ potato-skill@potato
    Version: 1.2.0
    Scope: user
    Status: ✔ enabled

claude plugin details potato-skill 列出一个技能,没有智能体、钩子或 MCP 服务器。同一条命令还会估算技能占用的上下文:技能的名称和描述在每个会话中约占 220 个 token,每次加载技能时约占 10,900 个 token。

开始一项研究

用日常语言描述研究。当请求符合技能的描述时,Claude 会不借助命令加载这个技能,例如请求构建标注任务、编辑 Potato 的 config.yaml,或查看正在运行的研究:

我想让三名标注者分别对 200 条推文按 5 点量表标注情感倾向,并加上一个知情同意页面和两道注意力检查题。构建好并启动它。

插件技能以插件名命名。在请求前输入 /potato-skill:potato-skill 会直接加载这个技能。输入 / 会在命令菜单中显示这个名称,/skills 则列出 Claude Code 已加载的所有技能。

批准技能运行的命令

技能会让 Claude 验证配置、启动 Potato 服务器、在无头浏览器中打开任务,并运行技能的辅助脚本。其中每一项都是 shell 命令。在默认的 Manual 模式下,Claude Code 会在运行 shell 命令之前询问,回答 "Yes, and don't ask again" 会在该仓库中为这条命令保存一条规则。

构建一项研究会多次运行 potato validate 和 potato preview。.claude/settings.json 中的允许规则会提前批准这两条命令,其余命令仍然会弹出询问:

json
{
  "permissions": {
    "allow": [
      "Bash(potato validate *)",
      "Bash(potato preview *)"
    ]
  }
}

/permissions 显示每条规则及其来自哪个设置文件。potato-skill 没有声明 allowed-tools。技能请求的每条命令都要经过你的权限设置。规则语法和其他权限模式见 Claude Code 的权限文档。

不使用插件系统安装

skills CLI 会把同样的文件放进项目中的 .claude/skills/potato-skill/,Claude Code 会从那里读取项目技能:

bash
npx skills add davidjurgens/potato-skill --agent claude-code

项目技能的名称不带插件前缀,因此 /potato-skill 即可加载这个技能。提交 .claude/skills/ 后,协作者无需安装步骤就能得到这个技能。Cursor、VS Code 中的 GitHub Copilot 和 OpenCode 也读取 .claude/skills/。该 CLI 需要 Node.js 22.20 或更高版本。Claude Code 的云端会话不会加载安装在你自己机器上的插件。云端会话运行在 claude.ai/code 的浏览器中。

更新和移除插件

只有当插件所在的市场开启了自动更新,Claude Code 才会自动更新插件,而手动添加的市场(例如 davidjurgens/potato-skill)默认关闭自动更新。在 shell 中更新插件:

bash
claude plugin update potato-skill@potato

如果想自动更新,运行 /plugin,打开 Marketplaces 标签页,选择 potato,再选择 Enable auto-update。正在运行的会话保持它加载时的版本,下一个会话才会加载新版本。

claude plugin uninstall potato-skill@potato 会移除插件。/plugin marketplace remove potato 会移除这个市场以及从该市场安装的所有插件。/plugin 面板的完整说明见 Claude Code 的插件文档。

延伸阅读