关于 plan-feature-from-issue
plan-feature-from-issue 是一项 Agent 技能,可将功能请求 issue 转为 SPEC 的产品部分并关联路线图。它检查能力闭环与就绪状态,随后停下等待独立评审,再进入工程规划。
主要功能
- 01识别功能 issue 并转交缺陷
- 02找出产品规格缺口
- 03检查能力闭环
- 04估算功能规模
- 05编写 SPEC 产品部分并更新路线图
- 06保留 issue 到 PR 的追踪关系
适用场景
- 01根据功能 issue 起草 SPEC
- 02在评审前找出缺失的产品决策
- 03将 issue 派生功能登记到路线图
- 04准备与 issue 关联且需评审的规划
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gtrabanco/ agentic-workflow --skill plan-feature-from-issue安装后在 Claude Code 中输入/plan-feature-from-issue确认已加载。
详细介绍
规划功能 — 从 Issue 开始(内部)
将功能请求 issue 转换为项目规划文档,保持清晰的 issue → SPEC → PR(Closes #n)追踪关系。编写 SPEC 的产品部分(采用 design-feature 使用的相同双部分约定),并且在交接前必须满足能力闭环要求——不能因为 issue 内容单薄就绕过这一步。
**此技能止步于产品部分。**完成设计后,交由 review-spec 对该部分进行独立的产品评审;工程规划属于另一权限方的职责。在撰写设计的同时组合使用 plan-feature-scaffold,正是这项职责分离要杜绝的绕行方式——产品部分的作者不能同时决定它已准备好进入构建阶段。
适用场景
- 当输入是 GitHub issue(或
--from-issue N),且描述的是新的产品能力时,plan-feature路由器会调用此技能。
如果 issue 属于缺陷或技术债务,请停止并转交:先用 triage-issue 分类,再执行 plan-fix + execute-phase --fix。此技能仅用于真正的功能需求。
步骤 0 — 探索项目(始终首先执行)
按照 Agent 指南中的工作流约定和文档地图,然后阅读此技能所需的内容:功能 SPEC 模板、路线图以及 issue/PR 模板(.github/ISSUE_TEMPLATE/、.github/PULL_REQUEST_TEMPLATE.md),确保 SPEC 与评审者期望的字段一致。接着阅读 issue(根据项目的工作流约定使用 forge CLI——示例使用 gh):
gh issue view <N> --json number,title,body,labels,state,comments
流程
-
先分类。 确认这是一项功能。如果描述的是缺陷、回归问题、重复代码、性能债务,或包含“何时修复/触发”条款,则不属于功能 → 转交给
triage-issue。明确说明判定结果。 -
统一语言。 如果内容不是项目文档所用语言(此仓库为:English),请先翻译,再起草任何产物。
-
映射到路线图。 分配下一个编号 + slug。识别依赖项以及与现有功能的冲突、耦合/迁移风险,并判断是否应该扩展现有功能。
-
主动补齐产品部分的缺口。 对照完整 SPEC 的产品部分所需内容(目标、范围内/范围外、业务目标、根据文档映射确定的 i18n/SEO/a11y/定价信息;如果功能有 UI 界面,还需提供 UI 设计参考),并使用
design-feature访谈所采用的同一套固定模糊性评估标准进行探查:受影响的用户/角色 · 错误与边缘状态 · 数据形态 · 边界与限制 · 范围外内容 · 成功标准——每项都必须填写,或明确标注n/a: <reason>。对于无法安全采用默认值的实际缺口,每轮只向用户提一个问题,绝不一次提出多个问题;每个问题都要附上建议默认值;不要询问 issue 或文档已经解答的内容。**结构性转交阈值:**如果根据 issue 和此前的回答,仍有 ≥ 3 项评估标准无法填写,则停止,并将该功能转交给design-feature(即下方薄弱 issue 规则的固定触发条件),不要继续在此处访谈。 -
满足能力闭环。 将
design-feature使用的同一套固定清单(按实体:CRUD + 状态转换,每项都要有 UI + API + 测试,或明确标注n/a: <reason>;按能力:入口 + ACL;按角色:在哪里分配/撤销/查看)纳入 SPEC 的## Capability closure和## Acceptance criteria。信息不足以完成闭环的薄弱 issue 不能绕过此关卡——应将其转交给design-feature(仅当达到此技能的等级时,才在本轮组合处理,具体见 Guardrails;否则转交并执行run /design-feature <slug>,然后在此处停止),不要在闭环内容空洞的情况下将其标记为designed。 -
评估规模。 估算为
XS / S / M / L(定义见 SPEC 模板),并记录在 SPEC 中。XS/S → SPEC 是唯一的规划产物(单次执行);M/L → 完整产物集。如果为 L,建议拆分。 -
产出 SPEC 的产品部分。 填写内容,并在闭环完成后标记
## Design status: designed;如果路线图中尚无该条目,先以idea状态添加,然后在同一次编辑中将其设为defined——这是design-feature负责的同一项idea → defined转换;当本技能完成闭环时,由本技能执行。然后运行内部evidence-grounding能力中的stage: spec就绪预检,生成当前的artifactRevisionId,并停止:本技能绝不继续处理工程部分,不会将路线图条目提升到defined以上,也不会在本轮组合执行plan-feature-scaffold。只有在review-spec返回绑定到这些确切字节的当前spec-review-pass凭证后,plan-feature路由器才能搭建脚手架。 -
建立追溯关系。 在 SPEC 中记录
#N;PR 正文必须包含Closes #N,以便在合并时关闭 issue。 -
移交——必须原样返回(固定完成报告,返回给路由器):
ISSUE #<N> → SPEC <slug> — size: <XS|S|M|L> Verdict: feature (not bug/debt — else this would have routed to triage-issue) Gaps closed: <n> asked / <n> defaulted (logged) Closure: designed | handed to design-feature Readiness: READY-FOR-REVIEW | NEEDS-EVIDENCE | NEEDS-DESIGN Artifact revision: <id> Traceability: Closes #<N> wired → review-spec next (engineering planning is gated on its receipt; do not scaffold here)
护栏
- 不要悄悄将范围扩展到议题之外——应将新增内容作为提案提出。
- 不要在此处创建功能分支或编写代码。
- 不要在此处规划工程工作。 不要编写工程部分,不要划分阶段,不要将状态从
defined提升为planned,也不要在本轮组合调用plan-feature-scaffold:此技能编写的产品部分必须先经过review-spec审核,而就绪状态READY-FOR-REVIEW并不等于通过了该审核。 - 保留
Closes #N链接;由议题产生的功能必须关闭该议题。 - 绝不要在 Capability closure 行为空时标注
## Design status: designed——design-feature遵循相同规则;对于内容单薄的议题,应移交,而不是伪造闭环。 - 组合调用层级。 只有在此技能运行时所处层级不低于
design-feature的层级(规划级——最强模型/最高工作量)时,才允许在本轮为内容单薄的议题组合调用design-feature;否则应移交(运行/design-feature <slug>),不要在能力不足时强行处理。 - 其他情况请遵循项目的 工作流约定(分支/PR、文档语言)。
架构不变量
规划预检负责读取规范化的仓库状态,并对整个计划做出唯一的最终架构分类。编写产品部分之前,先在此处使用该结果:对于每条适用的不变量规则,引用其 ID 和仓库证据,并将议题提案分类为 preserves、violates、introduces 或 changes。只有分类为 preserves 时,才能标注为 designed;其他任何分类都必须暂停,等待由项目指定的权威方明确做出架构决策——必须等完整计划形成之后,绝不能提前做出,也绝不能从议题正文、SPEC 或通过的测试中推断。
与其他技能的关系
triage-issue— 判断是缺陷、功能还是暂缓处理;不确定时调用。plan-fix— 用于缺陷/技术债议题的修复侧对应技能。design-feature— 接收此技能无法安全完成能力闭环的内容单薄议题;两者均以相同格式编写 SPEC 的产品部分。review-spec— 每个由议题衍生的功能都必须进入的下一步:它会审核并确认此技能产出的产品部分。plan-feature-scaffold— 仅在review-spec通过后,才用于补充工程部分。此技能绝不会调用它。execute-phase— 执行各阶段;其 PR 会包含Closes #N。
完成条件
- 已填写 SPEC 的产品部分,并在路线图中登记为
defined;同时已打印stage: spec就绪状态块,并记录当前的artifactRevisionId。 - 已满足能力闭环要求(或者将议题移交给
design-feature,而不是伪造闭环),且## Design status状态准确。 - 只要标注了
## Design status: designed,路线图行的状态就必须为defined(新条目应先添加为idea);闭环不完整时绝不能设为defined,标注designed后也绝不能仍保持idea。 - 未进行任何脚手架搭建:没有工程部分、没有阶段、没有写入
planned,且最终报告已移交给/review-spec。 - 已记录
#N,且 PR 计划包含Closes #N。 - 已与用户解决范围缺口,而非自行假定。