milestones
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMilestones
Milestones
Command-driven GitHub milestone skill. Parse the first token as a command when it matches the table; otherwise map clear intent.
Default: if the user gives only a milestone identifier (title, number, URL) and optional details — no admin command — execute Complete the work. Do not ask which admin command to run. Do not stop at // alone.
statuscritiqueplanAdmin commands shape the milestone when explicitly requested; they are not the default path.
命令驱动的 GitHub 里程碑技能。当第一个词匹配下表中的命令时,将其解析为命令;否则根据明确意图映射。
默认行为: 如果用户仅提供里程碑标识符(标题、编号、URL)和可选详情——无管理命令——则执行 Complete the work。不要询问要运行哪个管理命令。不要仅停留在 // 步骤。
statuscritiqueplan仅在用户明确请求时,管理命令才会调整里程碑;它们不是默认路径。
Operating contract
操作契约
Shared by every DecisionNerd/dev-skills skill. Canonical copy: .
handbook/concepts/14-operating-contract.md- Define done first. Before using tools, write the finish line in one or two lines: the acceptance criteria (existing issue AC, BDD scenarios, tests, or contract when they exist; otherwise propose them and say where they should live) and the evidence that will prove them. Re-check it before reporting done. Never report done on work you did not verify.
- Requested scope sets the finish line. A question ("is it ready?", "why is it broken?", "what next?") ends with the answer and a line naming the exact next invoke. An outcome request ("fix", "finish", "land", "#42") continues through the chain (diagnose → fix → test → check-readiness → merge-it) until the outcome or a real blocker. Do not end a turn with "Do you want me to…?" for in-scope, in-repo work.
Next: - Stop only for real blockers. Stop and ask only when you cannot continue without the user, or before: deleting data or unmerged work, force-push or history rewrite, changing anything outside this repository (GitHub objects, deployments, live data, production or paid resources, external services), or leaving the requested scope, unless the user's request already named that exact action. Keep the harness's permission prompts for risky commands. Otherwise keep going and put status notes in the same message as the next action.
- Ask well, once. For a genuine question use the harness's structured question tool when it has one (Claude Code: ; Codex:
AskUserQuestionwhen the current mode supports it) with concrete options; otherwise plain text with numbered options. Treat the answer as settled; do not re-open earlier verdicts, plans, or answers unless asked.request_user_input - Fan out when work is parallel. Use subagents for independent reads (repo survey, evidence gathering, per-option research, per-area audits) and for independent verification (a reviewer that did not write the change). Writes stay single-owner per path set and sequential. Brief every child with goal, done-when, constraints, must-not, and return shape; verify each child's result before consolidating. Use Claude Code's tool only for orchestration across many subagents that truly needs it; it is expensive.
Workflow - Pick the model tier per child; defer to routing config. If the harness or user config already routes subagents (Claude Code or a CLAUDE.md rule; Codex
CLAUDE_CODE_SUBAGENT_MODELor a role'sagents.default_subagent_model; Cursor a custom subagent'sagents.<name>.config_filefrontmatter), follow it and do not pass a model. Otherwise: mechanical search or inventory → fast/cheap (Claude Codemodel:); implementation and evidence gathering → mid (haiku); planning, review, adversarial verification → top (sonnetoropus). In Claude Code set it with thefabletoolAgentparam or agent frontmattermodel; in Codex pass a spawn model or setmodel:in the role's config file; in Cursor setmodel(defaultmodel:) ininherit. Where the harness cannot choose, children inherit the parent model or the harness picks one (Cursor's built-in Explore/Bash/Browser subagents pick per subtask); say which in the status note..cursor/agents/*.md - Keep a checklist on long runs. For more than about five steps or work that crosses skills, keep at the repo root and tick items as they finish. Do not commit it unless the repo already tracks one.
TASKS.md - Close every run with three headings. (the one genuine question or blocker, else "none");
Blocked on me(files, commits, GitHub objects, deploys, else "nothing");Changed(evidence, verdict, andFound).Next: <exact invoke>
所有 DecisionNerd/dev-skills 技能共享此契约。官方副本:。
handbook/concepts/14-operating-contract.md- 先定义完成标准。 使用工具前,用一两行写出终点:验收标准(若存在现有 issue 的 AC、BDD 场景、测试或契约,则使用它们;否则提出验收标准并说明应存放的位置)以及证明完成的证据。在报告完成前重新检查。永远不要对未验证的工作报告完成。
- 请求的范围决定终点。 对于问题(“准备好了吗?”、“为什么坏了?”、“下一步是什么?”),以答案和一行 结尾,明确指出下一次要调用的操作。对于结果请求(“修复”、“完成”、“上线”、“#42”),则沿着链路(诊断 → 修复 → 测试 → check-readiness → merge-it)继续执行,直到达成结果或遇到真正的阻塞。对于范围内、仓库内的工作,不要以“你想让我…吗?”结束一轮对话。
Next: - 仅因真正的阻塞停止。 仅在没有用户就无法继续时,或在以下操作前停止并询问:删除数据或未合并的工作、强制推送或历史重写、修改此仓库之外的任何内容(GitHub 对象、部署、实时数据、生产或付费资源、外部服务)、超出请求范围——除非用户的请求已经明确指定了该操作。对于风险命令,保留运行框架的权限提示。否则继续执行,并将状态说明与下一步操作放在同一条消息中。
- 一次问清楚,问到位。 对于真正的问题,如果运行框架有结构化提问工具(Claude Code:;Codex:当前模式支持时使用
AskUserQuestion),则使用该工具并提供具体选项;否则使用带编号选项的纯文本。将答案视为最终结论;除非用户要求,否则不要重新讨论之前的结论、计划或答案。request_user_input - 并行工作时拆分任务。 对于独立的读取操作(仓库调研、证据收集、各选项研究、各领域审计)和独立验证(未编写变更的评审者),使用 subagent。写入操作在每条路径上保持单一负责人且顺序执行。向每个子 agent 说明目标、完成条件、约束、禁止事项和返回格式;在合并前验证每个子 agent 的结果。仅当确实需要编排大量 subagent 时,才使用 Claude Code 的 工具;该工具成本较高。
Workflow - 为每个子 agent 选择模型等级;遵循路由配置。 如果运行框架或用户配置已经为 subagent 配置了路由(Claude Code 的 或 CLAUDE.md 规则;Codex 的
CLAUDE_CODE_SUBAGENT_MODEL或角色的agents.default_subagent_model;Cursor 自定义 subagent 的agents.<name>.config_file前置元数据),则遵循该配置,不要传递模型参数。否则:机械搜索或盘点 → 快速/低成本(Claude Codemodel:);实现和证据收集 → 中等(haiku);规划、评审、对抗性验证 → 顶级(sonnet或opus)。在 Claude Code 中,通过fable工具的Agent参数或 agent 前置元数据的model设置;在 Codex 中,传递生成模型或在角色的配置文件中设置model:;在 Cursor 中,在model中设置.cursor/agents/*.md(默认model:)。如果运行框架无法选择,子 agent 将继承父模型或由框架选择(Cursor 内置的 Explore/Bash/Browser subagent 会根据子任务选择);请在状态说明中注明使用的模型。inherit - 长时间运行时保留检查清单。 对于超过约五个步骤或跨技能的工作,在仓库根目录保留 ,并在完成时勾选项目。除非仓库已经跟踪该文件,否则不要提交它。
TASKS.md - 每次运行结束时包含三个标题。 (一个真正的问题或阻塞,否则为“none”);
Blocked on me(文件、提交、GitHub 对象、部署,否则为“nothing”);Changed(证据、结论,以及Found)。Next: <具体调用>
Commands
命令
| Command | What it does |
|---|---|
| Create a milestone (title, description, due date) after draft + approval |
| Edit title, description, or due date |
| Critique milestone purpose, scope, issue set, and close criteria |
| Reduce milestone scope; move issues out or to later milestones |
| Expand milestone deliberately; pull in related open issues with rationale |
| Consolidate two milestones (move issues, close/redirect the loser) |
| Clean description noise, fix due dates, tidy issue membership |
| Sharpen description and close criteria without changing membership |
| Plain-language explanation of the milestone for the user |
| Improve/add repo release notes, changelog, or runbook for this milestone |
| Close milestone when issues are done (or with explicit incomplete waiver) |
| Progress: open/closed issue counts, blockers, due date risk |
| Propose which open issues belong; optional tracker issue via |
| List open (and optionally closed) milestones |
| List commands |
Target: milestone title, number, or URL. Use / when available, or .
gh apigh milestonegh api repos/{owner}/{repo}/milestones| 命令 | 功能 |
|---|---|
| 起草并获得批准后创建里程碑(标题、描述、截止日期) |
| 编辑标题、描述或截止日期 |
| 评审里程碑的目标、范围、issue 集合和关闭标准 |
| 缩小里程碑范围;将 issue 移出或移至后续里程碑 |
| 有计划地扩大里程碑范围;说明理由后拉入相关的开放 issue |
| 合并两个里程碑(移动 issue,关闭/重定向被合并的里程碑) |
| 清理描述中的冗余内容、修正截止日期、整理 issue 归属 |
| 在不改变成员的前提下,优化描述和关闭标准 |
| 用通俗易懂的语言向用户解释里程碑 |
| 完善/新增该里程碑的仓库发布说明、变更日志或运行手册 |
| 当 issue 完成时关闭里程碑(或在明确接受未完成项的情况下关闭) |
| 进度情况:开放/关闭 issue 数量、阻塞项、截止日期风险 |
| 提议哪些开放 issue 应纳入;可通过 |
| 列出开放(可选包含已关闭)的里程碑 |
| 列出所有命令 |
目标:里程碑标题、编号或 URL。优先使用 / ,或使用 。
gh apigh milestonegh api repos/{owner}/{repo}/milestonesRouting
路由规则
- No argument: open milestones; if exactly one is the obvious focus → Complete the work on it; else ask via the structured question tool — options: complete a listed milestone /
list/create.plan - First word is a command: run it; remainder is the target. After admin work, state and run it when the user signaled progress.
Next: milestones <name> - Clear admin intent (“narrow the launch milestone”, “how’s the v1.2 milestone?” as status-only): map and proceed.
- Milestone identifier ± details, no admin command (, title, number, or
v1.2): Complete the work — execute, don’t menu.v1.2 ship the API issues
Before mutating GitHub (create/edit milestone, move issues, close), state the proposed change; ask one structured question with options . Skip when the user’s request already named that exact action. Completion handoffs follow the target skill’s approval rules.
<do it> / revise / stop- 无参数:开放里程碑;如果恰好有一个是明显的焦点 → 对其执行 Complete the work;否则通过结构化提问工具询问——选项:完成列出的某个里程碑 /
list/create。plan - 第一个词是命令:运行该命令;其余部分为目标。完成管理工作后,说明 ,并在用户表示要继续推进时执行。
Next: milestones <名称> - 明确的管理意图(例如“缩小发布里程碑的范围”、“v1.2 里程碑进展如何?”仅需状态查询):映射对应命令并继续。
- 里程碑标识符 ± 详情,无管理命令(、标题、编号,或“v1.2 发布 API 相关 issue”):执行 Complete the work——直接执行,不要显示菜单。
v1.2
在对 GitHub 进行变更操作前(创建/编辑里程碑、移动 issue、关闭),说明拟议的变更;提出一个结构化问题,选项为 。如果用户的请求已经明确指定了该操作,则跳过。完成交接遵循目标技能的审批规则。
<执行> / 修改 / 停止Shared operations
共享操作
Use references/ops.md for critique/narrow/widen/merge/clean/refine/explain/document as applied to milestones.
里程碑相关的 critique/narrow/widen/merge/clean/refine/explain/document 操作,请参考 references/ops.md。
Complete the work
Complete the work
Milestone admin ( / / / / …) organizes the slice. Completing the work means finishing the open issues and shipping the release.
createplancritiquenarrow里程碑管理( / / / / …)负责规划任务切片。完成工作意味着解决所有开放 issue 并发布版本。
createplancritiquenarrowDefault path (identifier ± details)
默认路径(标识符 ± 详情)
When routed here (no admin command):
- Resolve the milestone; list open issues and blockers ().
gh issue list --milestone ... - Fold any user details into priority (which theme/issue to hit first).
- Pick the critical-path open issue (or release path if issues are done) and run the smallest execution skill from the table now. One-line why — no recommend-only menu.
- Chain forward issue-by-issue through Integrate until blocked on a required GitHub mutation or the user stops you. When the slice is releasable and policy defines a later phase, state ; run it only when the user requests that phase. For independent open issues in the slice, fan out one subagent per issue with non-overlapping paths (mid tier); the parent verifies each result before merge-it. This is the one place a Claude Code
Next: merge-it <next-phase>is warranted when there are many issues — note that it is expensive. KeepWorkflowacross the chain.TASKS.md - If membership is clearly wrong and blocks progress, do the minimum /
planfix, then continue execution on the remnant.narrow
当路由到此处时(无管理命令):
- 解析里程碑;列出开放 issue 和阻塞项()。
gh issue list --milestone ... - 将用户提供的所有详情纳入优先级考量(确定优先处理哪个主题/issue)。
- 选择关键路径上的开放 issue(如果 issue 已完成则选择发布路径),并立即运行下表中最合适的最小执行技能。用一行说明理由——不要只提供推荐菜单。
- 通过 Integrate 逐个 issue 链式推进,直到遇到需要 GitHub 变更的阻塞或用户停止。当任务切片可发布且策略定义了后续阶段时,说明 ;仅在用户请求该阶段时执行。对于切片中独立的开放 issue,为每个 issue 分配一个 subagent,路径不重叠(中等模型等级);父 agent 在 merge-it 前验证每个结果。当 issue 数量很多时,这是唯一值得使用 Claude Code
Next: merge-it <下一阶段>工具的场景——请注意其成本较高。在整个链式执行过程中保留Workflow。TASKS.md - 如果 issue 归属明显错误且阻塞了进度,进行最小程度的 /
plan修正,然后继续处理剩余的任务。narrow
After explicit admin commands
显式管理命令之后
After , , , , , state (or / as fits); run it when the user already signaled finish/ship.
statuscritiqueexplainplancreateNext: milestones <name>recon issue #Nmerge-it| Situation | Execute |
|---|---|
| Open issue needs a plan | |
| Bug blocking the milestone | |
| Issue ready to implement | implement (or |
| Need tests / evidence on a key issue | |
| Scope done on an issue? | |
| PR open for milestone work | |
| Issues done; staging / production release | |
| Wrong membership / too much WIP | |
| Missing tracker/closure issue | |
| Unsure which issue first | |
Do not default to when a milestone identifier was given. Prefer execute on the critical-path issue.
milestones refine|critique|clean|status在执行 、、、、 之后,说明 (或根据情况使用 / );当用户已经表示要完成/发布时执行。
statuscritiqueexplainplancreateNext: milestones <名称>recon issue #Nmerge-it| 场景 | 执行操作 |
|---|---|
| 开放 issue 需要规划 | |
| Bug 阻塞了里程碑 | |
| issue 已准备好实现 | 实现(如果是修复类问题则用 |
| 关键 issue 需要测试/证据 | |
| 某个 issue 的范围已完成? | |
| 里程碑相关的 PR 已开放 | |
| issue 已完成;预发布/生产环境发布 | |
| 归属错误 / WIP 过多 | |
| 缺少跟踪/关闭 issue | |
| 不确定先处理哪个 issue | |
当提供了里程碑标识符时,不要默认执行 。优先执行关键路径上的 issue。
milestones refine|critique|clean|statusCreate / plan / status / close
创建 / 规划 / 状态 / 关闭
create
create
- Read repo conventions (, existing milestone names).
AGENTS.md - Draft title, description (purpose, in-scope themes, out-of-scope, close criteria), optional due date.
- State the draft; ask one structured question with options . Create via API on approval.
create / revise / stop - State (usually execute critical-path
Next: milestones <name>after a quickrecon issue, orplanfor a tracker/closure issue); run it when the user wanted a working milestone, not just the shell.issues create
- 读取仓库约定(、现有里程碑名称)。
AGENTS.md - 起草标题、描述(目标、范围内主题、范围外内容、关闭标准)、可选截止日期。
- 说明草稿内容;提出一个结构化问题,选项为 。获得批准后通过 API 创建。
create / revise / stop - 说明 (通常在快速
Next: milestones <名称>后执行关键路径的plan,或为跟踪/关闭 issue 执行recon issue);当用户需要一个可用的里程碑而不仅仅是空壳时执行。issues create
plan
plan
- Load the milestone and candidate open issues (and unassigned related issues).
gh issue list --milestone ... - Propose adds/removes with one-line rationale each.
- State proposed adds/removes; ask one structured question with options . On approval, edit issue milestones accordingly.
apply / revise / stop - If a tracker/closure issue is needed, hand off to with tracker+closure guidance.
issues create - Execute the first issue (or diagnose/fix) — not only “membership updated.”
recon issue #N
- 加载里程碑和候选开放 issue(以及未分配的相关 issue)。
gh issue list --milestone ... - 提议添加/移除的 issue,每个附一行理由。
- 说明拟议的添加/移除内容;提出一个结构化问题,选项为 。获得批准后,相应编辑 issue 的里程碑归属。
apply / revise / stop - 如果需要跟踪/关闭 issue,将任务交接给 ,并提供跟踪+关闭的指导。
issues create - 执行第一个 issue(或诊断/修复)——不要只停留在“成员已更新”。
recon issue #N
status
status
Report: due date, open vs closed counts, % complete, top blockers, overdue risk. After an explicit command, state (or on the blocker). On default routing, skip standalone status and go straight to completion.
statusNext: milestones <name>recon issue #N报告内容:截止日期、开放与关闭数量、完成百分比、主要阻塞项、逾期风险。在显式执行 命令后,说明 (或针对阻塞项的 )。在默认路由下,跳过单独的状态查询,直接进入完成流程。
statusNext: milestones <名称>recon issue #Nclose
close
Only when open issues are closed, moved out, or the user explicitly accepts closing with leftovers (document waivers in the milestone description or a closing comment on a tracker issue). If close criteria need a release train, recommend Stage/Ship phases instead of premature close.
merge-it仅当开放 issue 已关闭、已移出,或用户明确接受保留未完成项关闭时(需在里程碑描述或跟踪 issue 的关闭评论中记录豁免情况)。如果关闭标准需要发布流程,推荐使用 Stage/Ship 阶段,而非提前关闭。
merge-itOutput
输出
Blocked on me
Blocked on me
none
none
Changed
Changed
nothing
nothing
Found
Found
Next: milestones <name> (or the execution skill that best fits the current state)
Next: milestones <名称>(或最符合当前状态的执行技能)
Related skills
相关技能
See Complete the work. Issues: . Plans: / . Land and release: / (Stage/Ship phases).
issuesrecon issuerecon milestonepullsmerge-it参见 Complete the work。Issue 相关:。规划相关: / 。上线和发布: / (Stage/Ship 阶段)。
issuesrecon issuerecon milestonepullsmerge-itGrounding
基础依据
This skill’s TTPs are grounded in current engineering baselines (DORA, GitHub Docs, Fowler/Beck, Google SRE & SWE book, OpenTelemetry, OWASP LLM / NIST AI RMF, Diátaxis — see handbook ).
sources.mdTime-boxed releasable slices over endless backlog; keep milestone WIP honest (DORA small batches).
Handbook card: .
handbook/practices/milestones.md本技能的 TTPs 基于当前工程最佳实践(DORA、GitHub Docs、Fowler/Beck、Google SRE & SWE 书籍、OpenTelemetry、OWASP LLM / NIST AI RMF、Diátaxis——参见 handbook )。
sources.md采用有时间限制的可发布切片,而非无尽的待办列表;保持里程碑 WIP 真实可控(DORA 小批量原则)。
手册卡片:。
handbook/practices/milestones.md