wittyhub-cli:基于 WittyHub 仓库的命令行工具项目

Command-line interface for searching, installing, and managing Skills & Agents from the WittyHub repository.

分支1Tags0
文件最后提交记录最后更新时间
25 天前
25 天前
25 天前
25 天前
25 天前
19 天前
22 天前
25 天前
25 天前
25 天前
23 天前
24 天前
25 天前
19 天前
25 天前
25 天前

wittyhub-cli

开放式智能体技能生态系统的命令行界面。

支持 OpenCodeClaude CodeCodexCursor 以及其他 68 种智能体

skills.sh

安装技能

npx wittyhub add vercel-labs/agent-skills

无需安装即可使用技能

为单个技能生成提示,或交互式启动受支持的编码代理:

npx wittyhub use vercel-labs/agent-skills@web-design-guidelines | claude
npx wittyhub use vercel-labs/agent-skills --skill web-design-guidelines --agent claude-code

wittyhub usewittyhub add 采用相同的方式解析来源,将所选技能文件写入临时目录,并且默认仅将生成的提示输出到标准输出,除非提供 --agent 参数。使用 --agent 时,它会结合生成的提示以交互方式启动一个受支持的智能体。

来源格式

# GitHub shorthand (owner/repo)
npx wittyhub add vercel-labs/agent-skills

# Full GitHub URL
npx wittyhub add https://github.com/vercel-labs/agent-skills

# Direct path to a skill in a repo
npx wittyhub add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines

# GitLab URL
npx wittyhub add https://gitlab.com/org/repo

# Any git URL
npx wittyhub add git@github.com:vercel-labs/agent-skills.git

# Local path
npx wittyhub add ./my-local-skills

选项

选项 描述
-g, --global 安装到用户目录而非项目目录
-a, --agent <agents...> 指定目标智能体(例如:claude-codecodex)。详见支持的智能体
-s, --skill <skills...> 通过名称安装特定技能(使用 '*' 表示所有技能)
-l, --list 列出可用技能但不进行安装
--copy 复制文件而非创建指向智能体目录的符号链接
-y, --yes 跳过所有确认提示
--all 无提示地将所有技能安装到所有智能体

示例

# List skills in a repository
npx wittyhub add vercel-labs/agent-skills --list

# Install specific skills
npx wittyhub add vercel-labs/agent-skills --skill frontend-design --skill skill-creator

# Install a skill with spaces in the name (must be quoted)
npx wittyhub add owner/repo --skill "Convex Best Practices"

# Install to specific agents
npx wittyhub add vercel-labs/agent-skills -a claude-code -a opencode

# Non-interactive installation (CI/CD friendly)
npx wittyhub add vercel-labs/agent-skills --skill frontend-design -g -a claude-code -y

# Install all skills from a repo to all agents
npx wittyhub add vercel-labs/agent-skills --all

# Install all skills to specific agents
npx wittyhub add vercel-labs/agent-skills --skill '*' -a claude-code

# Install specific skills to all agents
npx wittyhub add vercel-labs/agent-skills --agent '*' --skill frontend-design

安装范围

范围 标志 位置 使用场景
项目 (默认) ./<agent>/skills/ 随项目提交,供团队共享
全局 -g ~/<agent>/skills/ 可在所有项目中使用

安装方式

交互式安装时,您可以选择:

方式 说明
符号链接(推荐) 从每个代理创建指向标准副本的符号链接。单一事实来源,便于更新。
复制 为每个代理创建独立副本。在不支持符号链接时使用。

其他命令

