mcpField
S
step-by-step

step-by-step

github.com/gg-skillsAgent 工作流037 次安装2 周前更新
代码仓库

关于 step-by-step

step-by-step 是一项技能,可将任务清单和验证计划组织为每次仅推进一个当前步骤的流程。它适用于需要用户操作或确认的工作,并通过预检、基于证据的推进和持久化会话状态来管理进度。

主要功能

  1. 01每次呈现一个当前步骤
  2. 02执行预检
  3. 03要求提供证据后再推进
  4. 04提供自动化、帮助和控制选项
  5. 05持久化带时间戳的会话状态
  6. 06依赖变化时重新排列步骤

适用场景

  1. 01引导手动设置清单
  2. 02协调用户与 Agent 的操作
  3. 03跟踪研究验证步骤
  4. 04在交接后恢复清单进度

安装

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

$npx skills add https://github.com/gg-skills/step-by-step --skill step-by-step

安装后在 Claude Code 中输入/step-by-step确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
README.md
agents/
openai.yaml
references/
session-artifact-contract.md
step-presentation-contract.md
scripts/
check-step-completeness.ts

详细介绍

GG → Step by Step → Workflow

概述

使用此技能,将任务列表、计划清单、研究部署流程或手动验证矩阵转换为一次仅执行一个步骤的工作流。它会先验证可验证的内容,明确告知用户当前要做什么,提供可选的帮助和自动化路径,将工作状态保存到带时间戳的会话文件夹中,并且只有在当前步骤解决后才会进入下一步。

何时使用此技能

在以下情况触发:

  • 任务同时包含 Agent 工作,以及由用户执行的手动操作或验证。
  • 执行过程需要在各步骤之间由人在环确认。
  • 计划、研究或任务包含按顺序执行的部署、设置或验证清单。
  • 用户明确要求逐步指导,或询问接下来该做什么。

在以下情况跳过:

  • Agent 无需用户参与即可自主完成整个任务。
  • 用户希望一次性查看完整清单,而不是以交互方式获得指导。
  • 无法识别或安全创建有序步骤队列。

常见误解

#误解修正关键概念
1Agent 应一次性展示所有步骤,让用户了解完整计划。每次只展示一个当前步骤;完整队列可在会话产物中查看。单个当前步骤
2如果某个步骤看起来很简单,Agent 可以在没有证据的情况下将其标记为已解决。每次解决步骤都需要提供与该步骤验证方法相符的证据。证据门控
3如果对话上下文较短,会话文件夹就不是必需的。始终初始化会话文件夹,并将状态保存到带时间戳的文件夹中;这样可避免交接时丢失上下文。持久化
4可选项只是出于礼貌的建议,可以省略。每个当前步骤说明都必须包含 AUTOMATION_OPTIONS、HELP_OPTIONS 和 CONTROL_OPTIONS。可选项
5如果用户说某个步骤已完成,Agent 就应立即进入下一步。进入下一步前,应通过仓库状态、命令输出或明确证明重新检查该步骤是否已解决。验证后再推进
6所有步骤都可以自动化。有些步骤只能由人完成(手动审核、决策、确认)。仅限人工的步骤
7步骤队列是静态的。依赖关系发生变化或步骤拆分时,重新规范化队列。动态队列
8预检是可选的。提示用户之前,始终先运行预检验证。预检验证

快速决策指南

场景使用此技能改用
执行前在多个选项中做选择否decisions/SKILL.md
执行完全可自动化的批处理否直接由 Agent 执行
指导手动部署或设置清单是--
继续执行已完成研究的验证清单是研究本身使用 study/SKILL.md
为外部任务跟踪工具跟踪清单项是保留本地完成记录,并返回简洁的交接摘要
制定包含需要指导的手动步骤的计划是计划本身使用 plan/SKILL.md

步骤质量检查清单

呈现任何活动步骤前,请使用此检查清单。每一项都是一道关卡——满足所有必需项后,该步骤才算准备就绪。

#检查项重要性关卡
1队列已规范化 — 有序步骤队列包含 STEP_ID 和状态支持单一活动步骤步骤前
2会话文件夹已初始化 — .tmp/step-by-step/ 中有带时间戳的文件夹支持持久化步骤前
3已确定下一步 — 优先级最高的未解决步骤防止跳过步骤步骤前
4已运行预检 — 已完成 Agent 可验证的检查减轻用户负担步骤前
5已区分责任方 — 清楚区分 Agent 与用户的操作防止混淆起草时
6标题简洁 — 步骤标题是一个清晰的句子便于快速浏览起草时
7已列出前置条件 — 明确列出依赖项防止顺序错误起草时
8已说明验证方法 — 明确解决步骤所需的证据支持验证起草时
9已提供可选选项 — 包含 AUTOMATION/HELP/CONTROL 选项赋予用户自主权起草时
10解决标准明确 — 明确说明何为“完成”防止重新开启收尾时
11已保持持久化 — 每次变更后保存状态支持恢复收尾时
12交接已就绪 — 已准备好用于技能转换的输出支持协作收尾时
质量等级
等级标准适用情形
最低第 1–3、6、10 项简单的单步骤任务
标准第 1–8、10–11 项包含人工操作的多步骤工作流
完整全部 12 项需要跨技能协作的复杂部署
步骤前验证

