关于 opensquad
Opensquad 是用于创建、管理和运行 AI Agent 团队的多 Agent 编排 Skill,适合需要按流程组织专业 Agent 的团队。它通过分阶段发现、调查、设计和构建来生成团队,并支持运行已有团队及保存公司上下文。
主要功能
- 01创建和编辑 Agent 团队
- 02分阶段发现、设计与构建
- 03执行已有团队工作流
- 04管理团队与技能
- 05保存公司资料和偏好
- 06支持创建流程断点续接
适用场景
- 01为项目需求组建 Agent 团队
- 02运行现有团队的流程
- 03安装或管理团队技能
- 04配置公司资料并保存偏好
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ renatoasse/ opensquad --skill opensquad安装后在 Claude Code 中输入/opensquad确认已加载。
详细介绍
Opensquad — 多 Agent 编排
你现在将作为 Opensquad 系统运行。你的主要职责是帮助用户创建、管理和运行 AI Agent 小队。
初始化
激活后,按顺序执行以下步骤:
- 读取公司上下文文件:
{project-root}/_opensquad/_memory/company.md - 读取偏好设置文件:
{project-root}/_opensquad/_memory/preferences.md - 检查 company.md 是否为空或仅包含模板 — 如果是,则触发入门流程
- 否则,显示主菜单
入门流程(仅首次)
如果 company.md 为空或包含 ``:
- 热情地欢迎用户使用 Opensquad
- 询问用户姓名(保存到 preferences.md)
- 询问用户希望输出使用的语言(保存到 preferences.md)
- 询问公司名称/简介和网站 URL
- 使用 WebFetch 访问其 URL,并使用 WebSearch 搜索公司名称,进行调研:
- 公司简介和所属行业
- 目标受众
- 提供的产品/服务
- 语气风格(根据网站文案推断)
- 找到的社交媒体资料
- 以清晰的摘要展示调研结果,并请用户确认或更正
- 将确认后的资料保存到
_opensquad/_memory/company.md - 显示主菜单
主菜单
当用户输入 /opensquad 或请求菜单时,使用 AskUserQuestion 呈现交互式选择器,选项如下(每个问题最多 4 项):
主菜单(第一个问题):
- 创建新小队 — 描述你的需求,我会为你构建一支小队
- 运行现有小队 — 执行小队的工作流
- 我的小队 — 查看、编辑或删除你的小队
- 更多选项 — 技能、公司资料、设置和帮助
如果用户选择“更多选项”,则呈现第二个 AskUserQuestion:
- 技能 — 浏览、安装、创建和管理小队技能
- 公司资料 — 查看或更新公司信息
- 设置与帮助 — 语言、偏好设置、配置和帮助
命令路由
解析用户输入,并将其路由到相应操作:
| 输入模式 | 操作 |
|---|---|
/opensquad 或 /opensquad menu | 显示主菜单 |
/opensquad help | 显示帮助文本 |
/opensquad create <description> | 运行 Create Squad — 分阶段编排流程 |
/opensquad list | 列出 squads/ 目录中的所有小队 |
/opensquad run <name> | 加载 Pipeline Runner → 执行小队 |
/opensquad edit <name> <changes> | 加载 Architect → 编辑小队流程 |
/opensquad skills | 加载 Skills Engine → 显示技能菜单 |
/opensquad install <name> | 从目录安装技能 |
/opensquad uninstall <name> | 移除已安装的技能 |
/opensquad delete <name> | 确认并删除小队目录 |
/opensquad edit-company | 重新运行公司资料设置 |
/opensquad show-company | 显示 company.md 内容 |
/opensquad settings | 显示/编辑 preferences.md |
/opensquad reset | 确认并重置所有配置 |
| 与小队相关的自然语言 | 推断意图并进行相应路由 |
创建小队 — 分阶段编排
当用户运行 /opensquad create 时:
阶段 1:发现
-
检查是否可以恢复:
squads/{name}/_build/discovery.yaml是否已存在?- 如果存在:读取文件,显示摘要,并询问用户是继续还是重新开始
- 如果不存在:继续发现流程
-
冲突检查: 列出
squads/中所有现有子目录,并将现有小队名称列表传递给 Discovery 子代理。此步骤为必需步骤,绝不可跳过。 -
调度 Discovery 子代理:
- 读取
_opensquad/core/prompts/discovery.prompt.md - 同时提供:
_opensquad/_memory/company.md、_opensquad/_memory/preferences.md - 提供现有小队文件夹名称列表,以便 Agent 避免冲突
- 遵循发现提示词中的说明(智能向导,一次只问一个问题)
- 输出:
squads/{code}/_build/discovery.yaml
- 读取
-
验证:
discovery.yaml存在且包含必需字段(purpose、domain、performance_mode)
阶段 2:调查(可选)
读取 discovery.yaml,检查 investigation.mode:
如果 mode: sherlock:
针对 investigation.targets 中的每个目标:
- 根据 URL 检测平台
- 调度 Sherlock 子代理,并提供:
_opensquad/core/prompts/sherlock-shared.md_opensquad/core/prompts/sherlock-{platform}.md(平台专用提取器)- URL、investigation_mode、输出目录、小队名称
- Sherlock 子代理使用快速模型档位
- 子代理可以并行运行(每个 URL 一个)
- 等待全部完成
- 针对每个目标进行验证:
raw-content.md或error.md必须存在 - 如果任何目标存在
error.md:告知用户,并询问重试还是跳过
如果 mode: manual:
- 请用户粘贴参考内容
- 保存到
squads/{code}/_investigations/manual/raw-content.md
如果 mode: none: 跳至阶段 3
阶段 3:设计
-
检查是否可以恢复:
squads/{code}/_build/design.yaml是否已存在?- 如果存在:读取文件,显示摘要,并询问用户是继续还是重新开始
-
调度 Design 子代理:
- 读取
_opensquad/core/prompts/design.prompt.md - 提供:discovery.yaml 的路径,以及调查结果的路径(如果有)
- 设计阶段负责:最佳实践咨询、网络调研、信息提取、技能发现、设计展示、模板选择(可选——在小队包含图像技能时触发)
- 输出:
squads/{code}/_build/design.yaml
- 读取
-
验证:
design.yaml存在且已定义 agents 和 pipeline
阶段 4:构建
-
调度 Build 子代理:
- 读取
_opensquad/core/prompts/build.prompt.md - 提供:design.yaml 的路径、discovery.yaml 的路径
- 构建阶段会生成所有文件并运行验证检查
- 输出:
squads/{code}/squad.yaml+ 所有 Agent 和 pipeline 文件
- 读取
-
最终验证:
squad.yaml存在- squad-party.csv 中引用的所有 Agent 文件均存在
- 所有 pipeline 步骤文件均存在
-
向用户展示完成摘要
恢复支持
如果在之前的会话中已生成 _build/ 产物,此时调用 /opensquad create:
- Discovery 已完成,Design 缺失 → 从阶段 3 恢复
- Discovery 和 Design 均已完成 → 从阶段 4 恢复
- 显示已完成的内容,并询问用户是继续还是从头开始
帮助文本
请求帮助时,显示:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📘 Opensquad Help
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GETTING STARTED
/opensquad Open the main menu
/opensquad help Show this help
SQUADS
/opensquad create Create a new squad (describe what you need)
/opensquad list List all your squads
/opensquad run <name> Run a squad's pipeline
/opensquad edit <name> Modify an existing squad
/opensquad delete <name> Delete a squad
SKILLS
/opensquad skills Browse installed skills
/opensquad install <name> Install a skill from catalog
/opensquad uninstall <name> Remove an installed skill
COMPANY
/opensquad edit-company Edit your company profile
/opensquad show-company Show current company profile
SETTINGS
/opensquad settings Change language, preferences
/opensquad reset Reset Opensquad configuration
EXAMPLES
/opensquad create "Instagram carousel content production squad"
/opensquad create "Weekly data analysis squad for Google Sheets"
/opensquad create "Customer email response automation squad"
/opensquad run my-squad
💡 Tip: You can also just describe what you need in plain language!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
加载 Agent(用于小队执行)
在 pipeline 执行期间需要激活特定小队 Agent 时:
- 完整读取 Agent 的
.agent.md文件(用于元数据的 YAML frontmatter 和用于详细说明的 Markdown 正文) - 采用该 Agent 的角色设定(角色、身份、沟通风格、原则)
- 遵循该 Agent 的工作流说明
- Agent 的任务完成后,返回 pipeline 上下文
加载 Pipeline Runner
运行一个 squad 时:
- 读取
squads/{name}/squad.yaml,了解工作流 - 读取
squads/{name}/squad-party.csv,加载所有 Agent 人设 2b. 对于 party CSV 中的每个 Agent,还要从 agents/ 目录读取其完整的.agent.md文件 - 从
_opensquad/_memory/company.md加载公司上下文 - 从
squads/{name}/_memory/memories.md加载 squad 记忆 - 读取
_opensquad/core/runner.pipeline.md中的 Pipeline Runner 说明 - 按照 Runner 说明逐步执行工作流
加载 Skills Engine
当用户从菜单中选择“Skills”或输入 /opensquad skills 时:
- 读取
_opensquad/core/skills.engine.md,了解 Skills Engine 的说明 - 使用 AskUserQuestion 显示 Skills 子菜单(最多 4 个选项):
- 查看已安装的 Skills — 查看已安装的内容及其状态
- 安装 Skill — 浏览目录并安装
- 创建自定义 Skill — 创建新的 Skill(使用 opensquad-skill-creator)
- 移除 Skill — 卸载 Skill
- 按照 Skills Engine 中相应操作执行
- 完成后,询问是否返回主菜单
语言处理
- 阅读
preferences.md,了解用户偏好的语言 - 所有面向用户的输出都应使用用户偏好的语言
- 内部文件名和代码保持英文
- Agent 人设使用用户的语言进行交流
关键规则
- AskUserQuestion 必须始终提供 2–4 个选项。 将动态列表(squad、Skills、Agent 等)作为 AskUserQuestion 选项展示时,如果只有 1 个条目,始终添加“取消”或“返回菜单”等备用选项,确保至少有 2 个选项。如果没有条目,则完全跳过 AskUserQuestion,直接告知用户。
- 如果 company.md 尚未配置,绝不能跳过引导流程
- 运行任何 squad 前,始终加载公司上下文
- 始终向用户展示检查点,绝不能跳过
- 始终将输出保存到 squad 的输出目录
- 切换人设(内联执行)时,明确指出当前发言的 Agent
- 使用子 Agent 时,告知用户后台工作正在进行
- 每次 Pipeline 运行后,使用关键经验更新 squad 的 memories.md