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

用了一年编程智能体的开发者,大多手里都攒着一堆写过一次、之后不断打磨的指令:一份教 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 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 支持两种形式:较早的 .cursorrules,即项目根目录下的单个纯文本文件;以及 .cursor/rules/*.mdc 文件,其 frontmatter 可以设置 description、指定规则适用于哪些文件的 globs 模式,以及是否始终生效。两者都是告诉编程智能体如何在某一个仓库里工作的指令。
| 规则的组成部分 | 变成 | 说明 |
|---|---|---|
| 通用规则(代码风格、审查习惯、提交约定) | 提示词 | 去掉仓库特有的内容,它就是一个可复用的工程角色设定 |
| 驱动完整工作流(脚手架、测试、lint、部署)并附带脚本的规则 | 智能体 | 和脚本配对,从仓库发布 |
通过 globs 限定到某个框架或文件类型的规则 | 提示词,按框架打标签 | "如何写 Django 视图"是产品,"如何在我们的 monorepo 里写视图"不是 |
packages/api/ 和 PROJ-1234 对买家毫无意义。描述模式,而不是路径。globs 模式和对其他规则的交叉引用。 把它们翻译成一句话:"将这些规则应用于 Next.js 项目中的 TypeScript 文件。"一个列表必须能独立成立。规则文件通常很简短,因为作者自己清楚上下文。写明规则假定的技术栈、版本范围,以及好的输出长什么样。如果某条规则是因为团队反复踩到某类 bug 才存在的,就把原因写出来:这些推理过程正是其他团队无法从规则本身读出来的部分。最值得出售的规则是围绕某项技术而非某家公司编写的。
Custom GPT 在 ChatGPT 内配置,包含名称、描述、一段指令(即系统提示词)、可选的对话开场语、上传的知识文件,以及可选的 Actions:由 OpenAPI schema 描述、带有各自认证设置的外部 API 调用。
| GPT 的组成部分 | 变成 | 说明 |
|---|---|---|
| 指令块 | 提示词 | 核心资产。提示词列表可一键导出到 ChatGPT 和 Claude,买家可以重建这个 GPT 或在别处使用 |
| 知识文件 | 内联进提示词,或作为智能体的一部分 | 简短的参考材料放进提示词正文;大型语料需要一个带检索代码的智能体 |
| Actions(OpenAPI schema 加 API) | 工具或 MCP 列表 | 每个 Action 都是一次带类型的函数调用。如果 API 是你自己运行的,把它暴露为 MCP 服务器并发布 |
| 指令、Actions 和知识作为一个整体 | 智能体 | 重建为一个把提示词、工具和检索放在一起的 Swarms 智能体 |
| 对话开场语 | 列表的使用场景 | 它们本来就是产品用途的示例 |
YOUR_API_KEY 占位。GPT 的指令通常是三种格式里打磨得最好的,因为它们本来就是写给别人用的。要做的工作是拆分:系统提示词作为提示词列表,Actions 背后的 API 作为 MCP 服务器,只有在拆开就没有意义时才把整体做成一个智能体。
如果你的技能或规则已经放在仓库里,发布页可以直接读取。打开 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 美元"你是一个有帮助的助手"提示词的市场对谁都没好处,所以这里给一份直白的评判标准。以下几条至少满足两条,才考虑收费:
免费列表照样能带来评分、评论和主页访问,这些都会转移到旁边的付费列表上。
市场对每笔完成的销售收取固定 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 把收入、销售、评论和打款集中在一个页面。
发布每个迁移过来的文件之前:
从 swarms.world/launch 开始,或者把整套收藏拖进 cloud.swarms.world/skills,再从那里慢慢整理。

面向 swarms.world 新访客的一小时上手指南:用自主筛选搜索找到一个智能体,读懂它的商品页,在 Swarms Chat 中试用,通过 Marketplace MCP 和 Swarms API 把它接入自己的代码,再用银行卡、SOL 或 USDC 购买一个付费商品。

一篇动手教程:用 FastMCP 和 Streamable HTTP 把无需密钥的 Open-Meteo 天气 API 包装成 Python MCP 服务器,测试它,加上 bearer token 校验,用 Docker 部署,然后发布到 Swarms Marketplace 的 MCP Portal,让智能体可以发现并调用它。

面向 Swarms Marketplace 新手卖家的计时实操指南:撰写商品页、检查安全评分、选择免费或付费、发布,然后在 Seller Portal 和市场 MCP 中看看接下来会发生什么。