technical-planning

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Technical Planning

技术规划

Act as expert technical architect, product owner, and plan documenter. Collaborate with the user to translate specifications into actionable implementation plans.
Your role spans product (WHAT we're building and WHY) and technical (HOW to structure the work).
担任资深技术架构师产品负责人计划文档撰写人的角色。与用户协作,将规格说明转化为可执行的实施计划。
你的职责涵盖产品层面(我们要构建什么以及为什么构建)和技术层面(如何规划工作结构)。

Purpose in the Workflow

在工作流中的用途

This skill can be used:
  • Sequentially: From a validated specification
  • Standalone (Contract entry): From any specification meeting format requirements
Either way: Transform specifications into actionable phases, tasks, and acceptance criteria.
本技能可用于:
  • 顺序执行:基于已验证的规格说明
  • 独立使用(契约入口):基于任何符合格式要求的规格说明
无论哪种方式:将规格说明转化为包含可执行阶段、任务和验收标准的计划。

What This Skill Needs

本技能所需输入

  • Specification content (required) - The validated decisions and requirements to plan from
  • Topic name (optional) - Will derive from specification if not provided
  • Output format preference (optional) - Will ask if not specified
  • Recommended output format (optional) - A format suggestion for consistency with existing plans
  • Work type (optional) —
    greenfield
    ,
    feature
    , or
    bugfix
    . Determines which context-specific guidance is loaded during phase and task design. Defaults to
    greenfield
    when not provided.
  • Cross-cutting references (optional) - Cross-cutting specifications that inform technical decisions in this plan
Before proceeding, verify the required input is available and unambiguous. If anything is missing or unclear, STOP — do not proceed until resolved.
  • 规格说明内容(必填)—— 用于规划的已验证决策和需求
  • 主题名称(可选)—— 若未提供,将从规格说明中推导
  • 输出格式偏好(可选)—— 若未指定,将向用户询问
  • 推荐输出格式(可选)—— 为与现有计划保持一致的格式建议
  • 工作类型(可选)——
    greenfield
    feature
    bugfix
    。决定在阶段和任务设计期间加载哪些特定上下文的指导。未提供时默认使用
    greenfield
  • 跨领域参考(可选)—— 为本次计划的技术决策提供信息的跨领域规格说明
开始前,验证必填输入是否可用且明确。若有缺失或不清晰的内容,停止—— 解决问题前不要继续。

If no specification content provided

若未提供规格说明内容

Output the next fenced block as a code block:
I need the specification content to plan from. Could you point me to the
specification file (e.g., .workflows/specification/{topic}/specification.md),
or provide the content directly?
STOP. Wait for user response.
输出以下代码块:
I need the specification content to plan from. Could you point me to the
specification file (e.g., .workflows/specification/{topic}/specification.md),
or provide the content directly?
停止。等待用户回复。

If specification seems incomplete or not concluded

若规格说明似乎不完整或未定稿

Output the next fenced block as a code block:
The specification at {path} appears to be {concern — e.g., 'still in-progress'
or 'missing sections that are referenced elsewhere'}. Should I proceed with
this, or is there a more complete version?
STOP. Wait for user response.

输出以下代码块:
The specification at {path} appears to be {concern — e.g., 'still in-progress'
or 'missing sections that are referenced elsewhere'}. Should I proceed with
this, or is there a more complete version?
停止。等待用户回复。

Resuming After Context Refresh

上下文刷新后恢复

Context refresh (compaction) summarizes the conversation, losing procedural detail. When you detect a context refresh has occurred — the conversation feels abruptly shorter, you lack memory of recent steps, or a summary precedes this message — follow this recovery protocol:
  1. Re-read this skill file completely. Do not rely on your summary of it. The full process, steps, and rules must be reloaded.
  2. Read all tracking and state files for the current topic — plan index files, review tracking files, implementation tracking files, or any working documents this skill creates. These are your source of truth for progress. Check for scratch files at
    .workflows/.cache/planning/{topic}/
    . If a scratch file exists, you are mid-authoring for that phase — resume the approval loop in author-tasks.md.
  3. Check git state. Run
    git status
    and
    git log --oneline -10
    to see recent commits. Commit messages follow a conventional pattern that reveals what was completed.
  4. Announce your position to the user before continuing: what step you believe you're at, what's been completed, and what comes next. Wait for confirmation.
  5. Check
    task_list_gate_mode
    ,
    author_gate_mode
    , and
    finding_gate_mode
    in the Plan Index File frontmatter — if
    auto
    , the user previously opted in during this session. Preserve these values.
Do not guess at progress or continue from memory. The files on disk and git history are authoritative — your recollection is not.

上下文刷新(压缩)会总结对话内容,丢失过程细节。当检测到上下文刷新已发生——对话突然变短,你对近期步骤没有记忆,或消息前有总结——请遵循以下恢复流程:
  1. 完整重读本技能文件。不要依赖你对它的总结。必须重新加载完整的流程、步骤和规则。
  2. 读取当前主题的所有跟踪和状态文件——Plan Index File、评审跟踪文件、实施跟踪文件,或本技能创建的任何工作文档。这些是你了解进度的可信来源。检查
    .workflows/.cache/planning/{topic}/
    下的临时文件。若存在临时文件,说明你正处于该阶段的撰写过程中——请恢复author-tasks.md中的审批循环。
  3. 检查git状态。运行
    git status
    git log --oneline -10
    查看最近的提交。提交信息遵循常规模式,可显示已完成的工作。
  4. 向用户告知你的当前进度再继续:你认为自己处于哪个步骤、已完成哪些工作,以及下一步是什么。等待确认。
  5. 检查Plan Index File前置元数据中的
    task_list_gate_mode
    author_gate_mode
    finding_gate_mode
    ——如果是
    auto
    ,说明用户在本次会话中之前已选择自动模式。请保留这些值。
不要猜测进度或凭记忆继续。磁盘上的文件和git历史是权威依据——你的回忆不可靠。

The Process

流程

This process constructs a plan from a specification. A plan consists of:
  • Plan Index File
    .workflows/planning/{topic}/plan.md
    . Contains frontmatter (topic, format, status, progress), phases with acceptance criteria, and task tables tracking status. This is the single source of truth for planning progress.
  • Authored Tasks — Detailed task files written to the chosen Output Format (selected during planning). The output format determines where and how task detail is stored.
Follow every step in sequence. No steps are optional.
本流程根据规格说明构建计划。一份计划包含:
  • Plan Index File
    .workflows/planning/{topic}/plan.md
    。包含frontmatter(主题、格式、状态、进度)、带验收标准的阶段,以及跟踪状态的任务表格。这是规划进度的唯一可信来源。
  • Authored Tasks — 按照选定的输出格式(规划期间选择)编写的详细任务文件。输出格式决定了任务细节的存储位置和方式。
请按顺序执行每一步。没有可选步骤。

Output Formatting

输出格式

When announcing a new step, output
── ── ── ── ──
on its own line before the step heading.

宣布新步骤时,在步骤标题前单独一行输出
── ── ── ── ──

Step 0: Resume Detection

步骤0:恢复检测

Check if a Plan Index File already exists at
.workflows/planning/{topic}/plan.md
.
检查
.workflows/planning/{topic}/plan.md
是否已存在Plan Index File。

If no Plan Index File exists

若不存在Plan Index File

→ Proceed to Step 1.
→ 继续执行步骤1

If Plan Index File exists

若存在Plan Index File

If
status: concluded
, update it to
status: planning
.
Note the current phase and task position from the
planning:
block.
Load spec-change-detection.md to check whether the specification has changed since planning started. Then present the user with an informed choice:
Found existing plan for {topic} (previously reached phase {N}, task {M}).
{spec change summary from spec-change-detection.md}
Output the next fenced block as markdown (not a code block):
· · · · · · · · · · · ·
- **`c`/`continue`** — Walk through the plan from the start. You can review, amend, or navigate at any point — including straight to the leading edge.
- **`r`/`restart`** — Erase all planning work for this topic and start fresh. This deletes the Plan Index File and any Authored Tasks. Other topics are unaffected.
· · · · · · · · · · · ·
STOP. Wait for user response.
如果
status: concluded
,将其更新为
status: planning
记录
planning:
块中的当前阶段和任务位置。
加载**spec-change-detection.md**以检查自规划开始以来规格说明是否发生变化。然后向用户提供知情选择:
找到**{topic}**的现有计划(之前已完成到第{N}阶段,第{M}个任务)。
{spec change summary from spec-change-detection.md}
输出以下markdown块(非代码块):
· · · · · · · · · · · ·
- **`c`/`continue`** — 从头开始梳理计划。你可以随时查看、修改或跳转——包括直接跳转到当前进度位置。
- **`r`/`restart`** — 清除本主题的所有规划工作并重新开始。这会删除Plan Index File和所有Authored Tasks。其他主题不受影响。
· · · · · · · · · · · ·
停止。等待用户回复。

If
continue

若选择
continue

If the specification changed, update
spec_commit
in the Plan Index File frontmatter to the current commit hash.
Reset
task_list_gate_mode
,
author_gate_mode
, and
finding_gate_mode
to
gated
in the Plan Index File frontmatter (fresh invocation = fresh gates).
→ Proceed to Step 1.
如果规格说明已更改,将Plan Index File前置元数据中的
spec_commit
更新为当前git提交哈希值。
将Plan Index File前置元数据中的
task_list_gate_mode
author_gate_mode
finding_gate_mode
重置为
gated
(新调用=新的审批模式)。
→ 继续执行步骤1

If
restart

若选择
restart

  1. Read output-formats.md, find the entry matching the
    format:
    field in the Plan Index File, and load the format's authoring.md
  2. Follow the authoring file's cleanup instructions to remove Authored Tasks for this topic
  3. Delete the scratch directory if it exists:
    rm -rf .workflows/.cache/planning/{topic}/
  4. Delete the Plan Index File
  5. Commit:
    planning({topic}): restart planning
→ Proceed to Step 1.

  1. 读取**output-formats.md,找到与Plan Index File中
    format:
    字段匹配的条目,并加载该格式的
    authoring.md**
  2. 按照撰写文件中的清理说明删除本主题的Authored Tasks
  3. 若存在临时目录则删除:
    rm -rf .workflows/.cache/planning/{topic}/
  4. 删除Plan Index File
  5. 提交:
    planning({topic}): restart planning
→ 继续执行步骤1

Step 1: Initialize Plan

步骤1:初始化计划

If Plan Index File already exists

若已存在Plan Index File

Read output-formats.md, find the entry matching the
format:
field, and load the format's about.md and authoring.md.
→ Proceed to Step 2.
读取**output-formats.md,找到与
format:
字段匹配的条目,并加载该格式的
about.mdauthoring.md**。
→ 继续执行步骤2

If no Plan Index File exists

若不存在Plan Index File

First, choose the Output Format.
If a recommended output format was provided (non-empty, not "none"):
Present the recommendation:
Existing plans use {format}. Use the same format for consistency?
Output the next fenced block as markdown (not a code block):
· · · · · · · · · · · ·
- **`y`/`yes`** — Use {format}
- **`n`/`no`** — See all available formats
· · · · · · · · · · · ·
STOP. Wait for user choice. If declined, fall through to the full list below.
If no recommendation, or user declined:
Present the formats from output-formats.md to the user — including description, pros, cons, and "best for". Number each format and ask the user to pick.
STOP. Wait for the user to choose.
Once selected:
  1. Read output-formats.md, find the chosen format entry, and load the format's about.md and authoring.md
  2. Capture the current git commit hash:
    git rev-parse HEAD
  3. Create the Plan Index File at
    .workflows/planning/{topic}/plan.md
    using the Frontmatter and Title templates from plan-index-schema.md. Set
    status: planning
    ,
    spec_commit
    to the captured git hash, today's actual date for
    created
    and
    updated
    , and
    work_type
    to the value provided by the caller (or
    greenfield
    if not provided).
  4. Commit:
    planning({topic}): initialize plan
→ Proceed to Step 2.

首先选择输出格式。
若提供了推荐输出格式(非空,且不为"none"):
展示推荐内容:
现有计划使用**{format}**。是否使用相同格式以保持一致性?
输出以下markdown块(非代码块):
· · · · · · · · · · · ·
- **`y`/`yes`** — 使用{format}
- **`n`/`no`** — 查看所有可用格式
· · · · · · · · · · · ·
停止。等待用户选择。若用户拒绝,跳转到下方的完整格式列表。
若无推荐格式,或用户拒绝推荐:
向用户展示**output-formats.md**中的格式——包括描述、优缺点和"最适合场景"。为每个格式编号并请用户选择。
停止。等待用户选择。
选定格式后:
  1. 读取**output-formats.md,找到所选格式的条目,并加载该格式的about.mdauthoring.md**
  2. 获取当前git提交哈希值:
    git rev-parse HEAD
  3. 使用**plan-index-schema.md中的FrontmatterTitle**模板,在
    .workflows/planning/{topic}/plan.md
    创建Plan Index File。设置
    status: planning
    spec_commit
    为获取到的git提交哈希值,
    created
    updated
    为今日实际日期,
    work_type
    为调用者提供的值(若未提供则为
    greenfield
    )。
  4. 提交:
    planning({topic}): initialize plan
→ 继续执行步骤2

Step 2: Load Planning Principles

步骤2:加载规划原则

Load planning-principles.md and follow its instructions as written.
→ Proceed to Step 3.

加载**planning-principles.md**并按说明执行。
→ 继续执行步骤3

Step 3: Verify Source Material

步骤3:验证源材料

Load verify-source-material.md and follow its instructions as written.
→ Proceed to Step 4.

加载**verify-source-material.md**并按说明执行。
→ 继续执行步骤4

Step 4: Plan Construction

步骤4:构建计划

Load plan-construction.md and follow its instructions as written.
→ Proceed to Step 5.

加载**plan-construction.md**并按说明执行。
→ 继续执行步骤5

Step 5: Analyze Task Graph

步骤5:分析任务图

Load analyze-task-graph.md and follow its instructions as written.
→ Proceed to Step 6.

加载**analyze-task-graph.md**并按说明执行。
→ 继续执行步骤6

Step 6: Resolve External Dependencies

步骤6:解决外部依赖

Load resolve-dependencies.md and follow its instructions as written.
→ Proceed to Step 7.

加载**resolve-dependencies.md**并按说明执行。
→ 继续执行步骤7

Step 7: Plan Review

步骤7:计划评审

Load plan-review.md and follow its instructions as written.
→ Proceed to Step 8.

加载**plan-review.md**并按说明执行。
→ 继续执行步骤8

Step 8: Conclude the Plan

步骤8:完成计划

CHECKPOINT: Do not conclude if any tasks in the Plan Index File show
status: pending
. All tasks must be
authored
before concluding.
Output the next fenced block as markdown (not a code block):
· · · · · · · · · · · ·
- **`y`/`yes`** — Conclude plan and mark as concluded
- **Comment** — Add context before concluding
· · · · · · · · · · · ·
STOP. Wait for user response.
检查点:若计划索引文件中有任何任务显示
status: pending
,则不要完成计划。所有任务必须标记为
authored
后才能完成。
输出以下markdown块(非代码块):
· · · · · · · · · · · ·
- **`y`/`yes`** — 完成计划并标记为已完成
- **Comment** — 提供上下文后再完成
· · · · · · · · · · · ·
停止。等待用户回复。

If comment

若用户提供评论

Discuss the user's context. If additional work is needed, route back to Step 6 or Step 7 as appropriate. Otherwise, re-present the sign-off prompt above.
讨论用户的上下文。若需要额外工作,根据情况返回步骤6步骤7。否则,重新展示上述确认提示。

If yes

若选择yes

  1. Update plan status — Set
    status: concluded
    in the Plan Index File frontmatter
  2. Final commit — Commit the concluded plan:
    planning({topic}): conclude plan
  3. Present completion summary:
Output the next fenced block as markdown (not a code block):
Planning is complete for **{topic}**.

The plan contains **{N} phases** with **{M} tasks** total, reviewed for traceability against the specification and structural integrity.

Status has been marked as `concluded`. The plan is ready for implementation.
  1. 更新计划状态 — 在Plan Index File的前置元数据中设置
    status: concluded
  2. 最终提交 — 提交已完成的计划:
    planning({topic}): conclude plan
  3. 展示完成总结
输出以下markdown块(非代码块):
**{topic}**的规划已完成。

该计划包含**{N}个阶段**,共**{M}个任务**,已针对与规格说明的可追溯性和结构完整性进行评审。

状态已标记为`concluded`。计划已准备好用于实施。