SuperAPI AI 工具集

fmway-pr

编程与开发

查看项目

更新于 10-25 16:18

技能介绍

用途

fmway-pr 是该技能包中唯一执行 git 写操作的技能,也是 fmway 工作被持久化到 git 的唯一入口。包内其他所有流程只写文件,并在自然检查点建议运行本技能;它们不会自行提交、推送或开 PR。该规则适用于现在和未来的任何 fmway 流程。

触发条件

只能在用户于当前轮次明确要求提交(commit)、推送或开 PR 时调用。技能匹配依据 frontmatter 中的 description 完成,因此“仅在用户明确要求时调用”写在那里;正文是第二道防线:若由其他技能发起调用,不应自行调用本技能,而应提示“该检查点已就绪,需要时运行 fmway-pr(或提出请求)”,然后停止。

使用方式

  1. 定位上下文:运行 git branch --show-current,按流程相同规则从分支去掉前缀 feat/、fix/、fix/security-、chore/、docs/、assess/、po/ 推导 {slug}。若存在 .ways/state.json,读取(暂不写入)以了解 flow、phase,以及该检查点对应的 gate 或文档;不存在则跳过。
  2. 展示将提交的内容:运行 git status --short && git diff --stat && git diff --stat --staged,先呈现给用户;若无暂存或修改内容,说明并停止。
  3. 提议提交信息:不要编造通用信息,按调用流程 SKILL.md 中记录的该阶段格式(查找“提交信息格式”一节),或从分支前缀推断(如 feat/ → feat({slug}): …,fix/ → fix({slug}): …,fix/security- → fix(security): …,chore/ → chore(…),docs/ → docs({slug}): …,assess/ → assess({slug}): …);无明确约定则询问用户。若 .ways/state.json 与其他文件一同变化,应与它们放入同一提交,不得拆成未告知的单独提交。若存在多个逻辑上独立的工作单元,应说明并询问是否拆分提交。
  4. 提交确认门:说明将提交的文件列表与提议的信息,要求用户确认后再执行 git add / git commit;只有获得明确确认后,才暂存已审阅的文件并提交。
  5. 推送与 PR(仅在用户同时要求时):不要假设提交就意味着推送或开 PR,应询问是否还要推送 {分支} 并向 {base} 开 PR。若同意,按调用流程为 PR 阶段定义的模板撰写标题与正文(摘要、相关文档链接、验证清单),先展示给用户,并在执行 git push -u origin {rama} 与 gh pr create --base {base} --head {rama} --title "{título}" --body "{cuerpo}" 前再次要求确认;完成后分享 PR URL。
  6. 更新状态(若存在状态文件):若已开 PR,将 gates[] 对应项的 url 设为 PR 链接,作为第 4 步已确认工作的一部分;若 PR gate 应变为 passed,也更新其 status。

限制与禁止事项

不得从其他技能流程中自动调用;即使被用户直接调用,也不得跳过确认门;不得在未告知的情况下把无关改动混入同一提交;不得合并 PR——开 PR 在范围内,合并始终是用户单独发起的显式操作,不属于本技能。