wtf.epic-to-features
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseEpic to Features
从Epic到Feature
Break an Epic down into its full set of Features and create them one by one. Core value: proposes the complete feature list upfront, then walks through writing each Feature with full user control.
将一个Epic分解为完整的Feature集合,并逐一创建它们。核心价值:预先提出完整的Feature列表,然后在用户完全控制下逐步编写每个Feature。
Process
流程
0. GitHub CLI setup
0. GitHub CLI 配置
Run the setup check from . Stop if is not installed or not authenticated. Note whether the extensions are available — this determines whether native sub-issue and dependency links are created downstream (via and ).
../references/gh-setup.mdghwrite-featurewrite-taskSkip this step if gh-setup was already confirmed this session (e.g. when chained from ).
write-epic运行中的配置检查。如果未安装或未完成认证,请停止操作。注意相关扩展是否可用——这将决定后续是否通过和创建原生子议题和依赖链接。
../references/gh-setup.mdghwrite-featurewrite-task如果本次会话中已确认gh-setup完成(例如从链式调用而来),则跳过此步骤。
write-epic1. Identify the Epic
1. 确定Epic
If an Epic number was passed in as context, use it directly. Otherwise call with , , and pre-filled with recent open Epic issue numbers and titles found via .
AskUserQuestionquestion: "Which Epic are you breaking into Features?"header: "Epic"optionsgh issue list --label epicFetch the Epic:
bash
gh issue view <epic_number>Extract: Goal, Context, and Success Metrics.
List Features already created under this Epic using the sub-issue hierarchy:
bash
gh sub-issue list <epic_number>Note which Features already exist. Do not re-propose or re-create them.
如果上下文已传入Epic编号,则直接使用。否则调用,参数为,,并通过获取最近的开放Epic议题编号和标题,预填充到中。
AskUserQuestionquestion: "你要将哪个Epic分解为Feature?"header: "Epic"gh issue list --label epicoptions获取Epic详情:
bash
gh issue view <epic_number>提取:目标、背景和成功指标。
通过子议题层级列出该Epic下已创建的Feature:
bash
gh sub-issue list <epic_number>记录已存在的Feature,请勿重复提议或创建。
2. Propose the full Feature list
2. 提出完整的Feature列表
Based on the Epic's Goal, Context, and Success Metrics, derive a proposed list of Features that together deliver the Epic's outcome. Each Feature must follow the pattern: [Domain Actor] can [domain verb] [domain object].
If the Epic already has partially-created Features (found via ), open the list with a note: "Epic #N already has [X] Features created: [list with issue numbers]. Here are the remaining Features I'd propose:"
gh sub-issue listPresent the remaining (or full, if none exist yet) list as plain numbered text, for example:
Here are the Features I'd propose for this Epic:
- Merchant can view settlement status for a completed payment
- Merchant can filter settlements by date range
- Finance Manager can export settlement report as CSV
- System notifies Merchant when settlement is delayed
Then call with:
AskUserQuestion- : "Does this list look complete? You can add, remove, or rename any Feature before we start."
question - : "Feature list"
header - :
options[{label: "Looks good", description: "Proceed with this list"}, {label: "Make changes", description: "I want to add, remove, or rename a Feature"}]
Wait for the user to confirm or adjust the list. Apply any changes.
根据Epic的目标、背景和成功指标,推导一组可共同实现Epic成果的Feature提议。每个Feature必须遵循以下模式:[领域角色] 能够 [领域动词] [领域对象]。
如果Epic已存在部分创建完成的Feature(通过发现),则在列表开头添加说明:“Epic #N 已创建 [X] 个Feature:[带议题编号的列表]。以下是我提议的剩余Feature:”
gh sub-issue list将剩余(或完整,如果尚未创建任何Feature)的列表以纯文本编号形式呈现,例如:
以下是我为该Epic提议的Feature:
- 商家可查看已完成付款的结算状态
- 商家可按日期范围筛选结算记录
- 财务经理可将结算报告导出为CSV格式
- 当结算延迟时,系统向商家发送通知
然后调用,参数为:
AskUserQuestion- : “这个列表是否完整?在开始之前,你可以添加、删除或重命名任何Feature。”
question - : “Feature列表”
header - :
options[{label: "看起来没问题", description: "继续使用此列表"}, {label: "需要修改", description: "我想添加、删除或重命名Feature"}]
等待用户确认或调整列表,应用所有修改。
3. Walk through Features one by one
3. 逐一处理Feature
For each Feature in the confirmed list, in order:
- Announce: "Creating Feature [N/total]: [capability name]"
- Follow the process, passing:
write-feature- The Epic number (skip step 1 of write-feature — Epic is already fetched)
- The capability name as the pre-filled answer to step 2 of write-feature
- Abbreviated clarification: because the capability name already follows the pattern and the Epic context is already in hand, skip write-feature step 3 (clarification questions) unless something is genuinely ambiguous from the Epic. Write-feature step 4 (user story derivation) and step 5 (DDD Language Guard) should still run silently. Resume from write-feature step 6 (vertical slice assessment).
[Actor] can [verb] [object]
- Before moving to the next Feature, call with:
AskUserQuestion-
: "Feature [N] created. Ready to continue to Feature [N+1]: [next capability name]?"
question -
: "Continue?"
header -
:
options[{label: "Yes, continue", description: "Proceed to the next Feature (default)"}, {label: "Pause here", description: "Exit — I'll continue later"}, {label: "Skip this feature", description: "Mark as skipped and move on"}, {label: "Add a new feature", description: "Insert a new feature into the list before continuing"}] -
Yes, continue → continue.
-
Pause here → exit. Print a summary of which Features were created and which remain. Suggestbefore resuming.
/clear -
Skip this feature → mark as skipped in the list and move to the next.
-
Add a new feature → callwith
AskUserQuestion,question: "What is the new feature capability?", andheader: "New feature"pre-filled with 1–2 capability names inferred from the Epic's Goal or Success Metrics not yet represented in the list. Add the confirmed feature to the list, then continue.options
-
按顺序处理确认列表中的每个Feature:
- 通知:“正在创建第 [N/总数] 个Feature:[能力名称]”
- 遵循流程,传入:
write-feature- Epic编号(跳过write-feature的步骤1——Epic已获取)
- 能力名称作为write-feature步骤2的预填答案
- 简化澄清环节:由于能力名称已遵循模式,且已掌握Epic上下文,除非Epic内容存在真正的歧义,否则跳过write-feature的步骤3(澄清问题)。write-feature的步骤4(用户故事推导)和步骤5(DDD语言校验)应静默运行。从write-feature的步骤6(垂直切片评估)继续。
[角色] 能够 [动词] [对象]
- 在处理下一个Feature之前,调用,参数为:
AskUserQuestion-
: “第 [N] 个Feature已创建。是否准备继续处理第 [N+1] 个Feature:[下一个能力名称]?”
question -
: “是否继续?”
header -
:
options[{label: "是,继续", description: "处理下一个Feature(默认选项)"}, {label: "在此暂停", description: "退出——我稍后再继续"}, {label: "跳过此Feature", description: "标记为已跳过,继续下一个"}, {label: "添加新Feature", description: "在继续前向列表中插入一个新Feature"}] -
是,继续 → 继续处理。
-
在此暂停 → 退出。打印已创建和剩余的Feature摘要。建议在继续前使用。
/clear -
跳过此Feature → 在列表中标记为已跳过,继续下一个。
-
添加新Feature → 调用,参数为
AskUserQuestion,question: "新Feature的能力是什么?",并根据Epic目标或成功指标中尚未体现的内容,预填充1-2个能力名称到header: "新Feature"中。将确认后的Feature添加到列表,然后继续。options
-
4. Completion
4. 完成
When all Features have been created (or skipped), print a summary:
"Epic #<epic_number> Feature breakdown complete. Created: [list with issue numbers] Skipped: [list if any]"
Then call with:
AskUserQuestion-
: "What's next?"
question -
: "Next step"
header -
:
options[{label: "Break down first Feature", description: "Plan and create Tasks for the first Feature (default)"}, {label: "Break down next Feature", description: "Plan and create Tasks for a different Feature"}, {label: "Stop here", description: "Exit — no further action"}] -
Break down first Feature → follow theprocess with the first created Feature number.
feature-to-tasks -
Break down next Feature → follow theprocess with the second created Feature number (or whichever the user specifies).
feature-to-tasks -
Stop here → exit.
Suggestbefore continuing if the conversation has grown long./clear
当所有Feature已创建(或已跳过)时,打印摘要:
“Epic #<epic_number> 的Feature分解已完成。 已创建:[带议题编号的列表] 已跳过:[如有则列出]”
然后调用,参数为:
AskUserQuestion-
: “下一步做什么?”
question -
: “下一步”
header -
:
options[{label: "分解第一个Feature", description: "为第一个Feature规划并创建任务(默认选项)"}, {label: "分解下一个Feature", description: "为其他Feature规划并创建任务"}, {label: "在此停止", description: "退出——无需进一步操作"}] -
分解第一个Feature → 使用第一个已创建的Feature编号,遵循流程。
feature-to-tasks -
分解下一个Feature → 使用第二个已创建的Feature编号(或用户指定的编号),遵循流程。
feature-to-tasks -
在此停止 → 退出。
如果对话内容较长,建议在继续前使用。/clear