Skip to content
Back to skills

Comet Tweak

ASecurity

Comet 预设 —— 处理可收敛为单一 OpenSpec change 的轻量或中等变更。

  • 4 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 19, 2026
ai-agentsbashdebugginggitapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add yonyong/Janus --skill comet-tweak --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Comet Tweak?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Comet Tweak
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/yonyong-comet-tweak/badge)](https://www.skillsdirectory.com/skills/yonyong-comet-tweak)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: comet-tweak
description: "Comet 预设 —— 处理可收敛为单一 OpenSpec change 的轻量或中等变更。"
---

# Comet 预设路径:Tweak

开始或恢复前必须先读取并执行 `comet-classic/reference/classic-layout.md`;本文件中的 OpenSpec CLI 调用必须使用 adapter,文件路径必须使用该协议绑定的 `<classic-*>` 逻辑根。

Tweak 是 Comet 五阶段能力的预设工作流,不是独立的平行流程。它串联 OpenSpec 的核心流程,复用 open、build、verify、archive 能力,仅跳过 Superpowers brainstorming 和完整 plan。

适用于串联 OpenSpec 的轻量改动,例如配置调整、文档或 prompt 优化,以及需 spec 驱动(含 delta spec)但不需要完整 `/comet-classic` 深度设计流程的中等变更。delta spec 在 tweak 中是一等公民正常产物,需要 delta spec 本身不构成升级理由。

**适用条件**(必须全部满足):
1. 可收敛为**单一 OpenSpec change**
2. 不需要 Superpowers Design Doc 和完整 plan 才能澄清方案
3. 不涉及跨模块、跨层级的架构协调
4. 任务规模可预估(文件数和任务数仅作提示,不作为硬性升级条件,见下方升级判定)

**不适用**:如变更过程中命中质变信号(见「升级判定」章节),由用户决定是否升级为完整 `/comet-classic` 流程。

---

## 流程(预设流程,4 阶段)

### 0. 输出语言约束

精简版 OpenSpec 产物必须使用 Comet 配置产物语言。`.comet.yaml` 尚不存在时依次读取项目 `.comet/config.yaml` 和全局 `~/.comet/config.yaml` 的 `classic.language`,初始化后使用 `comet state get <name> language` 读取。

执行链路:open → OpenSpec apply → verify → archive。Tweak 为每个阶段提供默认决策:精简开启、通过 OpenSpec apply 直接构建、按规模与 delta spec 判定验证轻重、验证通过后进入归档前最终确认。

开始前按 `comet-classic/reference/scripts.md` 运行公开 Comet CLI 命令;从任意入口恢复时先按 `comet-classic/reference/context-recovery.md` 检查 phase/workflow。

恢复已有 tweak change 时,第一项状态操作必须是 `comet state select <change-name>`;创建新 change 时,在 `.comet.yaml` 初始化成功后立即运行该命令,再进入源码写入步骤。

进入 tweak 工作区并读取当前状态 `phase` 后,运行 `comet task <project-root> --task "<用户原始请求>" --phase "<phase>" --session "<本次任务稳定标识>" --json`。只注入返回的 `text`;Context Manifest(`manifest` / `<context_manifest>`)只含摘要、应用原因和稳定 ID,需要正文、来源或验证方式时增加 `--expand-context "<id>"`,路径、操作或阶段变化时以同一 `--session` 重新选择。用户明确要求长期记住时调用 `comet memory remember ... --scope global|project`;仅对隐式但可复用的稳定协作方式调用 `comet memory observe`,不得保存任务摘要、进展、命令输出或测试结果。实际使用条目且结果明确后,用 `applications[].applicationId`(Hook 文本中的 `application_id`)运行 `comet task <project-root> --task "<用户原始请求>" --application "<application-id>" --outcome used-successfully|ignored|overridden|corrected|contributed-to-failure --json`。任务结束仍运行带 `--complete --workflow <workflow> --change <change-id>` 的 `comet task`。无 Hook 时由本 Skill 使用相同接口,`comet memory context` 只作为兼容入口;插件失败不阻断变更。

### 1. 快速开启(预设 open)

复用 Comet open 能力创建 change,但使用 tweak 默认值:不执行 `openspec-explore` 长探索,直接进入精简 change 创建。

**立即执行:** 使用 Skill 工具加载 `openspec-new-change` 技能。禁止跳过此步骤。

<!-- external-openspec-skill-override -->
**外部 OpenSpec Skill 覆写:** 加载后不得执行其中直接官方 CLI、固定 cwd 或固定物理 OpenSpec 路径的指令;所有 OpenSpec 命令改用 `comet classic openspec -- <args...>`,所有 change 与 artifact 路径改用本轮绑定的 `<classic-*>` 逻辑根。

技能加载后,按其指引创建精简版产物:
  - `proposal.md` — 变更动机 + 目标 + 范围
  - `design.md` — 简短实现说明(无需方案对比)
  - `tasks.md` — 任务清单(建议控制在合理规模,数量本身不触发升级,见「升级判定」)
  - `delta spec`(可选)— 若变更影响已有 spec 的验收场景,作为正常产物创建(仅含 `## MODIFIED Requirements` 或 `## ADDED Requirements`)。delta spec 是 OpenSpec brownfield 改动的核心产物,需要 delta spec 本身不构成升级理由

初始化 Comet 状态文件:

```bash
comet state init <name> tweak
comet state select <name>
```

初始化后验证状态:

```bash
comet state check <name> open
```

若上述 `select` / `check` 输出 `BLOCKED`,且原因是 `bound_branch` 与当前分支不一致,立即按 `comet-classic/reference/decision-point.md` 暂停,让用户单选:切回绑定分支后重新运行入口验证,或在用户明确确认当前分支应接管该 change 后运行 `comet state rebind <change-name>` 并重新入口验证。不得自行切换分支,不得自行换绑。

入口工作区隔离是用户决策点,不再把 `current` 当作默认隔离模式写入。按 `comet-classic/reference/decision-point.md` 暂停让用户单选:

- A. 当前分支直接工作:运行 `comet state set <name> isolation current`,如实绑定当前分支
- B. 创建分支:先创建并切换到 `tweak/YYYYMMDD/<change-name>`,再运行 `comet state set <name> isolation branch`
- C. 创建 worktree:必须先使用 Skill 工具加载 Superpowers `using-git-worktrees` 技能,由该技能创建隔离工作区;进入 worktree 后运行 `comet state set <name> isolation worktree`

B/C 完成后,必须在实际执行分支或 worktree 中重新运行:

```bash
comet state select <name>
```

阶段守卫完成 open → build 过渡:

```bash
comet guard <change-name> open --apply
```

### 2. OpenSpec apply 构建(tweak 专用预设 build)

使用 tweak 默认值:`build_mode: direct`。`isolation` 必须沿用 Step 1 中用户已确认的入口工作区隔离方式,不得自行改回 `current`。跳过 Superpowers `brainstorming` 和 `writing-plans`,改由 OpenSpec 的 apply action 执行当前 change 的 tasks。

<IMPORTANT>
这条 apply 路径只属于 tweak。完整 `/comet-classic` 或 `workflow: full` 不得套用 tweak 的 `openspec-apply-change` 构建路径;full 仍必须先通过 `/comet-design` 生成 Design Doc,再由 `/comet-build` 通过 Superpowers `writing-plans`、执行方式选择和对应执行技能完成构建。
</IMPORTANT>

继续或开始修改前,按 `comet-classic/reference/dirty-worktree.md` 协议处理未提交改动。若归因后发现命中质变信号或文件数 tripwire,按本文件「升级判定」处理。

**立即执行:** 使用 Skill 工具加载 `openspec-apply-change` 技能。禁止跳过此步骤。

<!-- external-openspec-skill-override -->
**外部 OpenSpec Skill 覆写:** 加载后只采用其 apply 语义;其中任何直接官方 CLI、固定 cwd 或固定物理 OpenSpec 路径都必须替换为 `comet classic openspec -- <args...>` 与 `<classic-*>` 逻辑根。

技能加载后,以当前 `<change-name>` 作为输入,按 `openspec-apply-change` 的指引执行 OpenSpec apply 流程:

1. 运行或遵循 `comet classic openspec -- status --change "<name>" --json`,确认 schema 和任务 artifact
2. 运行或遵循 `comet classic openspec -- instructions apply --change "<name>" --json`,读取 OpenSpec 返回的 apply 指令、`contextFiles`、任务进度和动态 instruction
3. 读取 apply 指令列出的所有 context files,不得只凭旧对话或手写 tasks 循环实现
4. 按 apply 指令逐个完成未勾选任务,保持改动最小且聚焦
5. 每完成一个任务后:
   - 运行项目格式化命令(如 `mvn spotless:apply`、`npm run format` 等)
   - 运行相关测试确认通过
   - 按 `openspec-apply-change` 规则将对应 task 勾选为完成
   - 提交代码,commit message 格式:`tweak: <简述变更>`
6. 全部任务完成后,显式运行项目相关测试和构建命令
7. 运行阶段守卫完成 build → verify 过渡

执行 tweak 期间,只要运行程序、测试、构建或手动验证时出现崩溃、异常行为、测试失败或构建失败,必须使用 Skill 工具加载 Superpowers `systematic-debugging` 技能。在完成根因调查前,不得提出或实施源码修复。

具体调查、最小失败测试、修复验证和保持当前 change 验证闭环的要求,按 `comet-classic/reference/debug-gate.md` 执行。

**升级判定检查**:build 全程持续判断,并在 build→verify 守卫执行前做一次集中复核。判定采用三层分工(详见「升级判定」章节):质变信号靠 agent 语义识别、文件数仅作提示交用户拍板、scale 脚本仅管验证轻重。命中质变信号或文件数超提示阈值时,**不得自行升级或自行判定可继续**,必须按 `comet-classic/reference/decision-point.md` 暂停并把决策权交给用户:继续 tweak 轻量流程,还是升级为完整 `/comet-classic`。

运行阶段守卫完成 build → verify 过渡:

```bash
comet guard <change-name> build --apply
```

状态文件自动更新为 `phase: verify`、`verify_result: pending`,然后进入验证。

### 3. 验证(预设 verify)

复用 `/comet-verify`,由 comet-verify 的规模评估决定轻量或完整验证。

**立即执行:** 使用 Skill 工具加载 `comet-verify` 技能。禁止跳过此步骤。

**带 delta spec 的验证分流**:tweak 接受 delta spec 作为正常产物。若本次 change 创建了 delta spec,进入 comet-verify 前显式设置完整验证模式,走 OpenSpec 原生验证(`openspec-verify-change`)以覆盖 delta spec 一致性:

```bash
comet state set <change-name> verify_mode full
```

无 delta spec 的 tweak 通常满足轻量验证条件(≤ 3 tasks、改动文件数低于 scale 阈值),由 comet-verify 的规模评估选择轻量验证路径(6 项快速检查)。若用户希望增加审查,可在验证前运行 `comet state set <name> review_mode standard` 或 `thorough`。

验证通过后,按 `/comet-verify` 的规则将 `.comet.yaml` 的 `verify_result` 记录为 `pass`,归档前不得跳过该状态。验证通过后仍必须进入 `/comet-archive` 的归档前最终确认,不得自动运行归档脚本。

### 4. 归档(预设 archive)

复用 `/comet-archive`。归档前必须满足 `.comet.yaml` 中 `verify_result: pass`,并等待 `/comet-archive` 的归档前最终确认。

**立即执行:** 使用 Skill 工具加载 `comet-archive` 技能进行归档。禁止跳过此步骤。

---

## 连续执行模式

<IMPORTANT>
Tweak 流程默认 **一次性连续执行**。调用 `/comet-tweak` 后,agent 在 tweak 自有步骤间自动推进,不主动停顿。**例外**:若 `auto_transition: false`,则在每个 phase 边界(build/verify/archive 之间)结束当前调用并按 `HINT` 交还控制权,由用户稍后手动运行下一阶段命令;这是手动衔接,不是新的确认点。无论 `auto_transition` 取何值,以下真正的用户决策仍需暂停:

1. 遇到升级判定信号(见「升级判定」章节),**必须暂停、展示选择并等待用户明确选择**:继续 tweak 轻量流程,还是升级为完整 `/comet-classic` 流程
2. 验证阶段(comet-verify)接受 WARNING/SUGGESTION 偏差、处理 Spec 漂移或超过自动修复上限后的策略决策;前 3 次明确可修复失败自动闭环
3. 归档前在一个最终确认中选择是否归档及归档提交的交付方式

执行顺序:快速开启 → 构建(含升级判定检查)→ 验证 → 归档 → 完成

每个阶段完成后立即进入下一阶段。阶段内部仍必须按上文要求调用对应 Comet/OpenSpec/Superpowers skill,被调用的 skill 如有自己的用户决策点,按该 skill 规则执行。
</IMPORTANT>

---

## 升级判定

tweak 的升级判定只决定是否从轻量预设转为 full;delta spec 本身不是升级理由,文件数不自动升级,`comet state scale` 只决定验证轻重。

若由 `/comet-classic` 入口传入 intent frame,tweak 在 build 前只复核 `risk_signal` 和升级信号:新增 capability、public API、schema 变更、跨模块协调或深层架构问题。命中时进入现有升级决策点;delta spec 仍是 tweak 的正常产物,不因存在 delta spec 自动升级;不得重新实现入口意图识别。

持续检查以下质变信号:跨模块协调修改、需要新增 capability、数据库 schema 变更、引入新的 public API、触及深层架构问题;以及 tweak 特有信号:需要拆分为多个 OpenSpec changes。命中任一信号时,agent **不得自行升级或自行判定可继续**。

文件数 tripwire 仅作提示:改动文件数超过提示阈值(如 > 6 个文件)时,也交给用户决定继续 tweak 还是升级 full;文件数多不等于质变。tweak 常伴随 delta spec 或配置调整,波及面天然比 bug 修复宽,故提示阈值高于 hotfix。

命中质变信号或文件数 tripwire 时,**必须按 `comet-classic/reference/decision-point.md` 的协议暂停并等待用户明确选择**。不得直接进入 `/comet-design`,不得自动补充 Design Doc。

用户选择升级(选项 B)后,使用状态机合法的升级通道,单条命令完成预设流程 → full 转换并回退到 design 阶段:

```bash
comet state transition <name> preset-escalate
```

该命令原子地把 `workflow`/`classic_profile` 置为 `full`、`phase` 回退到 `design`、清空 `design_doc`,并清除预设专属的 `build_mode`、`tdd_mode`、`review_mode`、`isolation` 和 `verify_mode`。然后在当前 change 基础上补充 Design Doc:**立即使用 Skill 工具加载 `comet-design` skill**;进入 build 后必须重新进行一次完整的联合工作方式选择。

用户选择继续(选项 A)时,继续 tweak 流程,并记录用户确认继续的原因。

---

## 退出条件

- 变更已完成,测试通过
- change 已归档
- 如有 spec 变更,已同步到 main spec
- **阶段守卫**:build → verify 前运行 `comet guard <change-name> build --apply`,verify → archive 前按 `/comet-verify` 规则运行 `comet guard <change-name> verify --apply`

## 自动衔接下一阶段

按 `comet-classic/reference/auto-transition.md` 执行。关键命令:

```bash
comet state next <name>
```

- `NEXT: auto` → 调用 `SKILL` 指向的 skill 继续 tweak 流程(`phase: build` 返回 `comet-tweak`,`verify` 返回 `comet-verify`,`archive` 返回 `comet-archive`)
- `NEXT: manual` → 不调用下一 skill,按 `HINT` 交还控制权并结束当前调用;不再创建确认点
- `NEXT: done` → 流程已完成,无需继续

Files in this skill

  • SKILL.md14.9 KB
  • agents/openai.yaml187 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.