aile-writing-plans

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Aile:写计划(aile-writing-plans)

Aile: Writing Plans (aile-writing-plans)

概述

Overview

这是团队自有的计划产出技能,用于把阶段 1(PM 需求 + UI 示意)的输入,转化为阶段 2 的标准化产物:
  • 计划主入口:
    docs/plans/{Story-Key}/plan.md
  • 可选设计文件:
    docs/plans/{Story-Key}/design.pen
假設工程師對我們的程式碼庫的背景為零且品味有問題,則編寫全面的實施計劃。記錄他們需要知道的一切:每個任務要接觸哪些文件、程式碼、測試、他們可能需要檢查的文檔、如何測試它。將整個計劃作為小任務交給他們。乾燥。亞格尼。時分驅動。頻繁提交。
假設他們是一位熟練的開發人員,但對我們的工具集或問題領域幾乎一無所知。假設他們不太瞭解良好的測試設計。
This is the team's proprietary plan generation skill, used to convert Phase 1 inputs (PM requirements + UI mockups) into standardized Phase 2 deliverables:
  • Main plan entry:
    docs/plans/{Story-Key}/plan.md
  • Optional design file:
    docs/plans/{Story-Key}/design.pen
Write a comprehensive implementation plan assuming the engineer has zero background in our codebase and poor taste. Document everything they need to know: which files, code, tests each task touches, any documentation they may need to check, and how to test it. Break the entire plan into small tasks for them. DRY. YAGNI. Time-boxed. Frequent commits.
Assume they are a skilled developer but know almost nothing about our toolset or problem domain. Assume they have little understanding of good test design.

何时使用

When to Use

在以下情形使用:
  • 你已经拿到 Jira Story 的需求描述与(至少)UI 示意/交互说明
  • 需要产出可被执行的、任务颗粒度 2-5 分钟的实施计划
  • 需要把验收标准(AC)从业务视角细化为技术可测试视角,并回写到 Story(如启用 Jira MCP)
Use in the following scenarios:
  • You have obtained the requirement description of the Jira Story and (at minimum) UI mockups/interaction specifications
  • You need to generate executable implementation plans with task granularity of 2-5 minutes
  • You need to refine Acceptance Criteria (AC) from a business perspective to a technically testable one and write them back to the Story (e.g., when Jira MCP is enabled)

核心产出契约(必须遵守)

Core Output Contract (Must Comply)

  1. 计划文件必须落在:
    docs/plans/{Story-Key}/plan.md
  2. 文件必须包含:
    • 状态管理(整体进度、任务状态总览、执行记录)
    • 需求理解与风险
    • UI 设计(有 UI 变更则必须有
      design.pen
      或明确写“本 Story 无 UI 设计”)
    • 任务拆解(每个任务 2-5 分钟)
    • 测试用例与验收标准(可测试、无歧义)
    • AI 执行指引(明确执行顺序、约束、人工 Gate 节点)
  3. 每个任务必须以 TDD 方式描述:RED → 验证失败 → GREEN → 验证通过 → REFACTOR → 再次验证
  4. 启用 Jira MCP 时:任务拆解后必须为每个实施任务创建 Jira Sub-task,并回填到
    plan.md
    的 Jira 关联章节
  5. 状态管理必须可追踪:每个任务都要有
    状态
    负责人
    开始时间
    完成时间
    阻塞原因
    ,初始状态统一为
    待开始
  1. The plan file must be located at:
    docs/plans/{Story-Key}/plan.md
  2. The file must include:
    • Status management (overall progress, task status overview, execution records)
    • Requirement understanding and risks
    • UI design (if there are UI changes,
      design.pen
      must be included, or explicitly state "No UI design for this Story")
    • Task breakdown (each task takes 2-5 minutes)
    • Test cases and acceptance criteria (testable, unambiguous)
    • AI execution guidelines (clear execution sequence, constraints, manual gate nodes)
  3. Each task must be described in TDD manner: RED → Verification failed → GREEN → Verification passed → REFACTOR → Re-verify
  4. When Jira MCP is enabled: After task breakdown, a Jira Sub-task must be created for each implementation task and written back to the Jira-related section in
    plan.md
  5. Status management must be traceable: Each task must have
    Status
    ,
    Assignee
    ,
    Start Time
    ,
    Completion Time
    ,
    Block Reason
    , with the initial status uniformly set to
    To Do

一口大小的任務粒度

Bite-sized Task Granularity

每一步都是一個動作(2-5 分鐘):
  • “編寫失敗的測試”-步驟
  • 「運行它以確保它失敗」-步驟
  • “實現最少的程式碼以使測試通過” - 步驟
  • “運行測試並確保它們通過”- 步驟
  • “提交”-步驟
Each step is an action (2-5 minutes):
  • Step: "Write a failing test"
  • Step: "Run it to ensure it fails"
  • Step: "Implement the minimal code to make the test pass"
  • Step: "Run the tests and ensure they pass"
  • Step: "Commit"

Jira 子任务契约(启用 MCP 时)

Jira Sub-task Contract (When MCP is Enabled)

