Community编程与开发github.com

lmorchard/ghflow

准备 GitHub Issue、实现选定的 Issue、审查变更、提交 PR、处理反馈并协调明确请求的交付。用于 Git 和 GitHub 项目任务,包括处理“解决”或“交付”某个 Issue 的请求。合并需要明确授权;除非被要求,否则不要选择积压工作。

ghflow 是什么?

ghflow 是一个 AI Agent 技能(Skill),专为在 GitHub 工作流程中自动化执行项目管理和代码交付任务而设计。它提供了一系列高度结构化的“任务”参考,用于处理从 Issue 定义、访谈、分解、实现、代码审查、PR 提交到最终合并的完整生命周期。该技能的核心价值在于提供精确的流程控制,要求每一步操作(如合并)都必须有用户的明确授权,避免 AI 代理的意外操作。它支持本地模型和子代理(subagent)两种执行模式,并通过一套共享规则(如授权、决策、身份、GitHub 写入)来管理权限和边界。ghflow 特别适合那些希望 AI 严格遵循既定流程,同时保持高层控制权的开发团队。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lmorchard/ghflow/tree/HEAD

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

GitHub 工作流

选择所请求的操作并遵循其任务参考。每个操作都作用于一个没有先前 ghflow 任务的普通 Issue 或 PR。仅加载当前所需的任务和共享规则。应用工作上下文和工具输出来处理参考加载、搜索和交接。

在执行操作之前,先应用执行模式。本地模型工作应保持在当前会话中,无需子代理。此模式将覆盖用于分配工作者或启动新审查会话的任务指令。

定位源文件和工具

通过任何符号链接解析此 SKILL.md 路径。其父目录是 GHFLOW_SKILL_DIR。在引用和子代理交接时,使用该目录下的绝对路径。在运行命令示例之前,将 GHFLOW_CLI 设置为该目录下 cli/ghflow.py 的绝对路径。请对路径使用引号。命令工具可以为每次调用启动一个新的 shell,因此在每个使用该变量的命令中导出该变量,或直接写出完整路径:

export GHFLOW_CLI="ABSOLUTE_SKILL_DIRECTORY/cli/ghflow.py"
python3 "$GHFLOW_CLI" --help

将 ABSOLUTE_SKILL_DIRECTORY 替换为已解析的目录。解析后的技能目录是源代码检出根目录。直接使用其 cli/ghflow.py。将当前目录保持在目标项目下,以便 Git、GitHub 和身份配置使用该项目。通过每个参考的链接来解析编写指南,而不是通过当前目录。如果源读取需要外部目录权限,请报告已解析的检出路径,并使用源访问权限中的设置说明。请勿静默更改代理权限。

所选的任务参考会指明它需要的共享规则。当条件适用时打开一个共享参考,并阅读做出决定的章节;不要在第一次操作前阅读所有共享参考。这些条件是:授权(当出现权限或范围问题时);证据(在报告结果或传递标识符之前);决策(当事实或选择缺失时);代理身份(在代理运行 Git 或 GitHub 命令之前);GitHub 写入(在更改 GitHub 记录之前)。CLI 读取不授予写入权限。

选择所请求的操作

将用户的明确请求与下面的操作进行匹配。从用户的请求或目标检出中识别主题仓库。python3 "$GHFLOW_CLI" facts 报告检出、仓库、工具、身份就绪状态以及项目事实文件;配合 --issue ISSUE_URL 参数,它会额外添加该 Issue 的分支、工作树、PR 和看板项。使用此命令代替单独的 git 和 gh 读取来获取这些状态,并且当它报告存在 .ghflow/project.md 时读取该文件。对于本地模型会话的启动,preamble ISSUE_URL 会将这些事实作为一个紧凑的块打印出来,适合放在第一个提示中。源代码检出提供指令和工具;其远程仓库和已配置的账号不标识主题。如果选定的仓库、Issue 或 PR 缺失,请在 GitHub 搜索或分配任务之前返回所需信息。对于仅评估的请求,请解释操作及其限制,无需执行交付。如果某个关键端点不明确,仅询问该决定。不要选择积压工作或添加固定的执行顺序。交付请求默认为进行后续审查,并保持其 PR 处于打开状态。阅读其协调参考并应用选定的执行模式来分派和审查需求。

请求任务参考
重新评估现有 Issuereconsider-issue
定义想法或 Issue,包括仅草案的工作define-issue
与用户确定 Issue 决策interview-issue
将宽泛的父 Issue 拆分为子 Issuedecompose-parent-issue
发布已审查的 Issue 草案file-issue
通过本地提交实现 Issueimplement-issue
独立审查代码变更review-changes
将已提交的变更作为 PR 发布submit-pr
处理 PR 反馈并修复 CIaddress-pr-review
合并已明确授权的 PRmerge-pr
交付或处理一个选定的 Issueexpress-issue
交付一个已商定的父 Issuedeliver-parent-issue
将相关 Issue 分组到主题下bundle-issues
评估一组请求的开放 Issuetriage-issues
解决需要输入信息的 Issuesweep-needs-input
定义已接受的 Issuesweep-needs-definition
将未阻塞的 Issue 返回到定义阶段sweep-blocked
审计已关闭的 Issuesweep-audit-closed
对请求的看板范围进行优先级排序sweep-prioritize
将 Issue 暂存到就绪队列中curate-ready-queue
处理一个明确请求的就绪队列burndown-ready-queue
编写或刷新项目事实文件prepare-project-facts

执行与交接

对于持续进行的工作或重建成本高昂的发现,请应用任务笔记。在恢复执行或上下文压缩后,请先阅读任务的现有笔记,然后再重复研究或重新打开决策。

遵循所选参考的范围和停止点。将已有的授权传递到包含的任务中。仅限草案和只读的限制仍然适用;实现或提交绝不意味着合并权限。

在委托模式下,应用协调。向子代理提供所选操作和必要的输入。如果委托或所需的审查者模型不可用,则遵循共享规则并报告此限制。

返回操作的实际结果、来源、检查以及剩余决策。明确报告缺失的能力和不完整的证据。

相关技能