Back to skills
SKILL.md
Comet Tweak
ASecurityComet 预设 —— 处理可收敛为单一 OpenSpec change 的轻量或中等变更。
- 4 stars
- 0 votes
- 0 copies
- 3 views
- Added September 19, 2026
Works with
Security analysis
100/100Pro scans all 2 files and shows the line behind each finding
npx -y skills add yonyong/Janus --skill comet-tweak --agent claude-codeAre you the author of Comet Tweak?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/yonyong-comet-tweak)---
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.md
- agents/openai.yaml
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.