创建 Sub-task 使用
jira_create_issue
,并满足最小字段:
  • summary
    :与任务名一一对应(便于追踪)
  • description
    :任务目标、范围、验收要点
  • parent
    :父 Story Key(例如
    ABC-123
  • labels
    :至少包含 Story-Key 与阶段标签(例如
    stage2-planning
  • assignee
    :可选;若未知可留空并在
    plan.md
    标注待分配
执行失败时必须降级为“仅本地产出 + 人工补录”,不得声称已完成 Jira 同步。
Use
jira_create_issue
to create Sub-tasks, with the following mandatory fields:
  • summary
    : One-to-one correspondence with the task name (for easy tracking)
  • description
    : Task objective, scope, acceptance key points
  • parent
    : Parent Story Key (e.g.,
    ABC-123
    )
  • labels
    : At least include the Story-Key and phase label (e.g.,
    stage2-planning
    )
  • assignee
    : Optional; leave blank if unknown and mark "To be assigned" in
    plan.md
If execution fails, it must degrade to "Local output only + manual entry", and must not claim that Jira synchronization is completed.

执行流程

Execution Process

开始时声明:“我正在使用 aile-writing-plans 技能来生成团队计划。”
Declaration at Start: "I am using the aile-writing-plans skill to generate team plans."

Step 0:读取上下文

Step 0: Read Context

  • 读取
    docs/README.md
    与相关模块文档(如影响范围涉及
    docs/modules/*
  • 读取(如存在)
    docs/specs/PRD.md
    docs/specs/SAD.md
  • 读取(如存在)本 Story 之前的计划产物(
    docs/plans/{Story-Key}/
  • Read
    docs/README.md
    and related module documents (e.g., if the scope involves
    docs/modules/*
    )
  • Read (if existing)
    docs/specs/PRD.md
    ,
    docs/specs/SAD.md
  • Read (if existing) previous plan deliverables for this Story (
    docs/plans/{Story-Key}/
    )

Step 1:确认 Story-Key 与范围边界

Step 1: Confirm Story-Key and Scope Boundaries

  • 明确 Story-Key(例如
    ABC-123
    ),作为目录名
  • 明确“做什么 / 不做什么”(YAGNI:把不需要的需求从计划中删掉)
  • Clarify the Story-Key (e.g.,
    ABC-123
    ) to be used as the directory name
  • Clarify "What to do / What not to do" (YAGNI: Remove unnecessary requirements from the plan)

Step 2:任务拆解与排序

Step 2: Task Breakdown and Sorting

  • 任务粒度:单任务 2-5 分钟
  • 输出:每个任务明确文件路径、测试、验证命令、预期输出
  • DRY:复用现有模式,不新增不必要抽象
  • Task granularity: 2-5 minutes per task
  • Output: Each task clearly specifies file paths, tests, verification commands, expected output
  • DRY: Reuse existing patterns, do not add unnecessary abstractions

Step 3:写入计划文件

Step 3: Write Plan File

将内容写入
docs/plans/{Story-Key}/plan.md
,并确保其结构符合团队模板(参考
docs-templates/stage2-plan-template.md
)。
  • 初始化状态管理模块:
    • 填写“整体进度”
    • 建立“任务状态总览”(所有任务默认
      待开始
    • 建立“执行记录”并写入首条记录
Write the content to
docs/plans/{Story-Key}/plan.md
and ensure its structure complies with the team template (refer to
docs-templates/stage2-plan-template.md
).
  • Initialize the status management module:
    • Fill in "Overall Progress"
    • Establish "Task Status Overview" (all tasks default to
      To Do
      )
    • Establish "Execution Records" and write the first record

Step 6:创建 Jira Sub-task(可选)

Step 6: Create Jira Sub-task (Optional)

  • 前置条件:Jira MCP 可用,且已确认父 Story Key
  • 按任务列表逐条调用
    jira_create_issue
    创建 Sub-task
  • 创建时写入字段:
    summary
    description
    parent
    labels
    assignee
    (可选)
  • 将创建结果回填
    plan.md
    • 成功:记录 Sub-task Key(如
      ABC-234
    • 失败:记录“未创建(原因:xxx,需人工补录)”
  • Preconditions: Jira MCP is available, and the parent Story Key has been confirmed
  • Call
    jira_create_issue
    for each task in the task list to create Sub-tasks
  • Fill in the following fields during creation:
    summary
    ,
    description
    ,
    parent
    ,
    labels
    ,
    assignee
    (optional)
  • Write the creation results back to
    plan.md
    :
    • Success: Record the Sub-task Key (e.g.,
      ABC-234
      )
    • Failure: Record "Not created (Reason: xxx, manual entry required)"

Step 6:Jira MCP 回写状态(可选)

Step 6: Write Status Back to Jira MCP (Optional)

  • Jira状态变更时调用
    jira_update_issue
    更新对应 Story 的状态字段为 developing
  • When the Jira status changes, call
    jira_update_issue
    to update the status field of the corresponding Story to "developing"

Step 7:交接到执行阶段

Step 7: Handover to Execution Phase

  • 推荐后续执行技能:
    aile-tdd
    aile-subagent-dev
  • Recommended subsequent execution skills:
    aile-tdd
    or
    aile-subagent-dev