关于 catalog-mcp
catalog-mcp 为 Skills and Agents 技能目录提供搜索与获取能力,面向需要从组织目录检索技能和 Agent 的 MCP 客户端。连接需要 Bearer token。
主要功能
- 01搜索技能目录
- 02获取技能内容
- 03支持 Bearer token 认证
适用场景
- 01按需查找组织目录中的技能
- 02通过 MCP 客户端获取技能
MCP 相关
该 MCP 服务将 Skills and Agents 目录的搜索和获取能力提供给 MCP 客户端。需要 Bearer token 认证。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://app.skillsandagents.co/catalog/mcpclaude mcp add --transport http co-skillsandagents-catalog https://app.skillsandagents.co/catalog/mcp{"mcpServers":{"co-skillsandagents-catalog":{"type":"http","url":"https://app.skillsandagents.co/catalog/mcp"}}}在 Cursor 中打开{"servers":{"co-skillsandagents-catalog":{"type":"http","url":"https://app.skillsandagents.co/catalog/mcp"}}}在 VS Code 中打开{"mcpServers":{"co-skillsandagents-catalog":{"type":"http","url":"https://app.skillsandagents.co/catalog/mcp"}}}{"mcpServers":{"co-skillsandagents-catalog":{"serverUrl":"https://app.skillsandagents.co/catalog/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://app.skillsandagents.co/catalog/mcp需要授权工具
详细介绍
技能与 Agent 库
让 Claude Code 能力更强的技能。只需一条命令即可安装。
浏览实时目录:skillsandagents.co · 由 Skills and Agents Co 构建并维护
每项技能都会为 Claude 增添一项特定能力:检查企业现金流、查看品牌在 ChatGPT 中的曝光情况、修复 Ghost 网站的 Google 索引问题,或逐步指导你提交失业救济申请。安装一次,Claude 就能立即掌握如何完成这项工作。
本仓库是我们发布的所有技能的权威来源。每项技能都采用 MIT 许可证、带有版本标签,并且可以直接用于 Claude Code、Claude Desktop,或任何能加载 SKILL.md 文件的 Anthropic 兼容运行环境。
安装插件市场
添加一次市场,即可从中安装任意插件:
/plugin marketplace add skills-agents-co/skills-and-agents-library
/plugin install financial-pulse@skills-and-agents
将 financial-pulse 替换为 .claude-plugin/marketplace.json 中列出的任意插件。financial-pulse 可连接 Mercury、Ramp 和 Grasshopper,了解现金流状况。product-builder 集成了代码审查、PR 摘要、研究简报、竞争对手情报和文档起草功能。
适用人群
- 终端用户:希望 Claude 端到端处理特定任务,无需提示词技巧,也无需胶水代码。选择一项技能,安装后向 Claude 提出请求即可。
- 产品经理:评估实际应用中的 Claude 技能——值得借鉴的真实使用范围、打包方式和触发条件。
- 开发者:构建自己的技能和 Agent——这里的每个文件夹都是可供复刻、研究或提交 PR 的实用参考。
内容一览
根据你想做的事查找技能
| 我想…… | 使用 | 类型 |
|---|---|---|
| 自动修复我的 Ghost 博客在 Google 中的索引问题(Search Console → 诊断 → 修复 → 重新提交) | ghost-seo-agent/ | Agent |
| 查看我的品牌在 ChatGPT、Perplexity 和 Claude 中的曝光情况,以及该写些什么来弥补差距 | llm-visibility-agent/ | Agent |
| 获取每周现金流概况,涵盖 Mercury、Ramp 和 Grasshopper | financial-pulse/ | 技能 + 3 个 Agent |
| 在收购私营公司前进行买方尽职调查(QoE、风险标记矩阵、估值影响) | buy-side-diligence/ | 技能 |
| 与我的广告和分析数据对话,并获取按优先级排序的优化措施,涵盖 Google Ads、Meta、TikTok、LinkedIn、GA4 和 Stripe | ads-copilot/ | 技能 |
| 在发布前清除 Office 文档中的 AI 痕迹——管道符分隔符、长破折号、默认颜色、Sheet1 名称,以及 .pptx/.docx/.xlsx 中其他机器生成的痕迹 | office-tells/ | 技能 |
| 真正理解 Claude 刚写出的代码——通过教学循环,围绕问题、解决方案、设计决策和边缘情况对你进行提问,直到你确实掌握为止 | learn-quiz/ | 技能 |
| 将会议文字记录转化为结构化的会议记忆——包含日期的会议记录、针对你所追踪的每个人员/公司的单条提及记录,以及一封已起草但绝不发送的总结邮件 | meeting-scribe/ | 技能 |
| 为即将到来的会议做准备——读取日历导出文件,将参会者和公司与您追踪的人员/公司进行匹配,并在你入场前提供一份附有日期的简报,其中包含他们完整的提及历史 | calendar-agent/ | 技能 |
| 获取你所追踪人员和公司的新闻概况——根据你自己的追踪实体筛选,而非通用信息流;附有日期的摘要会列出找到的内容,或明确说明没有发现任何内容 | news-monitor/ | 技能 |
| 将会议记录转化为内容创意——找出在多场会议中反复出现的创意,并为每个创意撰写一篇以引文为依据的简短帖子 | librarian/ | 技能 |
| 将邮件线程中的交易进展或投资组合更新记录到你所追踪的人员和公司名下——一条带日期的日志记录,为提及的每个实体各添加一条提及记录,绝不发送或起草回复 | email-agent/ | 技能 |
| 获取每周梦幻橄榄球简报——为 ESPN、Sleeper 或 Yahoo 联赛提供首发/替补建议、附 FAAB 出价的弃将签约建议、交易建议,以及王朝联赛的继续争冠或重建评估;通过 Flaim 连接器提供 | fantasy-football-weekly/ | 技能 |
unemployment-guide/ | 技能 |
这里会定期新增技能。为此代码库点星或关注,或关注目录,及时了解新发布的内容。
30 秒内完成安装
每个技能的安装方式都相同:下载一个固定版本的 tarball,将整个技能文件夹解压到 ~/.claude/skills/,然后重启 Claude Code。解压整个文件夹,而不只是 SKILL.md,才能一并带上技能自身指令实际会运行的 scripts/ 和 references/ 文件。
(
set -e
skill="resume-tailor" # <-- change me to the skill's folder (see note below)
ref="v1.42.0" # pinned release; matches index.json's skillFileUrl
# The install removes "$HOME/.claude/skills/$skill" before it copies. If
# $skill were empty or a path, that line would delete the wrong directory —
# every skill you have installed — so refuse anything but a plain name.
# The last arm rejects any character outside a folder name, which also keeps
# a glob like "*" out: bsdtar treats a member pattern as a glob, so "*" would
# extract the entire repository instead of one skill.
case "$skill" in
""|.|..|*/*|-*|*[!A-Za-z0-9._-]*)
echo "Set skill to a plain folder name, e.g. resume-tailor" >&2; exit 1 ;;
esac
work="$(mktemp -d)"
trap 'rm -rf "$work"' EXIT
curl -fsSL --connect-timeout 10 --max-time 120 --retry 3 --retry-delay 2 \
--retry-connrefused --retry-max-time 120 -o "$work/repo.tgz" \
"https://codeload.github.com/skills-agents-co/skills-and-agents-library/tar.gz/$ref"
mkdir -p "$work/staged"
topdir="$(tar -tzf "$work/repo.tgz" | grep -m1 '/' | cut -d/ -f1)"
tar -xzf "$work/repo.tgz" --strip-components=2 --no-same-owner --no-same-permissions \
-C "$work/staged" "$topdir/$skill"
dest="$HOME/.claude/skills/$skill"
rm -rf "$dest"
mkdir -p "$(dirname "$dest")"
cp -R "$work/staged" "$dest"
echo "Installed to $dest"
)
代码块会在子 shell(括号)中运行,因此它设置的 skill、ref 和其他变量不会泄漏到你的 shell 中;其中的 set -e 意味着下载失败或技能名称错误时,安装会立即停止,而不是留下一个看似安装成功、实则内容不全的目录。它会先将内容下载并解压到临时目录,只有解压成功后才会操作 ~/.claude/skills/,因此安装失败不会留下任何东西:既不会留下 Claude Code 能找到的空技能文件夹,也不会留下多余的 tarball。重新运行时会替换现有安装,而不是与之合并,因此后续版本中删除的文件不会以过时文件的形式残留。
skill 应填写什么。 几乎所有条目都填写上表中显示的文件夹名称(resume-tailor、ceo-todo 等),这也是对应的 slug。四个放在其他技能文件夹中的 Agent 例外:ceo-todo-daily 的安装值是 skill="ceo-todo",而 financial-pulse-grasshopper、financial-pulse-mercury 和 financial-pulse-ramp 的安装值都是 skill="financial-pulse"。安装其中任意一个都会一并安装整个父技能(包括其中的其他 Agent),这是预期行为——实际运行的内容就是 Agent 文件本身。
安装 Agent 还需要一步操作。 Claude Code 会从 ~/.claude/agents/ 加载子 Agent,而不是从技能文件夹中加载,因此,上述四个 Agent 条目需要在安装代码块运行后将对应的 markdown 文件复制出来。否则,文件虽然已在磁盘上,但 Agent 仍不会注册:
(
set -e
agent="ceo-todo-daily" # <-- or financial-pulse-grasshopper / -mercury / -ramp
skill="ceo-todo" # <-- the folder it ships in, per the paragraph above
# Each name is checked on its own. Testing "$agent$skill" would only catch an
# empty value when BOTH were empty, so an empty $agent with a real $skill
# sailed through.
for name in "$agent" "$skill"; do
case "$name" in
""|.|..|*/*|-*|*[!A-Za-z0-9._-]*)
echo "Set agent and skill to plain names, e.g. ceo-todo-daily / ceo-todo" >&2; exit 1 ;;
esac
done
mkdir -p "$HOME/.claude/agents"
cp "$HOME/.claude/skills/$skill/agents/$agent.md" "$HOME/.claude/agents/$agent.md"
echo "Installed agent to $HOME/.claude/agents/$agent.md"
)
最快的方法是使用 skillsandagents.co——等该目录网站采用此仓库现在发布的 manifest 后,每个技能的目录页面都会为你生成这条完全相同的固定版本命令,可直接复制粘贴。在此之前,它仍会生成旧版的单文件命令,因此目前请手动使用上面的命令。
有两个技能将
SKILL.md放在更深一层:ads-copilot和financial-pulse。上面的命令仍能正确解压它们的整个文件夹,但SKILL.md会落在$dest/skills/<skill-name>/SKILL.md,而不是 Claude Code 查找它的位置(顶层目录)。对于这两个技能,请在运行上面的代码块后再运行一次以下命令:( set -e skill="ads-copilot" # or "financial-pulse" mv "$HOME/.claude/skills/$skill/skills/$skill/SKILL.md" "$HOME/.claude/skills/$skill/SKILL.md" )
references/和scripts/已经与移动后的SKILL.md位于同一目录,这正是其内容所要求的位置。此仓库中的其他技能都采用扁平目录结构,无需额外操作。
通过 skills.sh 安装
这些技能也可以通过 skills.sh 这个开放技能注册表安装。一次性安装整个目录:
npx skills add skills-agents-co/skills-and-agents-library
或者按技能的 slug 安装单个技能:
npx skills add skills-agents-co/skills-and-agents-library --skill <slug>
可用技能及其 slug:
learn-quiz(让 Claude 教你工作内容,直到你真正理解为止)ghost-seo-agent(诊断并修复 Ghost 的 Google 索引问题)office-tells(去除 .pptx/.docx/.xlsx 文件中的 AI 痕迹)buy-side-diligence(对私人公司开展买方尽职调查)llm-visibility-agent(查看你的品牌在 ChatGPT、Perplexity 和 Claude 上的出现情况)financial-pulse(通过 Mercury、Ramp 和 Grasshopper,每周掌握现金流状况)ads-copilot(与广告和分析数据对话,获取按优先级排列的优化建议)meeting-scribe(将会议记录整理成结构化会议记忆,灵感来自 USV)calendar-agent(针对已跟踪的人物/公司,为即将召开的会议准备简报,灵感来自 USV)news-monitor(根据你自己的实体文件筛选已跟踪人物/公司的新闻摘要,灵感来自 USV)librarian(从会议笔记中提炼常见主题,并撰写成简短帖子,灵感来自 USV)email-agent(针对已跟踪的人物/公司,记录邮件往来中的交易流或投资组合更新,灵感来自 USV)
完整目录(包含每项技能的页面和固定版本的安装命令)见 skillsandagents.co。技能会通过安装遥测数据自动显示在 skills.sh 上,因此我们这边无需进行注册。
为什么会有这些技能
此仓库中的每项技能都旨在解决我们经营自家公司时实际遇到的问题,然后我们将其通用化,让任何人都能使用。
我们将每个安装 URL 固定到带标签的版本(绝不使用 main),因此你今天安装的技能,下个月的表现也会保持一致。
面向技能作者
此仓库也可作为我们如何打包技能的实用参考:
- 带有丰富 YAML frontmatter 的
SKILL.md—— 包含名称、描述和 Claude 实际会匹配的触发短语 - 每项技能各有一个文件夹,支持文件位于
references/、agents/、scripts/ - 带标签的版本 ——
v1.0.0、v1.1.0等 —— 以及目录使用的生成文件index.json - CONTRIBUTING.md 中的贡献方式:新增技能 = 新建顶层文件夹并提交一个 PR
一项技能既单独发布,也打包在插件中(例如 local-lead-prospector 及其插件副本 plugins/eta-searcher)时,同一个支持文件可能会被重复提交。对于 requirements.txt,只有一个副本由人工编辑——顶层技能中的副本——每个嵌套在插件中的副本都通过 scripts/plugin-file-map.json 从该文件生成。编辑规范的 requirements.txt 后,运行 node scripts/generate-plugin-files.mjs,并将重新生成的副本与所做更改一并提交。CI 的 scripts/check-plugin-files-fresh.mjs 步骤会在插件中的副本与其源文件不一致时导致构建失败,因此即使忘记重新生成,也不会在无人察觉的情况下合并。
发布版本:
索引会在打标签之前提交,而不是之后。若先打标签,标签对应的压缩包就会包含上一版本的 index.json,因此用户下载的清单永远无法描述其随附的下载内容。
发布提交不会通过拉取请求进行。 这是此仓库中唯一一个直接推送到
main的提交,标签也会在同一操作中创建并推送。原因是机制上的,而非风格上的:发布提交会将index.json和上方的ref="…"行更新为一个尚不存在的标签,而scripts/check-index-additive.mjs和scripts/test-install.sh都会解析该 ref。如果将发布提交作为 PR 打开,它从一开始就会是红色的,也没有可供合并的绿色状态——只有在合并之后推送标签,ref 才能被解析。因此,应像往常一样通过 PR 合入内容变更,然后直接推送以发布。此仓库中的其他内容都不得以这种方式绕过审查。
- 为任何有变更的
SKILL.md更新 frontmatter 中的version。这是常规 PR 工作,照常接受审查,并在发布提交之前合入。 - 在已更新到最新的
main上,为即将创建的标签重新构建索引:node scripts/build-index.mjs --tag v1.x.0 --worktree。这里只在此处需要--worktree——标签尚不存在,因此没有可供读取内容的 ref;即将成为该标签内容的就是工作树。 - 在同一提交中,将上方安装代码块中的
ref="v1.x.0"行更新为新标签。如果 README 的 ref 与index.json的 ref 不一致,scripts/check-index-additive.mjs会导致构建失败,因此这一步不可省略,CI 也会明确提示。 - 将重新生成的
index.json和 README 一起直接提交到main。 - 为该提交打标签,并通过一条命令推送两者:
git tag v1.x.0 && git push --atomic origin main v1.x.0。--atomic确保这是一条原子命令:要么提交和标签都成功推送,要么都不推送。没有它,部分推送会让main短暂指向一个无人能解析的 ref,而这正是此步骤要避免的红色状态。 - 只有到这时,依赖解析 ref 的本地检查才有意义。针对已推送的标签运行
node scripts/check-index-additive.mjs、bash scripts/test-install.sh和bash scripts/test-readme-install.sh。在步骤 2 到 5 之间运行这些检查,预期会失败,也不会提供任何有用信息。
由于标签落在已经包含相匹配 index.json 的提交上,标签推送时的构建检查会用该标签自身的清单来验证标签,而不是用上一个版本的清单;之后再次运行 node scripts/build-index.mjs --tag v1.x.0,会逐字节重现已提交的文件。
普通拉取请求不会遇到这些问题。 PR 不会触及固定的 ref,因此 index.json 中记录的 ref 仍是上一个版本的标签,可以正常解析,每项检查也都会实际运行。唯一会从一开始就变红的 PR,是更新 ref 的 PR——而这正是上方说明明确要求不要作为 PR 打开的提交。
index.json 描述的是已打标签的版本,而不是你的检出内容:build-index.mjs --tag v1.x.0 会读取仓库在该标签处的内容,而 scripts/test-install.sh 会将已发布的 files 清单与同一标签对应的 tarball 进行核验。这就是为什么在技能文件夹中添加文件的拉取请求不需要重新生成 index.json——新文件会在下一个版本发布时加入清单,在此之前,两项检查查看的都是同一快照。如果你的克隆中没有该标签,构建会失败,而不会悄悄改为读取工作树;请运行 git fetch --tags,或者在确实需要读取工作树时传入 --worktree。
许可证
MIT——参见 LICENSE。如果单独授权的来源包含各自的许可证文件,则导入的技能文件夹也可能带有自己的许可证文件。
有疑问、错误报告或技能点子? 请提交 issue 或 PR。我们会阅读每一条。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。