Buda LogoBuda

创建 Skill / Agent / Team 仓库

如何组织 GitHub 仓库,让 Buda 能自动发现并发布你的 Skills、Agents 和 Teams

Buda 扫描你的 GitHub 仓库,根据特定清单文件的位置自动发现 Skills、Agents 和 Teams。

访问 agentskills.ioagentcompanies.io 浏览社区仓库获取灵感。

这篇是实现导向文档

  • 当你要直接搭仓库时,看这篇。
  • 当你要把规范直接复制给 coding agent 时,看这篇。
  • 如果你想先看商业模式和上架流程,先读 在 Buda 市场销售你的技能

给 Coding Agent

如果你在使用 coding agent,可以直接把本页链接发给它。

这篇文档已经按"可执行规范"来写,包括:

  • 仓库结构
  • 必须文件
  • 推荐的 README.md / SKILL.md 分工
  • 展示与可见性规则
  • 私有仓库建议
  • 常见错误
  • 输出检查清单

规则速览

必须满足

  • 每个 Skill 都必须有 SKILL.md
  • 每个 Agent 都必须有 agents/{name}/AGENTS.md,且包含有效 frontmatter
  • 每个 Team 都必须有 teams/{name}/TEAM.md,且包含有效 frontmatter

强烈建议

  • 商业化 Skill 都加上同目录 README.md
  • README.md 写面向买家的展示文案
  • SKILL.md 写面向 Agent 的执行指令
  • 付费或专有 Skill 优先使用私有 GitHub 仓库

展示规则

  • Marketplace 详情页优先显示 README.md
  • 如果没有 README.md,则回退显示 SKILL.md / AGENTS.md

可见性规则

  • 买家在购买前看不到完整 Skill 指令内容
  • 支持私有仓库
  • 完整实现逻辑保留在你的仓库内

仓库结构

本仓库遵循 Agent Companies 规范

my-repo/
├── COMPANY.md                     ← 可选的公司根清单

├── skills/                        ← Skills(任意布局均可)
│   ├── keyword-research/
│   │   ├── SKILL.md
│   │   └── README.md          ← 可选详情 / 销售页
│   └── content-writer/
│       ├── SKILL.md
│       └── README.md

├── agents/                        ← Agents 放这里
│   ├── research-assistant/
│   │   ├── AGENTS.md              ← agent 清单 + 指令(必填)
│   │   └── README.md              ← 详情页正文(可选,优先于 AGENTS.md)
│   └── code-reviewer/
│       └── AGENTS.md

└── teams/                         ← Teams 放这里
    ├── marketing-team/
    │   ├── TEAM.md                ← team 清单(必填)
    │   └── README.md              ← 详情页正文(可选)
    └── dev-team/
        └── TEAM.md

发现规则:

类型触发文件位置
SkillSKILL.md仓库任意位置
AgentAGENTS.md必须在 agents/{name}/
TeamTEAM.md必须在 teams/{name}/

Skills — SKILL.md

Skill 是 Agent 可以安装和调用的可复用能力,SKILL.md 可以放在仓库任意位置。

详情页正文优先使用同目录下的 README.md,如果不存在则使用 SKILL.md 本身。

对于付费或商业化 Skill,我们强烈建议你在同目录额外写一个 README.md

Buda 默认优先展示 README.md 作为 Listing 详情页正文;如果没有 README.md,才会回退显示 SKILL.md

推荐做法

建议把两个文件分开承担不同职责:

  • README.md = 面向买家的展示页,用来写营销文案、定位、场景、卖点和销售内容
  • SKILL.md = 面向 Agent 的指令文件,保留真正的执行逻辑
skills/keyword-research/
├── SKILL.md      ← 必填:frontmatter(name、description)+ 指令内容
└── README.md     ← 可选:更丰富的详情页正文(优先于 SKILL.md)
---
name: 关键词研究
description: 自动发现高意图关键词并按主题分类。
---

# 关键词研究

## 何时使用
当用户询问关键词研究或搜索意图分析时使用。

可见性与知识产权保护

私有仓库非常适合商业化 Skill:

  • 在用户购买前,终端用户看不到完整的 Skill 指令内容
  • Listing 详情页展示的是你希望用户看到的内容,最适合通过 README.md 来承载
  • 你的 know-how、提示词结构和工作流设计,可以放在私有仓库里得到较好的保护

Agents — agents/{name}/AGENTS.md

Agent 是具有特定角色和技能集的预配置 AI 助手。AGENTS.md必填的,frontmatter 包含 Agent 的元数据,markdown 正文是 Agent 的指令内容。

AGENTS.md 格式:

---
schema: agentcompanies/v1
name: 研究助手
slug: research-assistant
description: 一个严谨的研究 Agent,负责查找、总结并引用信息来源。
skills:
  - https://github.com/buda-ai/buda-marketplace#web-search
  - https://github.com/buda-ai/buda-marketplace#summarizer
  - https://github.com/my-org/my-skills#citation-formatter
---

# 研究助手

你是一个研究助手。查找准确信息,清晰总结,始终引用来源。

## 行为规范
- 不捏造信息来源
- 对不确定的信息进行标注

Frontmatter 字段说明:

字段必填说明
schema必须为 agentcompanies/v1
name在市场中显示的名称
slug稳定标识符,与目录名一致
descriptionListing 卡片上的一句话描述
skills技能依赖列表,格式为 repo#skillName

