Swarms Logo
指南产品

已经有 Claude Skills、Cursor 规则或 Custom GPT 了?把它们变成商品列表

一份面向开发者的迁移指南:手里已有 SKILL.md 文件夹、.cursorrules 文件或 Custom GPT 配置的人,如何把它们对应到 Swarms Marketplace 的提示词、智能体或工具列表,发布前要删掉什么,如何从私有 GitHub 仓库导入,以及哪些东西真正值得收费。

Swarms 团队9 分钟阅读
已经有 Claude Skills、Cursor 规则或 Custom GPT 了?把它们变成商品列表

用了一年编程智能体的开发者,大多手里都攒着一堆写过一次、之后不断打磨的指令:一份教 Claude 按你们团队方式做代码审查的 SKILL.md,一份把仓库所有约定编码进去的 .cursorrules,一个系统提示词在某个细分领域比基础模型表现更好的 Custom GPT。

这些文件本身就是产品,只是存放在只能在某一个宿主里使用的格式中。本文讲的是如何处理这三种格式中的每一种:决定它应该成为 Swarms Marketplace 上哪一类列表,删掉绝不该公开的内容,并把文本改写成从未见过你工作区的买家也能使用的形式。

三种列表类型

市场上有三类列表。智能体市场指南有深入介绍。

列表类型包含什么买家怎么用
提示词(Prompt)只有自然语言指令作为系统提示词粘贴使用,一键导出到 ChatGPT 或 Claude,或在 Swarms 框架中通过 marketplace_prompt_id 加载
智能体(Agent)可执行代码、依赖、环境变量作为完整工作流直接运行
工具(Tool)带类型注解和文档字符串的 Python 函数作为依赖拉进自己的智能体

实际上还有第四种情况:MCP 服务器。托管的服务器以 Agent 形式发布,在发布页的 MCP URL 标签中填入服务器地址;市场会连接服务器、读取其工具,并为 Claude、Cursor 和 VS Code 生成连接配置。基于代码、在本地运行的服务器通常以工具或提示词形式发布,并选择 MCP 分类(见扩展 MCP 支持一文)。

Claude Skills

一个 Claude Skill 是一个顶层带 SKILL.md 的文件夹:YAML frontmatter 里有 name 和 description,后面是 markdown 格式的指令正文,旁边常常还有脚本或参考文件。description 是模型用来和任务匹配、决定是否加载该技能的依据,所以通常写成触发条件的形式。

对应关系

技能的组成部分变成说明
没有脚本的 SKILL.md 正文提示词最常见的情况。正文本来就是一份系统提示词,只是名字不同
SKILL.md 正文加 scripts/智能体脚本和指令放在一起,在 requirements.txt 或 pyproject.toml 中声明依赖,从 GitHub 导入
技能调用的单个脚本工具包装成带类型注解和文档字符串的 Python 函数
封装了某个 MCP 服务器的技能MCP 列表直接发布服务器本身;markdown 成为列表描述

要删掉什么

  • 指向你机器或公司目录的路径。 把 ~/projects/acme/ 换成占位符,或改成让智能体先询问。
  • 按名字引用其他技能。 "运行完 deploy-staging 技能之后"假定买家也有那个技能。要么把依赖一并提供,要么删掉引用。
  • 凭证和内部主机名。 安全扫描会抓出密钥,但它根本就不该出现在文件里。
  • 针对你环境调好的工具限制。 改成用文字描述所需工具。

调整文本

技能是被自动加载的,所以正文常常省略了人类读者需要的上下文。加一段开头,说明这个技能做什么、什么时候用,并把触发式的 description 扩写成买家能据以判断的句子。如果技能依赖文件夹里的其他文件,把相关部分内联进来,或者把它们列为需要提供的输入。

Cursor 规则