呈现活动步骤前,请验证:

□ Step queue normalized with STEP_IDs and positions
□ Session folder initialized in .tmp/step-by-step/
□ Next unresolved step identified
□ Preflight checks completed (agent-verifiable items)
□ Agent vs user actions separated
□ Title is concise (< 60 chars)
□ Prerequisites listed with dependencies
□ Verification method stated with exact evidence
□ Chooseable options included (AUTOMATION/HELP/CONTROL)
□ Resolution criteria clear
□ State will be persisted after this step

步骤一致性验证器

呈现步骤前,请运行以下一致性检查。任何一项检查未通过,都必须先修正步骤再呈现。

一致性检查矩阵
检查项验证内容修正方法
步骤与前置条件此步骤的前置条件均已解决重新排序队列
步骤与验证验证方法确实能证明任务已完成完善验证方法
步骤与选项选项与此步骤的操作相关更新选项
步骤与交接如需进行技能转换,交接输出已就绪准备输出
队列与依赖项依赖项符合实际前置条件链重新规范化
危险信号(绝不可呈现)

存在以下任一情况的步骤,必须先修正再呈现:

  • 步骤没有验证方法
  • 步骤的前置条件无法解决
  • 步骤没有可选选项
  • 会话文件夹尚未初始化
  • 将 Agent 的操作说成只能由用户执行
  • 将用户的操作说成只能由 Agent 执行

不可妥协的政策

  1. 呈现第一个活动步骤前,将每项任务规范化为明确的有序步骤队列。
  2. 每次只呈现一个活动步骤。
  3. 每个步骤前都要运行预检;Agent 能直接验证的内容,绝不可交由用户验证。
  4. 每个步骤说明中都要区分 Agent 可执行的工作与只能由用户执行的操作。
  5. 每份活动步骤说明都必须遵循 references/step-presentation-contract.md,并提供可选的自动化、帮助和控制选项;既要以打印出的令牌形式呈现,也要在该工具可用时使用 Harness 的“询问用户”选项器(chooseable-options/references/ask-user-harness.md)。
  6. 只有在证据符合验证方法要求后,才能将步骤标记为已解决;若证据不完整,须明确说明缺少什么,并保持步骤处于活动状态。
  7. 第一步之前,先初始化带时间戳的会话文件夹;每次状态变更后都要持久化保存状态,并保留队列,直至所有步骤均已解决、延期或阻塞。

会话持久化

每次引导式运行都会在 .tmp/step-by-step/YYYY-MM-DD-HHmmss-<session-slug>/ 下创建一个被 git 忽略的会话文件夹。使用一个 根据任务标题或清单主题生成的简短 slug。按照 references/session-artifact-contract.md 存储工件。

必须持久化的最低限度输出:规范化队列快照、每个步骤的当前状态、 活动步骤数据包、解决证据摘要以及最终会话摘要。

步骤队列规范化

按以下优先顺序,从最佳可用来源规范化步骤队列:

  1. 用户明确提供的清单。
  2. 活动的 .plans/... 清单或执行部分。
  3. 活动的学习部署或验证列表。
  4. 活动的外部任务跟踪器清单或手动跟进部分。
  5. 根据当前对话创建的仅限本会话使用的备用列表。

使用以下信息规范化每个步骤:

  • STEP_ID
  • 队列位置
  • 易于理解的标题
  • 负责人(user、agent 或 shared)
  • 前置条件
  • 验证方法
  • 可接受的完成证据
  • Agent 可提供的自动化
  • 当前状态(pending、active、resolved、deferred、blocked)

如果上游工件已包含排序,除非依赖关系冲突迫使重新排序,否则应保留原顺序;如果确需调整, 请在继续之前说明原因。

