mcpField
O
open-spec-apply

open-spec-apply

github.com/aircury开发593 次安装2 天前更新
代码仓库

关于 open-spec-apply

open-spec-apply 是依据工作中的变更任务实现代码的技能,面向使用 specs/changes/ 管理变更的开发者。它会读取变更文档、逐项执行任务并更新进度;遇到歧义或阻碍时暂停询问。

主要功能

  1. 01选择或推断待实现的变更
  2. 02读取提案、设计和任务文档
  3. 03逐项实现并更新任务勾选状态
  4. 04展示当前进度与剩余任务
  5. 05遇到歧义或阻碍时暂停

适用场景

  1. 01按任务清单落实代码变更
  2. 02在部分完成后继续实现变更
  3. 03在需求不清楚时先确认再继续

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aircury/ai-framework --skill open-spec-apply

安装后在 Claude Code 中输入/open-spec-apply确认已加载。

详细介绍

实施进行中的变更中的任务。

输入:可选择指定变更名称。如果未指定,请检查能否从对话上下文中推断。如果名称含糊或不明确,必须提示用户从可用变更中选择。

步骤

  1. 选择变更

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

    • 如果用户在对话上下文中提到了某项变更,则据此推断
    • 如果 specs/changes/ 下只有一个目录,则自动选择
    • 如果存在多个可能选项,则检查 specs/changes/ 下的可用目录,并询问用户要选择哪一个

    始终提示:“正在使用变更:”,并说明如何更换(例如,open-spec-apply <other>)。

  2. 读取变更工件

    读取 specs/changes/<name>/ 下存在的文件:

    • proposal.md
    • design.md
    • tasks.md

    如果缺少 tasks.md,请暂停,并询问是否先使用 open-spec-propose 技能创建该文件。

  3. 显示当前进度

    显示:

    • 正在使用的变更
    • 进度:“已完成 N/M 项任务”
    • 剩余任务概览
  4. 实施任务(循环直至完成或受阻)

    对于每项待处理任务:

    • 显示当前正在处理的任务
    • 进行所需的代码更改
    • 保持更改精简且聚焦
    • 在任务文件中将任务标记为完成:- [ ] → - [x]
    • 继续下一项任务

    以下情况应暂停:

    • 任务不明确 → 请求澄清
    • 实施过程中发现设计问题 → 建议更新工件
    • 遇到错误或阻碍 → 报告并等待指示
    • 用户中断
  5. 完成或暂停时,显示状态

    显示:

    • 本次会话完成的任务
    • 总体进度:“已完成 N/M 项任务”
    • 如果全部完成:建议使用 open-spec-complete 技能同步 specs/features/
    • 如果已暂停:说明原因并等待指示

实施期间的输出

## Implementing: <change-name>

Working on task 3/7: <task description>
[...implementation happening...]
✓ Task complete

Working on task 4/7: <task description>
[...implementation happening...]
✓ Task complete

完成时的输出

## Implementation Complete

**Change:** <change-name>
**Progress:** 7/7 tasks complete ✓

### Completed This Session
- [x] Task 1
- [x] Task 2
...

All tasks complete! Use the `open-spec-complete` skill to sync `specs/features/` and clean up workflow artifacts.

遇到问题而暂停时的输出

## Implementation Paused

**Change:** <change-name>
**Progress:** 4/7 tasks complete

### Issue Encountered
<description of the issue>

**Options:**
1. <option 1>
2. <option 2>
3. Other approach

What would you like to do?

注意事项

  • 持续处理任务,直至全部完成或受阻
  • 开始前始终阅读可用的变更工件
  • 如果任务含糊不清,请先暂停并询问,不要直接实施
  • 如果实施过程中发现问题,请暂停并建议更新工件
  • 代码更改应精简,并仅涉及相应任务
  • 每完成一项任务后,立即更新任务复选框
  • 遇到错误、阻碍或不明确的要求时,请暂停,不要猜测
  • 将 specs/changes/ 视为工作状态;完成后仍需同步 specs/features/

灵活工作流集成

此技能支持“对变更执行操作”的模式:

  • 可随时调用:工件尚未全部完成时(只要已有任务)、部分实施后,或与其他操作交替进行时
  • 允许更新工件:如果实施过程中发现设计问题,建议更新工件;工作流程不受阶段限制,可灵活推进

评论

支持 Markdown