可选 README.md 如果存在,优先于 AGENTS.md 用作详情页正文。


Teams — teams/{name}/TEAM.md

Team 是一组协作完成复杂多步骤工作流的 Agent 集合。TEAM.md必填的,frontmatter 包含团队的元数据和成员列表。

TEAM.md 格式:

---
schema: agentcompanies/v1
name: 营销团队
slug: marketing-team
description: 负责内容策略、文案撰写和分发的协作团队。
includes:
  - ../agents/strategist/AGENTS.md
  - ../agents/copywriter/AGENTS.md
  - ../agents/analyst/AGENTS.md
---

# 营销团队

负责内容策略、文案撰写和分发的协作团队。

Frontmatter 字段说明:

字段必填说明
schema必须为 agentcompanies/v1
name在市场中显示的名称
slug稳定标识符,与目录名一致
descriptionListing 卡片上的一句话描述
includes成员 AGENTS.md 文件的相对路径列表

可选 README.md 如果存在,用作团队详情页的正文内容。


快速开始

mkdir my-repo && cd my-repo
mkdir -p skills/my-skill agents/my-agent teams/my-team

# 创建 skill
cat > skills/my-skill/SKILL.md << 'EOF'
---
name: 我的技能
description: 简短描述这个技能的功能。
---

# 我的技能

AI Agent 的使用说明写在这里。
EOF

# 创建 agent
cat > agents/my-agent/AGENTS.md << 'EOF'
---
schema: agentcompanies/v1
name: 我的 Agent
slug: my-agent
description: 简短描述这个 Agent 的功能。
skills:
  - https://github.com/my-org/my-repo#my-skill
---

# 我的 Agent

Agent 的指令写在这里。
EOF

git init && git add . && git commit -m "初始提交"
gh repo create my-repo --public --push

私有仓库

你的仓库可以是私有的 — Buda 通过 GitHub App 安装令牌访问。安装你 Listing 的用户永远看不到你的源代码。

如果你希望保护知识产权,这通常是最推荐的方案:

  • 买家看不到你的仓库源代码
  • 买家在购买前看不到完整的 Skill 指令内容
  • 你仍然可以通过 README.md 做一个完整的展示 / 销售页
  • 你的专有实现仍然保留在私有 GitHub 仓库中

审核与发布

Buda 使用 Company 级别的审核模型。单个 Listing 不能直接发布或下架——它们始终跟随所属 Company 的状态。

Company 状态Listing 行为
pending从 Marketplace 隐藏,等待管理员审核
published所有 pending 的 Listing 变为可见。draft 的 Listing 被排除在外。
rejected所有 Listing 隐藏

Buda 管理员在 Company 级别进行审批。当 Company 被批准时,只有 pending 状态的 Listing 会被发布——draft 状态的 Listing(GitHub 内容已消失)会被有意排除。

更新内容后会发生什么

Buda 索引你的仓库——它为每个 Listing 存储元数据(名称、描述、GitHub URL)。当用户安装 skill 或 agent 时,Buda 在安装时实时从你的 GitHub 仓库获取内容。

重新同步后:

  • 内容更新 → Listing 元数据更新,状态不变,用户下次安装时获取最新内容
  • 文件从 GitHub 删除 → Listing 变为 draft,从 Marketplace 隐藏。已安装的用户保留其副本。
  • 文件恢复 → Listing 从 draft 变回 pending,等待重新审核
  • COMPANY.md 删除(monorepo 子目录删除)→ 该 Company 及其所有 Listing 变为 draft
  • COMPANY.md 恢复 → Company 变回 pending,等待重新审核

Draft Listing 不会被 Company 审批带回。 当 Buda 管理员批准一个 Company 时,只有 pending 的 Listing 会被发布。draft 的 Listing 保持隐藏。

安装需要文件在 GitHub 上存在。 由于 Buda 在安装时实时获取内容,如果 Listing 对应的源文件已从 GitHub 删除,即使 Listing 出现在 Marketplace 中,安装也会失败。删除内容后请务必重新同步,以便将受影响的 Listing 设为 draft


创建仓库后

  1. 前往开发者中心 → 插件仓库
  2. 点击添加仓库并选择你的仓库
  3. Buda 扫描仓库并创建状态为 待审核 的 Listing
  4. Buda 团队在 24 小时内审核并通过
  5. 你的 Listing 出现在应用市场

常见错误

  • SKILL.md 写成销售页,而不是指令文件
  • 付费 Skill 没有配 README.md
  • Agent 没有放在 agents/
  • Team 没有放在 teams/
  • AGENTS.mdTEAM.md 的 frontmatter 缺少 schema: agentcompanies/v1
  • 误以为买家购买前能看到完整 Skill 内容

输出检查清单

  • 仓库结构符合 Buda discovery 规则
  • 每个 Skill 都有 SKILL.md
  • 商业化 Skill 同时有 README.md
  • README.md 面向买家
  • SKILL.md 面向执行逻辑
  • 每个 Agent 都有 agents/{name}/AGENTS.md,frontmatter 包含 schema: agentcompanies/v1
  • 每个 Team 都有 teams/{name}/TEAM.md,frontmatter 包含 schema: agentcompanies/v1
  • 涉及知识产权保护时优先考虑私有仓库

On this page