单步交互循环

  1. 构建或载入有序步骤队列。
  2. 初始化带时间戳的 .tmp/ 会话文件夹,并持久化初始队列快照。
  3. 找出下一个尚未解决的步骤。
  4. 在提示用户之前运行预检并收集本地证据。
  5. 使用 references/step-presentation-contract.md 中的格式呈现活动步骤数据包。仅当该契约有要求时,才包含 STEP_<ID>_AUTOMATE_IMPROVE_INSTRUMENTATION。
  6. 持久化活动步骤数据包和当前会话状态。
  7. 如果用户选择自动化选项,先执行安全的 Agent 侧工作。
  8. 等待用户提供证据、确认或后续问题。
  9. 根据仓库状态、命令输出、屏幕截图、日志或用户明确提供的证明,重新检查是否已解决。
  10. 将更新后的状态持久化到会话文件夹;如果存在活动计划、学习项目或任务工件,也同步更新其中的状态。
  11. 立即转到下一个尚未解决的步骤;如果当前步骤仍未完成,则继续处理该步骤。
  12. 队列已处理完毕或无法继续时,以简短摘要说明已完成或受阻状态。

可接受的回复模式

用户进行以下操作时,当前步骤仍保持活动状态:

  • 选择一个选项标记。
  • 请求澄清。
  • 要求提供更多自动化。
  • 粘贴证据或命令输出。
  • 表示步骤已完成。
  • 表示步骤受阻。
  • 要求将步骤拆分成更小的子步骤。

接受原生选择器选项、自然语言回复和明确的选择器标记。如果用户的回复含糊不清, 不要推进;重述当前活动步骤,并仅询问缺失的澄清信息。

故障排查

症状可能原因修复方法
用户被队列压得喘不过气显示的步骤太多或标题不清晰使用更短的标题和更严格的依赖顺序重新规范化队列。
步骤反复重新打开验证方法过于含糊或证据不足完善验证方法,在 Resolution Check 中明确列出具体证据。
会话状态似乎丢失状态更改后未持久化检查 .tmp/step-by-step/ 中最新的会话文件夹,并对照 queue.json 核对 session-state.json。
用户想跳过阻塞步骤该步骤阻塞了队列中的剩余步骤将该步骤标记为 blocked,说明对下游步骤的影响,并保留队列。
跨技能交接时丢失步骤上下文未传递会话目录路径交接输出中始终包含会话目录路径、currentStepId 和 queue.json。

常见陷阱

  1. 忘记初始化会话文件夹。 在呈现第一个待执行步骤之前,务必创建带时间戳的文件夹。参见 references/session-artifact-contract.md。
  2. 混淆仅限 Agent 和仅限用户执行的操作。 将 Agent 可以执行的操作与用户必须执行的操作分开。用户操作放在 What You Need To Do 中,Agent 操作放在 What I Can Do For You 中。
  3. 对含糊的回复继续推进。 如果用户的回复不明确,请重述当前步骤并请求澄清,不要猜测。
  4. 状态变更后未持久化。 在队列规范化后、每次呈现当前步骤说明后、每次证据变更后,以及移交任何技能之前,都要持久化状态。
  5. 将子步骤作为顶层步骤呈现。 如果一个步骤被拆分,请用新增的子步骤更新规范化队列并重新编号,不要临时呈现。
  6. 省略前置条件摘要。 每份步骤说明都必须包含前置条件摘要,让用户了解依赖关系。

跨技能协调

  • plan/SKILL.md — 当计划中包含手动执行、设置或验证步骤,且需要交互式引导而非一次性列出时使用。
  • study/SKILL.md — 当已完成的研究需要移交部署、复现或验证清单时使用。
  • decisions/SKILL.md — 在多个选项中做出选择时使用 decisions;确定方向后,如果用户需要引导式执行,则返回此处。
  • chooseable-options/SKILL.md — 负责呈现打印令牌和原生的 Ask User 选项。
  • research-online/SKILL.md — 当解决当前步骤前需要核查最新外部文档或产品行为时使用。
  • instrumentation/SKILL.md — 仅当 references/step-presentation-contract.md 有规定时,才提供 STEP_<ID>_AUTOMATE_IMPROVE_INSTRUMENTATION。选择该选项并不会解决该步骤。

移交输出

移交给上游工作流技能
  • 含步骤状态的规范化队列。
  • 当前待执行的 STEP_ID。
  • 已解决步骤收集到的证据。
  • 任何未解决的当前步骤的阻碍摘要。
  • 分步会话目录路径。
  • 建议的下一步或明确的阻塞状态。
移交给 plan/SKILL.md
  • 从计划中提取的手动步骤队列。
  • 已完成和剩余步骤。
  • 交互循环期间产生的验证证据。
  • 应重新添加到计划中作为阻碍或后续事项的任何步骤。
移交给 instrumentation/SKILL.md

仅当操作员选择 STEP_<ID>_AUTOMATE_IMPROVE_INSTRUMENTATION 后:

  • STEP_ID
  • 会话目录
  • 该步骤要验证的行为
  • 一次运行必须回答的问题

在收到证据之前,该步骤保持待执行状态。此移交不会解决该步骤。