命令 说明
npx wittyhub use <source> 使用某个技能而不安装
npx wittyhub list 列出已安装的技能(别名:ls
npx wittyhub find [query] 通过交互方式或关键词搜索技能
npx wittyhub remove [skills] 从代理中移除已安装的技能
npx wittyhub update [skills] 将已安装的技能更新到最新版本
npx wittyhub init [name] 创建新的 SKILL.md 模板

wittyhub list

列出所有已安装的技能。类似于 npm ls

# List all installed skills (project and global)
npx wittyhub list

# List only global skills
npx wittyhub ls -g

# Filter by specific agents
npx wittyhub ls -a claude-code -a cursor

wittyhub find

以交互方式或按关键字搜索技能。

# Interactive search (fzf-style)
npx wittyhub find

# Search by keyword
npx wittyhub find typescript

# Search across every repository owned by an organization or user
npx wittyhub find react --owner vercel

wittyhub update

# Update all skills (interactive scope prompt)
npx wittyhub update

# Update a single skill by name
npx wittyhub update my-skill

# Update multiple specific skills
npx wittyhub update frontend-design web-design-guidelines

# Update only global or project skills
npx wittyhub update -g
npx wittyhub update -p

# Non-interactive (auto-detects scope: project if in a project, else global)
npx wittyhub update -y
选项 描述
-g, --global 仅更新全局技能
-p, --project 仅更新项目技能
-y, --yes 跳过范围提示(自动检测:若在项目目录中则为项目,否则为全局)
[skills...] 按名称更新特定技能,而非更新所有技能

wittyhub init

# Create SKILL.md in current directory
npx wittyhub init

# Create a new skill in a subdirectory
npx wittyhub init my-skill

wittyhub remove

从代理中移除已安装的技能。

# Remove interactively (select from installed skills)
npx wittyhub remove

# Remove specific skill by name
npx wittyhub remove web-design-guidelines

# Remove multiple skills
npx wittyhub remove frontend-design web-design-guidelines

# Remove from global scope
npx wittyhub remove --global web-design-guidelines

# Remove from specific agents only
npx wittyhub remove --agent claude-code cursor my-skill

# Remove all installed skills without confirmation
npx wittyhub remove --all

# Remove all skills from a specific agent
npx wittyhub remove --skill '*' -a cursor

# Remove a specific skill from all agents
npx wittyhub remove my-skill --agent '*'

# Use 'rm' alias
npx wittyhub rm my-skill
选项 描述
-g, --global 从全局作用域(~/) 移除,而非项目中
-a, --agent 从特定智能体中移除(使用 '*' 表示全部)
-s, --skill 指定要移除的技能(使用 '*' 表示全部)
-y, --yes 跳过确认提示
--all --skill '*' --agent '*' -y 的简写形式

什么是智能体技能?

智能体技能是可重用的指令集,用于扩展您的编码智能体的功能。它们在 SKILL.md 文件中定义,包含带有 name(名称)和 description(描述)的 YAML 前置元数据。

技能使智能体能够执行特定任务,例如:

  • 从 git 历史记录生成发布说明
  • 按照团队约定创建 PR
  • 与外部工具集成(Linear、Notion 等)

访问 skills.sh 发现更多技能

支持的智能体

技能可以安装到以下任意智能体:

智能体 --agent 项目路径 全局路径
AiderDesk aider-desk .aider-desk/skills/ ~/.aider-desk/skills/
Amp, Replit, Universal amp, replit, universal .agents/skills/ ~/.config/agents/skills/
Antigravity antigravity .agents/skills/ ~/.gemini/antigravity/skills/
Antigravity CLI antigravity-cli .agents/skills/ ~/.gemini/antigravity-cli/skills/
AstrBot astrbot data/skills/ ~/.astrbot/data/skills/
Autohand Code CLI autohand-code .autohand/skills/ ~/.autohand/skills/
Augment augment .augment/skills/ ~/.augment/skills/
IBM Bob bob .bob/skills/ ~/.bob/skills/
Claude Code claude-code .claude/skills/ ~/.claude/skills/
OpenClaw openclaw skills/ ~/.openclaw/skills/
Cline, Dexto, Kimi Code CLI, Loaf, Warp, Zed cline, dexto, kimi-code-cli, loaf, warp, zed .agents/skills/ ~/.agents/skills/
CodeArts Agent codearts-agent .codeartsdoer/skills/ ~/.codeartsdoer/skills/
CodeBuddy codebuddy .codebuddy/skills/ ~/.codebuddy/skills/
Codemaker codemaker .codemaker/skills/ ~/.codemaker/skills/
Code Studio codestudio .codestudio/skills/ ~/.codestudio/skills/
Codex codex .agents/skills/ ~/.codex/skills/
Command Code command-code .commandcode/skills/ ~/.commandcode/skills/
Continue continue .continue/skills/ ~/.continue/skills/
Cortex Code cortex .cortex/skills/ ~/.snowflake/cortex/skills/
Crush crush .crush/skills/ ~/.config/crush/skills/
Cursor cursor .agents/skills/ ~/.cursor/skills/
Deep Agents deepagents .agents/skills/ ~/.deepagents/agent/skills/
Devin for Terminal devin .devin/skills/ ~/.config/devin/skills/
Droid droid .factory/skills/ ~/.factory/skills/
Eve eve agent/skills/ N/A (仅限项目)
Firebender firebender .agents/skills/ ~/.firebender/skills/
ForgeCode forgecode .forge/skills/ ~/.forge/skills/
Gemini CLI gemini-cli .agents/skills/ ~/.gemini/skills/
GitHub Copilot github-copilot .agents/skills/ ~/.copilot/skills/
Goose goose .goose/skills/ ~/.config/goose/skills/
Hermes Agent hermes-agent .hermes/skills/ ~/.hermes/skills/
inference.sh inference-sh .inferencesh/skills/ ~/.inferencesh/skills/
Jazz jazz .jazz/skills/ ~/.jazz/skills/
Junie junie .junie/skills/ ~/.junie/skills/
iFlow CLI iflow-cli .iflow/skills/ ~/.iflow/skills/
Kilo Code kilo .kilocode/skills/ ~/.kilocode/skills/
Kiro CLI kiro-cli .kiro/skills/ ~/.kiro/skills/
Kode kode .kode/skills/ ~/.kode/skills/
Lingma lingma .lingma/skills/ ~/.lingma/skills/
MCPJam mcpjam .mcpjam/skills/ ~/.mcpjam/skills/
Mistral Vibe mistral-vibe .vibe/skills/ ~/.vibe/skills/
Moxby moxby .moxby/skills/ ~/.moxby/skills/
Mux mux .mux/skills/ ~/.mux/skills/
OpenCode opencode .agents/skills/ ~/.config/opencode/skills/
OpenHands openhands .openhands/skills/ ~/.openhands/skills/
Ona ona .ona/skills/ ~/.ona/skills/
Pi pi .pi/skills/ ~/.pi/agent/skills/
Qoder qoder .qoder/skills/ ~/.qoder/skills/
Qoder CN qoder-cn .qoder/skills/ ~/.qoder-cn/skills/
Qwen Code qwen-code .qwen/skills/ ~/.qwen/skills/
Reasonix reasonix .reasonix/skills/ ~/.reasonix/skills/
Rovo Dev rovodev .rovodev/skills/ ~/.rovodev/skills/
Roo Code roo .roo/skills/ ~/.roo/skills/
Tabnine CLI tabnine-cli .tabnine/agent/skills/ ~/.tabnine/agent/skills/
Terramind terramind .terramind/skills/ ~/.terramind/skills/
Tinycloud tinycloud .tinycloud/skills/ ~/.tinycloud/skills/
Trae trae .trae/skills/ ~/.trae/skills/
Trae CN trae-cn .trae/skills/ ~/.trae-cn/skills/
Windsurf windsurf .windsurf/skills/ ~/.codeium/windsurf/skills/
Zencoder, Zenflow zencoder, zenflow .zencoder/skills/ ~/.zencoder/skills/
Neovate neovate .neovate/skills/ ~/.neovate/skills/
Pochi pochi .pochi/skills/ ~/.pochi/skills/
PromptScript promptscript .agents/skills/ N/A (仅限项目)
AdaL adal .adal/skills/ ~/.adal/skills/

Note

Kiro CLI 用户注意: 默认智能体会自动从 .kiro/skills/~/.kiro/skills/ 加载技能 — 无需额外配置。如果您使用自定义智能体,请在 .kiro/agents/<agent>.jsonresources 中添加技能:

{
  "resources": ["skill://.kiro/skills/**/SKILL.md"]
}

CLI 会自动检测您已安装的编码智能体。如果未检测到任何智能体,系统会提示您选择要安装技能的智能体。

创建技能

技能是包含带有 YAML 前置元数据的 SKILL.md 文件的目录:

---
name: my-skill
description: What this skill does and when to use it
---

# My Skill

Instructions for the agent to follow when this skill is activated.

## When to Use

Describe the scenarios where this skill should be used.

## Steps

1. First, do this
2. Then, do that

必填字段

  • name:唯一标识符(小写,允许使用连字符)
  • description:技能功能的简要说明

可选字段

  • metadata.internal:设为 true 可隐藏技能,使其不参与常规发现。仅当设置 INSTALL_INTERNAL_SKILLS=1 时,内部技能才可见且可安装。此功能适用于开发中的技能或仅供内部工具使用的技能。
---
name: my-internal-skill
description: An internal skill not shown by default
metadata:
  internal: true
---

技能发现

CLI 会在仓库内的以下位置搜索技能。对于常见的扁平布局(skills/<name>/SKILL.md),会遍历每个技能容器目录下一级深度;对于分类布局(skills/<category>/<name>/SKILL.md),则会额外多遍历一级深度。在较浅层级发现的 SKILL.md 会覆盖其下嵌套的所有文件。使用 --full-depth 选项可同时发现这些容器目录之外的 SKILL.md 文件(例如在 examples/tests/ 目录下)。

  • 根目录(如果包含 SKILL.md
  • skills/
  • skills/.curated/
  • skills/.experimental/
  • skills/.system/
  • .aider-desk/skills/
  • .agents/skills/
  • data/skills/
  • .autohand/skills/
  • .augment/skills/
  • .bob/skills/
  • .claude/skills/
  • .codeartsdoer/skills/
  • .codebuddy/skills/
  • .codemaker/skills/
  • .codestudio/skills/
  • .commandcode/skills/
  • .continue/skills/
  • .cortex/skills/
  • .crush/skills/
  • .devin/skills/
  • .factory/skills/
  • agent/skills/
  • .forge/skills/
  • .goose/skills/
  • .hermes/skills/
  • .inferencesh/skills/
  • .jazz/skills/
  • .junie/skills/
  • .iflow/skills/
  • .kilocode/skills/
  • .kiro/skills/
  • .kode/skills/
  • .lingma/skills/
  • .mcpjam/skills/
  • .vibe/skills/
  • .moxby/skills/
  • .mux/skills/
  • .openhands/skills/
  • .ona/skills/
  • .pi/skills/
  • .qoder/skills/
  • .qwen/skills/
  • .reasonix/skills/
  • .rovodev/skills/
  • .roo/skills/
  • .tabnine/agent/skills/
  • .terramind/skills/
  • .tinycloud/skills/
  • .trae/skills/
  • .windsurf/skills/
  • .zencoder/skills/
  • .neovate/skills/
  • .pochi/skills/
  • .adal/skills/

插件清单发现

如果存在 .claude-plugin/marketplace.json.claude-plugin/plugin.json 文件,这些文件中声明的技能也会被发现:

// .claude-plugin/marketplace.json
{
  "metadata": { "pluginRoot": "./plugins" },
  "plugins": [
    {
      "name": "my-plugin",
      "source": "my-plugin",
      "skills": ["./skills/review", "./skills/test"]
    }
  ]
}

这实现了与 Claude Code plugin marketplace 生态系统的兼容性。清单中声明的技能路径会按其声明的深度进行搜索,不受上述深度为 2 的目录遍历限制。

如果在标准位置未找到任何技能,则会执行递归搜索。

兼容性

由于技能遵循共享的 Agent Skills specification,因此通常可在不同代理之间兼容。不过,某些功能可能特定于某个代理:

功能 OpenCode OpenHands Claude Code Cline CodeBuddy Codex Command Code Kiro CLI Cursor Antigravity Roo Code Github Copilot Amp OpenClaw Neovate Pi Qoder Zencoder
基本技能
allowed-tools
context: fork
钩子

故障排除

“未找到技能”

确保仓库包含有效的 SKILL.md 文件,且在前置元数据中同时包含 namedescription

技能未在代理中加载

  • 验证技能是否安装到正确路径
  • 查看代理文档了解技能加载要求
  • 确保 SKILL.md 前置元数据是有效的 YAML

权限错误

确保您对目标目录具有写入权限。

环境变量

变量 描述
INSTALL_INTERNAL_SKILLS 设置为 1true 可显示并安装标记为 internal: true 的技能
DISABLE_TELEMETRY 设置后可禁用匿名使用情况遥测
DO_NOT_TRACK 禁用遥测的另一种方式
# Install internal skills
INSTALL_INTERNAL_SKILLS=1 npx wittyhub add vercel-labs/agent-skills --list

遥测数据

本 CLI 会收集匿名使用数据以帮助改进工具。不会收集任何个人信息。

在 CI 环境中,遥测功能会自动禁用。

相关链接

致谢

本项目基于 vercel-labs/skills 分叉开发。我们感谢 Vercel 团队及原贡献者在智能体技能生态系统方面所做的出色工作。

许可证

MIT

项目介绍

Command-line interface for searching, installing, and managing Skills & Agents from the WittyHub repository.

定制我的领域