Communitygithub.com

AmanVarshney01/tcut

实现 OpenSpec 变更中的任务。当用户想要开始实施、继续实施或处理任务时使用。

tcut 是什么?

此技能(AmanVarshney01/tcut)允许 AI 代理基于 OpenSpec 变更清单逐步实施任务。它能够自动检测或提示用户选择变更,获取应用指令,读取上下文文件(如提案、规范、任务等),然后循环处理待办任务,逐一完成标记。实施过程中会根据错误、设计问题或模糊的需求暂停并请求用户指导,完成后会提示归档变更。该技能支持“对变更的操作”模型,可在实施过程中灵活接受工件更新,而非严格分阶段锁定。支持本地 OpenSpec 仓库作为存储,也可指定已注册的远程存储 ID。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AmanVarshney01/tcut/tree/HEAD/.claude/skills/openspec-apply-change

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

实现 OpenSpec 变更中的任务。

存储选择: 如果用户指定了某个存储(存储是此机器上注册的独立 OpenSpec 仓库),或者工作位于其中,请运行 openspec store list --json 来发现已注册的存储 ID,然后在读取或写入规范和变更的命令(new change、status、instructions、list、show、validate、archive、doctor、context)中传递 --store <id>。其他命令不接受该标志。命令输出的提示信息已携带该标志;请继续保留。如果没有存储,命令将在最近的本地 openspec/ 根目录下操作。

输入:可选地指定变更名称。如果省略,检查是否可从对话上下文中推断。如果模糊或存在歧义,您必须提示用户选择可用变更。

步骤

  1. 选择变更

    如果提供了名称,则使用它。否则:

    • 如果用户在对话中提到了某个变更,从上下文中推断
    • 如果只有一个活跃变更,则自动选择
    • 如果有歧义,运行 openspec list --json 获取可用变更,并使用 AskUserQuestion 工具 让用户选择

    始终声明:“使用变更: <名称>”以及如何覆盖(例如 /opsx:apply <其他>)。

  2. 检查状态以了解模式

    openspec status --change "<名称>" --json
    

    解析 JSON 以了解:

    • schemaName:正在使用的工作流(例如 "spec-driven")
    • planningHome、changeRoot 和 actionContext:规划范围和编辑约束
    • 哪个工件包含任务(对于 spec-driven 通常是 "tasks",其他请检查 status)
  3. 获取应用指令

    openspec instructions apply --change "<名称>" --json
    

    返回的内容:

    • contextFiles:工件 ID -> 具体文件路径数组(因模式而异 - 可能是 proposal/specs/design/tasks 或 spec/tests/implementation/docs)
    • 进度(总计、已完成、剩余)
    • 任务列表及其状态
    • 基于当前状态的动态指令

    处理状态:

    • 如果 state: "blocked"(缺少工件):显示消息,建议使用 openspec-continue-change
    • 如果 state: "all_done":祝贺,建议归档
    • 否则:继续实施
  4. 读取上下文文件

    读取应用指令输出中 contextFiles 下列出的每个文件路径。 文件取决于所使用的模式:

    • spec-driven:提案、规范、设计、任务
    • 其他模式:遵循 CLI 输出的 contextFiles
  5. 显示当前进度

    显示:

    • 正在使用的模式
    • 进度:“已完 N/M 个任务”
    • 剩余任务概览
    • CLI 中的动态指令
  6. 实施任务(循环直到完成或受阻)

    对于每个待办任务:

    • 显示正在处理哪个任务
    • 进行所需的代码更改
    • 保持更改最小且集中
    • 在任务文件中将任务标记为完成:- [ ] → - [x]
    • 继续下一个任务

    在以下情况暂停:

    • 任务不清晰 → 请求澄清
    • 实施暴露了设计问题 → 建议更新工件
    • 遇到错误或阻塞 → 报告并等待指导
    • 用户中断
  7. 完成或暂停时,显示状态

    显示:

    • 本次会话已完成的任务
    • 总体进度:“已完成 N/M 个任务”
    • 如果全部完成:建议归档
    • 如果暂停:解释原因并等待指导

实施过程中的输出

## 正在实施: <变更名称> (模式: <模式名称>)

正在处理任务 3/7: <任务描述>
[...实施进行中...]
✓ 任务完成

正在处理任务 4/7: <任务描述>
[...实施进行中...]
✓ 任务完成

完成时的输出

## 实施完成

**变更:** <变更名称>
**模式:** <模式名称>
**进度:** 7/7 个任务完成 ✓

### 本次会话完成
- [x] 任务 1
- [x] 任务 2
...

所有任务完成!可归档此变更。

暂停时的输出(遇到问题)

## 实施暂停

**变更:** <变更名称>
**模式:** <模式名称>
**进度:** 4/7 个任务完成

### 遇到的问题
<问题描述>

**可选方案:**
1. <方案 1>
2. <方案 2>
3. 其他方法

您希望怎么处理?

防护措施

  • 持续处理任务直到完成或阻塞
  • 在开始之前始终读取上下文文件(来自应用指令输出)
  • 如果任务模糊,暂停并在实施前询问
  • 如果实施暴露了问题,暂停并建议更新工件
  • 保持代码更改最小且限定在任务范围内
  • 完成后立即更新任务复选框
  • 遇到错误、阻塞或需求不明确时暂停 - 不要猜测
  • 使用 CLI 输出的 contextFiles,不要假定特定文件名

灵活工作流集成

本技能支持“对变更的操作”模型:

  • 可随时调用:在所有工件完成之前(如果任务存在)、部分实施之后、与其他操作交替进行
  • 允许工件更新:如果实施暴露了设计问题,建议更新工件 - 不锁定阶段,灵活工作

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

AmanVarshney01/tcut

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.

AmanVarshney01/tcut

Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.

AmanVarshney01/tcut

Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.

AmanVarshney01/tcut

Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.

AmanVarshney01/tcut

Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.

AmanVarshney01/tcut

Combine tcut terminal recordings with Remotion to produce polished, motion-designed launch/promo videos (title cards, animated captions, layered terminal footage). Use when the user wants a product video, launch video, or social video that features terminal/CLI footage.

AmanVarshney01/tcut

Record reproducible terminal videos (MP4/GIF/SVG/HTML) from TypeScript scripts or live sessions with the tcut CLI. Use when the user wants a terminal demo, CLI screencast, TUI recording, or animated terminal GIF for a README, website, or social post.

相关技能