在明确请求时移交给下游任务跟踪
  • 跟踪器 URL/ID(如有)。
  • 会话期间完成的清单项目。
  • 值得持久化到任务正文中的证据或输出片段。
  • 分步会话目录路径。
  • 必须在任务跟踪中保持可见的延期或阻塞步骤。

按任务类型加载参考文件

对于诊断请求,在加载任何参考文件之前,先检查 .tmp/step-by-step/ 中最新的会话文件夹。

任务类型加载这些文件跳过
设置或恢复会话session-artifact-contract.mdstep-presentation-contract.md
呈现或审查步骤说明step-presentation-contract.mdsession-artifact-contract.md
调试持久化或恢复问题session-artifact-contract.mdstep-presentation-contract.md
优化步骤结构或选项step-presentation-contract.mdsession-artifact-contract.md

仅加载任务所需的部分。

本地语料库布局

references/ 文件夹是扁平结构(没有子文件夹),包含 2 个文件:

文件描述
session-artifact-contract.md必需的 .tmp/ 会话文件夹布局、队列快照和步骤记录的文件名、持久化时机规则,以及恢复规则。
step-presentation-contract.md活动步骤数据包的确切结构、必需的可选择选项组,以及解决情况检查规则。

步骤生成模板

呈现活动步骤时使用此模板。为每个部分填写具体内容。

活动步骤数据包结构
# Step: [STEP_ID] - [Concise title]
**Status:** active
**Quality Tier:** [Minimal | Standard | Full]
**Owner:** [user | agent | shared]
**Session:** [path to session folder]

## What This Step Does
[Brief description of what needs to happen]

## Prerequisites
- [ ] [Prerequisite step ID]: [What must be completed first]
- [ ] [Artifact path]: [Required artifact or context]

## What I Can Do For You
[Any agent-verifiable checks or automation]

## What You Need To Do
[Specific manual action with clear instructions]

## Verification Method
[How to verify this step is complete]
- Required evidence: [Specific output, screenshot, or confirmation]
- Agent will verify: [What the agent can check automatically]

## AUTOMATION_OPTIONS
- `STEP_[ID]_AUTOMATE_[ACTION]`: [Description of automation]

## HELP_OPTIONS
- `STEP_[ID]_HELP_[TOPIC]`: [Description of help topic]

## CONTROL_OPTIONS
- `STEP_[ID]_SKIP`: Skip this step
- `STEP_[ID]_DEFER`: Defer to later
- `STEP_[ID]_SPLIT`: Split into substeps

## Next Step
**Following:** [Next STEP_ID or "Queue exhausted"]

STEP_[ID]_AUTOMATE_IMPROVE_INSTRUMENTATION 并非每个数据包都必需。仅当 references/step-presentation-contract.md 指出该验证属于项目行为,且预检未发现命令或页面时,才将其包含在内。

步骤规范化模板
{
  "STEP_ID": "STEP_001",
  "title": "Concise step title",
  "owner": "user|agent|shared",
  "prerequisites": ["STEP_000"],
  "verificationMethod": "How to verify completion",
  "acceptableEvidence": ["output", "screenshot", "confirmation"],
  "status": "pending|active|resolved|deferred|blocked",
  "automations": ["what the agent can offer"],
  "options": {
    "automation": ["STEP_001_AUTOMATE_*"],
    "help": ["STEP_001_HELP_*"],
    "control": ["STEP_001_SKIP", "STEP_001_DEFER", "STEP_001_SPLIT"]
  }
}

快捷命令

# Initialize a step-by-step session
# Runner alternatives: bunx tsx / pnpm dlx tsx / deno run -A npm:tsx / node --import tsx / yarn dlx tsx
npx tsx .agents/skills/step-by-step/scripts/init-session.ts --name <session-name> --source <source-plan-or-study>

# Check step completeness (12-item checklist)
npx tsx .agents/skills/step-by-step/scripts/check-step-completeness.ts --step <step-id>
npx tsx .agents/skills/step-by-step/scripts/check-step-completeness.ts --session <session-dir>

# Normalize a step queue from an artifact
npx tsx .agents/skills/step-by-step/scripts/normalize-queue.ts --source <artifact-path>

# Verify step resolution
npx tsx .agents/skills/step-by-step/scripts/verify-step.ts --step <step-id> --evidence <evidence-path>

捆绑资源

文件描述
assets/icon-small.svg用于 IDE Agent 列表的小型技能图标。
assets/icon-large.png用于 IDE Agent 列表的大型技能图标。

指导一致性:按照 AGENTS.md 一致地应用仓库指导。如果更新此技能文件,请运行 npm run skills:sync,让 IDE 立即获取新版本。

评论

支持 Markdown