Cursor 支持两种形式:较早的 .cursorrules,即项目根目录下的单个纯文本文件;以及 .cursor/rules/*.mdc 文件,其 frontmatter 可以设置 description、指定规则适用于哪些文件的 globs 模式,以及是否始终生效。两者都是告诉编程智能体如何在某一个仓库里工作的指令。

对应关系

规则的组成部分变成说明
通用规则(代码风格、审查习惯、提交约定)提示词去掉仓库特有的内容,它就是一个可复用的工程角色设定
驱动完整工作流(脚手架、测试、lint、部署)并附带脚本的规则智能体和脚本配对,从仓库发布
通过 globs 限定到某个框架或文件类型的规则提示词,按框架打标签"如何写 Django 视图"是产品,"如何在我们的 monorepo 里写视图"不是

要删掉什么

  • 仓库结构、团队名称、工单前缀、内部链接。 packages/api/ 和 PROJ-1234 对买家毫无意义。描述模式,而不是路径。
  • globs 模式和对其他规则的交叉引用。 把它们翻译成一句话:"将这些规则应用于 Next.js 项目中的 TypeScript 文件。"一个列表必须能独立成立。

调整文本

规则文件通常很简短,因为作者自己清楚上下文。写明规则假定的技术栈、版本范围,以及好的输出长什么样。如果某条规则是因为团队反复踩到某类 bug 才存在的,就把原因写出来:这些推理过程正是其他团队无法从规则本身读出来的部分。最值得出售的规则是围绕某项技术而非某家公司编写的。

Custom GPT

Custom GPT 在 ChatGPT 内配置,包含名称、描述、一段指令(即系统提示词)、可选的对话开场语、上传的知识文件,以及可选的 Actions:由 OpenAPI schema 描述、带有各自认证设置的外部 API 调用。

对应关系

GPT 的组成部分变成说明
指令块提示词核心资产。提示词列表可一键导出到 ChatGPT 和 Claude,买家可以重建这个 GPT 或在别处使用
知识文件内联进提示词,或作为智能体的一部分简短的参考材料放进提示词正文;大型语料需要一个带检索代码的智能体
Actions(OpenAPI schema 加 API)工具或 MCP 列表每个 Action 都是一次带类型的函数调用。如果 API 是你自己运行的,把它暴露为 MCP 服务器并发布
指令、Actions 和知识作为一个整体智能体重建为一个把提示词、工具和检索放在一起的 Swarms 智能体
对话开场语列表的使用场景它们本来就是产品用途的示例

要删掉什么

  • Actions 的认证信息。 API 密钥和 OAuth 密钥存放在 GPT 的 Action 设置里,绝不能出现在你发布的任何内容中。MCP 列表允许你声明需要密钥以及去哪里获取,生成的配置里用 YOUR_API_KEY 占位。
  • 不属于你的知识文件。 只重新发布你有权分发的材料。
  • ChatGPT 特有的表述。 "使用代码解释器"改为"运行 Python",这样指令在任何拥有同等工具的智能体里都能用。
  • few-shot 示例里的真实数据。 从实际会话里复制来的姓名、邮箱和账户信息。

调整文本

GPT 的指令通常是三种格式里打磨得最好的,因为它们本来就是写给别人用的。要做的工作是拆分:系统提示词作为提示词列表,Actions 背后的 API 作为 MCP 服务器,只有在拆开就没有意义时才把整体做成一个智能体。

从 GitHub 导入,包括私有仓库

如果你的技能或规则已经放在仓库里,发布页可以直接读取。打开 swarms.world/launch,选择 Agent,展开 Import from GitHub。公开仓库直接粘贴 URL;私有仓库首次使用时点击 Connect GitHub,在 GitHub 自己的安装页面上选择要共享哪些仓库。

选中一个仓库后,表单会自动填入名称、描述和 README、主实现文件、语言、作为标签的仓库 topics,以及从 requirements.txt 或 pyproject.toml 读取的依赖,发布前都可以编辑。

私有导入基于 GitHub App 而不是 OAuth 登录。你明确选择哪些仓库,没选的仓库对市场完全不可见。权限只读(Contents 和 Metadata),应用无法推送或修改设置。不保存任何令牌:每次导入都会签发一个限定在你所选仓库范围内、一小时过期的令牌,用完即弃。你可以在 github.com/settings/installations 撤销访问,立即生效。私有仓库导入一文解释了它存在的原因:付费列表不能指向公开仓库,否则等于把要卖的东西白送出去。一个实用的做法是用一个私有仓库,为每个未来的列表建一个文件夹,各放一份将成为描述的 README。

把一部分留作私有

有些技能透露了太多你们公司的运作方式,永远不该发布。Swarms Cloud 在 cloud.swarms.world/skills 为此提供了一个私有库,所有套餐(包括 Free)都可以使用。它支持拖放导入 SKILL.md 文件(frontmatter 变成名称、描述和标签,正文变成保存的技能),也接受纯 markdown、文本和 JSON,所以一份 .cursorrules 或一段 GPT 指令同样可以轻松导入。

提示词正文使用 AES-256-GCM 静态加密,密钥由你的账户身份派生,因此即使出现取错行的 bug,另一个账户也无法解密你的条目。名称、描述和标签以明文存储以保证搜索速度,所以敏感内容要放在正文里。详情见私有存储一文。

一个合理的流程:先把所有东西导入私有库,给可以公开的条目打上标签,再把它们复制到发布页。从私有库直接发布到市场被描述为产品的发展方向;目前它还是一个复制步骤。

哪些东西值得收费

发布是免费的,免费列表也同样受欢迎。但一个充满 5 美元"你是一个有帮助的助手"提示词的市场对谁都没好处,所以这里给一份直白的评判标准。以下几条至少满足两条,才考虑收费:

  1. 它编码了模型不具备的领域知识。 正确的临床试验摘要、某个司法辖区正确的税务处理、某种小众文件格式的正确输出。通用指令("简洁,用 markdown")不含任何这类知识。
  2. 它经过测试,而且你能展示输出。 一个你跑过五十次、在列表里附有示例输入输出的工作流,比昨晚刚写的那个值钱得多。
  3. 它能可衡量地节省数小时。 如果买家要花一个下午才能做出同等的东西,定价低于那个下午的价值。如果只要十分钟,免费发布,积累口碑。
  4. 很难从标题反推出来。 如果别人读了你的列表名称就能自己写出这份提示词,免费发布。

免费列表照样能带来评分、评论和主页访问,这些都会转移到旁边的付费列表上。

定价

市场对每笔完成的销售收取固定 10% 的费用,你保留 90%,两种支付渠道一致,没有上架费,卖家也无需订阅。销售指南介绍了具体机制。

银行卡支付通过 Stripe 完成。在账户设置的 Seller 标签页一次性设置好卖家账户,以美元定价,100 多个国家的买家可以用银行卡、Apple Pay、Google Pay 和本地支付方式付款;你的份额按 Stripe 的标准周期从 Stripe Express 余额中打出(见法币支付一文)。银行卡覆盖的是手持公司卡和预算的买家,而他们正是购买专业领域提示词的人。

加密货币支付以 SOL 结算,在购买交易的同一笔链上交易中即时到达列表所设置的钱包。支付渠道按列表选择,所以同一个账户下可以一个提示词用银行卡出售,另一个用 SOL 出售。

代币化发行始终以加密货币结算,Launchpad 代币可以用 SOL 或 USDC 计价。USDC 锦标赛一文解释了为什么以美元计价的曲线反映的是对你智能体的需求,而不是 SOL 的价格;而定期举办、以 SOL 和 USDC 发放奖金的竞赛也是围绕代币化发行设计的。对于迁移过来的提示词或规则集,直接付费列表是更简单的选择。

至于具体数字,销售指南的建议依然适用:估算买家自己做出同等东西需要多少时间或专业能力,然后定价低于这个数。智能体市场指南提到,创作者设定的价格通常在提示词 1 到 50 美元、智能体 20 到 500 美元或更高之间。付费列表在购买前会隐藏内容,所以描述和演示输出决定成交。

安全评分与认证

市场上每个提示词都有一个 Security 标签页和 0 到 100 的 Security Score,由开源的智能体技能与提示词安全扫描器 SkillScanner 生成。分数等于 100 减去扫描器的风险分,越高越安全;绿色徽章表示 80 分及以上(见安全评分一文)。

对迁移来说有两点重要。第一,市场保留的是提示词的第一次完整扫描结果,之后编辑不会触发重新扫描,所以要在发布前先扫描。SkillScanner 可以在本地以静态模式运行,无需 API 密钥,既能扫描一段提示词正文,也能扫描包含脚本的整个技能文件夹。第二,让正常提示词丢分的习惯恰恰是容易混进技能和规则文件里的那些:"忽略之前的指令"、短链接或裸 http:// 链接、留在示例里的密钥、藏在 HTML 注释里的指令,以及没有说明用途的 shell 或网络访问。

认证是另一回事。Pro 和 Premium 会员的用户名旁会显示蓝色 Verified 徽章,它告诉买家这个账户有正在生效的付费套餐(它不是身份核验,也不对你的列表评级),并且他们的产品会被推荐给其他用户(见认证一文)。列表上线后,Seller Portal 把收入、销售、评论和打款集中在一个页面。

检查清单

发布每个迁移过来的文件之前:

  • 已确定列表类型:提示词、智能体、工具或 MCP 服务器
  • 已删除私有路径、内部主机名、团队名称、工单前缀和所有凭证
  • 已把宿主特有的引用(其他技能、Cursor globs、ChatGPT 功能)替换为对能力的平实描述
  • 已加上说明用途和使用时机的开头段落,并附示例输入输出
  • 已在本地运行 SkillScanner,修复所有高于 LOW 的问题
  • 已套用评判标准:只有在承载真实知识、经过测试且能节省数小时时才收费
  • 已为每个列表选择支付渠道,若用银行卡出售则已设置 Stripe
  • 公司特有的内容已留在私有库中

从 swarms.world/launch 开始,或者把整套收藏拖进 cloud.swarms.world/skills,再从那里慢慢整理。