
Comet:从想法到归档的阶段守护式 Agent Skill 编排框架 把 OpenSpec(管需求 WHAT)和 Superpowers(管执行 HOW)串成一条 5 阶段自动化流水线。 官方仓库:https://github.com/rpamis/comet https://github.com/rpamis/comet
Comet 是一个 Agent Skill Harness(智能体技能编排框架),核心价值是:
/comet 即可自动识别当前阶段并继续解决的核心痛点:AI 编程时经常"自由发挥"(vibe coding),跳过需求确认、漏掉测试、忘了归档。Comet 用阶段守卫强制把流程管起来。
组件 | 职责 | 关注点 | 角色 |
|---|---|---|---|
OpenSpec | 需求、提案、Spec 生命周期、归档 | WHAT(做什么) | 底层能力 |
Superpowers | 技术设计、计划、执行、收尾 | HOW(怎么做) | 底层能力 |
Comet | 把二者编排成 5 阶段流水线 + 状态机守卫 | 流程编排 | 编排层 |
一句话理解:装了 Comet,OpenSpec 和 Superpowers 会自动一起装好,不需要单独安装那两个。
/comet
↓ 自动检测当前阶段
/comet-open --> /comet-design --> /comet-build --> /comet-verify --> /comet-archive
(OpenSpec) (Superpowers) (Superpowers) (Both) (OpenSpec)
依赖 | 最低版本 | 检查命令 |
|---|---|---|
Node.js | 20+ | node -v |
npm/npx | 随 Node 安装 | npm -v |
Git | 任意近期版本 | git --version |
Bash 兼容 shell | 必须 | Windows 用户请用 Git Bash |
⚠️ Windows 用户必读:Comet 的核心守卫脚本(如
comet-guard.sh)是 bash 脚本,cmd.exe 和 PowerShell 无法运行。必须安装并使用 Git Bash。
打开 Git Bash(Windows)或终端(macOS/Linux):
npm install -g @rpamis/comet
cd your-project
comet init
comet init 会依次询问:
project当前项目目录(如 .claude/skills/)仅当前项目想让 skills 进 Git、团队共享global用户主目录(如 ~/.claude/skills/)本机所有项目个人偏好,所有项目通用English 或 中文随后自动完成:装 OpenSpec skills → 装 Superpowers skills → 部署 Comet skills → 创建工作目录。
# 项目级,自动选用检测到的平台
comet init --scope project --yes
# 全局级
comet init --scope global --yes
comet update
# 或
npm install -g @rpamis/comet@latest
COMET INIT [PATH] — 初始化 COMET 工作流选项 | 说明 |
|---|---|
--yes | 非交互模式,自动选择检测到的平台(没检测到则全选) |
--scope <scope> | 安装范围:project 或 global |
--skip-existing | 跳过已安装的组件 |
--overwrite | 覆盖已安装的组件 |
--json | 输出结构化 JSON |
COMET STATUS [PATH] — 查看当前活跃 CHANGE 和下一步命令显示当前活跃的 change、任务进度、以及推荐的下一个 Comet 工作流命令。
选项 | 说明 |
|---|---|
--json | 输出活跃 change 及 nextCommand |
COMET DOCTOR [PATH] — 诊断安装健康检查项目/全局安装健康度、工作目录、已安装 skills、脚本、Comet 状态文件。
选项 | 说明 |
|---|---|
--json | 输出结构化诊断结果 |
--scope <scope> | 诊断 auto、project 或 global(默认 auto) |
COMET UPDATE [PATH] — 更新 COMET 包和 SKILLS选项 | 说明 |
|---|---|
--json | 以 JSON 输出更新结果 |
--language <lang> | 覆盖检测到的语言(en、zh) |
--scope <scope> | 只更新 global 或 project |
COMET UNINSTALL [PATH] — 卸载 COMET SKILLS/RULES/HOOKS安全移除所有检测到的平台上的 Comet 组件,保留用户自定义配置。
comet uninstall # 交互式,显示目标并确认
comet uninstall --force # 非交互,立即移除
comet uninstall --scope project # 只移除项目级
选项 | 说明 |
|---|---|
--force | 跳过确认提示 |
--scope <scope> | 只卸载 global 或 project |
--json | 输出移除结果 |
命令 | 说明 |
|---|---|
comet --help | 显示帮助 |
comet --version | 显示版本 |
初始化后,三类 skills 会安装到所选平台的 skills/ 目录。这些 /comet-* 命令是在你的 AI 编程工具(如 Claude Code)里输入的,不是终端命令。
命令 | 阶段 | 说明 |
|---|---|---|
/comet | 主入口 | 自动检测当前阶段,派发到对应子命令 |
/comet-open | 阶段 1 | 开启一个 change(提案、设计、任务拆解) |
/comet-design | 阶段 2 | 深度设计(头脑风暴、Design Doc) |
/comet-build | 阶段 3 | 计划与构建(实现计划、代码提交) |
/comet-verify | 阶段 4 | 验证收尾(测试、验证报告) |
/comet-archive | 阶段 5 | 归档(delta spec 同步、状态标注) |
/comet-hotfix | 预设路径 | 快速修 bug(跳过头脑风暴) |
/comet-tweak | 预设路径 | 小改动(跳过头脑风暴和完整计划) |
/comet-hotfix(跳过 brainstorming)
open --> build --> verify --> archive
/comet-tweak(跳过 brainstorming 和完整 plan)
open --> 轻量 build --> 轻量 verify --> archive
负责 Spec 生命周期:propose、explore、sync、verify、archive 等。
负责开发方法论:brainstorming、TDD、subagent-driven development、code review、plan writing 等。
以一个新功能开发为例(例如"给项目加一个用户登录功能"),完整走一遍:
# 用 Git Bash 进入项目
cd your-project
# 确认已初始化(首次执行)
comet init # 勾选 Claude Code,scope 选 project,语言选 中文
# 检查健康
comet doctor
打开 Claude Code(或 Qoder / Trae),输入:
/comet-open
然后用自然语言描述你要做什么:
我要给项目加一个用户登录功能,支持邮箱+密码登录,需要 JWT token。
AI 会帮你生成(放在 openspec/changes/<change-name>/):
proposal.md — 提案(为什么做、做什么)design.md — 初步设计tasks.md — 任务拆解清单/comet-design
AI 会:
docs/superpowers/specs/)💡 如果
auto_transition: true,阶段 1 完成后会自动进入阶段 2,无需手动输入。
/comet-build
AI 会:
docs/superpowers/plans/)isolation(branch 分支 / worktree 工作树)和 build_mode(执行模式)/comet-verify
AI 会:
verification_report)branch_status)verification_report 必须存在 + branch_status: handled 才能通过/comet-archive
AI 会:
archived: true/comet-hotfix
跳过 brainstorming,走精简流程:
open --> build --> verify --> archive
适合:线上 bug、明显错误、不需要深度设计的小修复。
/comet-tweak
跳过 brainstorming 和完整 plan,走最轻量流程:
open --> 轻量 build --> 轻量 verify --> archive
适合:改文案、调样式、改配置值等。
关闭会话后重新继续,无需记忆进度,直接在 AI 工具里输入:
/comet
Comet 会:
.comet.yaml 状态阶段 | 命令 | 主导者 | 产出物 |
|---|---|---|---|
1. Open(开启) | /comet-open | OpenSpec | proposal.md、design.md、tasks.md |
2. Deep Design(深度设计) | /comet-design | Superpowers | Design Doc、delta spec |
3. Plan & Build(计划与构建) | /comet-build | Superpowers | 实现计划、代码提交 |
4. Verify & Finish(验证收尾) | /comet-verify | 两者 | 验证报告、分支处理 |
5. Archive(归档) | /comet-archive | OpenSpec | delta→主 spec 同步、归档 |
/comet-verify 必须通过才能 /comet-archiveComet 采用解耦的状态架构,用两个独立的 YAML 文件:
文件 | 归属 | 用途 |
|---|---|---|
.openspec.yaml | OpenSpec | Spec 生命周期、change 元数据 |
.comet.yaml | Comet | 工作流阶段、执行模式、验证状态 |
.COMET.YAML 关键字段workflow: full# 工作流类型:full / hotfix / tweak
auto_transition: true# 阶段完成后是否自动进入下一阶段
phase: build# 当前阶段:open/design/build/verify/archive
build_mode: subagent-driven-development# 构建模式
build_pause: null# 构建暂停点(null 无暂停,plan-ready 计划已生成待选)
isolation: branch# 隔离方式:branch / worktree
verify_mode: null# 验证模式
tdd_mode: null# TDD 模式
subagent_dispatch: null# 子代理派发
design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
verify_result: pending# 验证结果
verification_report: null# 验证报告路径(通过前必须存在)
branch_status: pending# 分支状态:handled 才能验证通过
verified_at: null# 验证时间
archived: false# 是否已归档
handoff_context: openspec/changes/<name>/.comet/handoff/design-context.json
handoff_hash: <sha256># 上下文哈希
⚠️ 重要:
build_pause: plan-ready是计划生成后的可恢复暂停点,不是build_mode的值,不能写进build_mode。
在 .comet/config.yaml(项目级)中配置:
CONTEXT_COMPRESSION(上下文压缩,BETA)在 Design → Build 交接时压缩上下文,减少 Build 阶段输入 token。
值 | 行为 | Token 节省 |
|---|---|---|
off | 完整 Spec 摘录 | 基准 |
beta | 仅 Design Doc + SHA256 引用 | ~25–30% |
context_compression: beta
基准测试结果:
AUTO_TRANSITION(自动阶段切换)控制阶段完成后是否自动调用下一个 skill。
值 | 行为 |
|---|---|
true | 阶段完成后自动进入下一阶段(默认) |
false | 阶段完成后暂停,需手动触发下一阶段 |
优先级:COMET_AUTO_TRANSITION 环境变量 > .comet/config.yaml(项目)> .comet.yaml(change)
Comet 通过自动化状态转换保证执行可靠性:
每个阶段执行前验证前置条件(文件存在、状态一致、阶段转换合法)。失败时输出 [HARD STOP] 并给出可操作建议。
comet-guard.sh --apply 自动更新 .comet.yaml,无需手动编辑状态,消除写错风险。
comet-yaml-validate.sh 校验:
direct_override)design_doc、plan、handoff_context 路径是否存在handoff_hash 格式isolation 必须是 branch 或 worktreebuild_mode 离开 build 阶段前必须选定build_mode: direct 需要 direct_override: trueverify-pass 转换要求 verification_report 指向真实存在的报告文件branch_status 必须为 handled 才能验证通过comet-archive.sh 一条命令完成全流程:校验状态 → 合并 delta spec → 标注文档 → 移到 archive → 更新状态。支持 --dry-run 预览。
脚本 | 作用 |
|---|---|
comet-env.sh | 脚本发现助手,导出各脚本路径 |
comet-guard.sh | 阶段转换守卫,--apply 自动更新状态 |
comet-handoff.sh | 设计交接,生成确定性上下文包(SHA256 追溯) |
comet-archive.sh | 一键归档自动化 |
comet-yaml-validate.sh | Schema 校验器 |
comet-hook-guard.sh | 阶段写守卫(PreToolUse hook),open/design/archive 阶段阻止写文件 |
comet-state.sh | 统一状态管理(init/set/get/check/scale) |
Comet 官方支持 29 个 AI 编程平台:
平台 | Skills 目录 | 平台 | Skills 目录 |
|---|---|---|---|
Claude Code | .claude/ | Cursor | .cursor/ |
Codex | .codex/ | OpenCode | .opencode/ |
Windsurf | .windsurf/ | Cline | .cline/ |
RooCode | .roo/ | Continue | .continue/ |
GitHub Copilot | .github/ | Gemini CLI | .gemini/ |
Amazon Q Developer | .amazonq/ | Qwen Code | .qwen/ |
Kilo Code | .kilocode/ | Auggie | .augment/ |
Kimi Code | .kimi-code/ | Kiro | .kiro/ |
Lingma | .lingma/ | Junie | .junie/ |
CodeBuddy | .codebuddy/ | CoStrict | .cospec/ |
Crush | .crush/ | Factory Droid | .factory/ |
iFlow | .iflow/ | Pi | .pi/ |
Qoder | .qoder/ | Antigravity | .agents/ |
Bob Shell | .bob/ | ForgeCode | .forge/ |
Trae | .trae/ |
部署机制:
comet init 自动检测本机已安装的平台对于使用通用 skills CLI 的平台(OpenClaw、Hermes 等):
npx skills add rpamis/comet
Comet 的守卫脚本是 bash 脚本:
安装 Git Bash:https://git-scm.com/download/win
Windows 路径 | Git Bash 路径 |
|---|---|
C:\Users\xxx | /c/Users/xxx |
C:\Users\xxx\Desktop | /c/Users/xxx/Desktop |
C:\Users\xxx\YourProject | /c/Users/xxx/YourProject |
建议在项目根目录加 .gitattributes,防止 sh 脚本换行符变 CRLF:
*.sh text eol=lf
不用。 comet init 会自动把两者作为依赖 skills 一起装好。
操作上不用。 一次 comet init 多选平台即可批量部署。物理上每个平台各得一份 skills。
99% 是没用 Git Bash。请用 Git Bash 重新执行。
可以。用 /comet-hotfix(跳过 brainstorming)或 /comet-tweak(跳过 brainstorming 和完整 plan)。
在 AI 工具里输入 /comet,它会自动读取 .comet.yaml、识别当前阶段、从断点继续。
Comet 是 skill 编排框架,实际写代码的是你选的 AI 平台。Comet 只负责守卫流程、管理 spec 和归档。
comet status # 终端查看
或在 AI 工具里输入 /comet 也能看到当前阶段。
comet uninstall # 交互式,会确认
comet uninstall --force # 直接卸载
只移除 Comet 组件,保留你的自定义配置。
your-project/
├── .comet/
│ └── config.yaml # 项目级配置(context_compression, auto_transition 等)
├── .claude/skills/ # 平台 skills 目录(Comet + OpenSpec + Superpowers)
│ ├── comet/
│ │ ├── SKILL.md
│ │ └── scripts/
│ │ ├── comet-guard.sh # 阶段转换守卫
│ │ ├── comet-env.sh # 脚本发现助手
│ │ ├── comet-handoff.sh # 设计交接
│ │ ├── comet-archive.sh # 归档自动化
│ │ ├── comet-yaml-validate.sh # Schema 校验
│ │ ├── comet-hook-guard.sh # 阶段写守卫
│ │ └── comet-state.sh # 统一状态管理
│ ├── comet-*/SKILL.md # 各阶段子命令
│ ├── openspec-*/SKILL.md # OpenSpec skills
│ └── brainstorming/SKILL.md # Superpowers skills
├── openspec/ # OpenSpec — WHAT
│ ├── config.yaml
│ └── changes/
│ └── <change-name>/
│ ├── .openspec.yaml # OpenSpec 状态
│ ├── .comet.yaml # Comet 工作流状态
│ ├── proposal.md # 提案
│ ├── design.md # 设计
│ ├── specs/<capability>/spec.md # 规范
│ └── tasks.md # 任务清单
└── docs/superpowers/ # Superpowers — HOW
├── specs/ # 设计文档
└── plans/ # 实现计划
comet init 运行 `comet init`,勾选平台(Claude Code / Qoder / Trae)、scope、语言comet doctor 运行 `comet doctor` 验证健康/comet-open 在 AI 工具里输入 `/comet-open` 开始一个 change/comet (可选)输入 `/comet` 查看当前阶段/comet 中途关闭后,输入 `/comet` 即可断点恢复.comet/config.yaml 开启 context_compression: beta 在 `.comet/config.yaml` 开启 `context_compression: beta`(省 token)auto_transition: false 按需设置 `auto_transition: false`(手动控制阶段切换).gitattributes 加 `.gitattributes` 强制 sh 用 LF 换行本指南基于 Comet 官方 README 整理,版本 0.3.7+(2025 年)。 官方仓库:https://github.com/rpamis/comet