Ekko Agent 内置 gh-issues 技能实战:从 GitHub Issue 分流到 Pull Request 的自动化工作流
AI 应用人工智能AI Agent本地部署前端后端工作流自动化【免费下载链接】ekko-studioEkko Studio is a local-first AI workspace for multi-agent chat, coding, and visual workflows, available on desktop and the web.项目地址https://gitcode.com/gh_mirrors/he/ekko-studio点击查看免费下载本篇技术指南以 Ekko Agentekko-studio 开源仓库中的 AI 编程代理运行时内置的gh-issues技能为对象系统讲解如何让 Agent 自主完成Issue 分流 → 修复实现 → 提交 PR → 处理评审反馈的完整闭环。读者将掌握该技能声明的输入契约、仓库解析、去重、隔离、提交与评审处理等全部流程并结合 delegate_task 工具实现 与 运行时约束 理解其底层执行边界。技能定位与适用场景gh-issues是 Ekko Agent 内置技能集中的一员其 frontmatter 声明如下name: gh-issues description: Triage GitHub issues, select safe candidates, implement focused fixes, open pull requests, and address actionable review feedback. metadata: keywords: - github issues - issue to pr - gh issues - issue triage从 内置技能清单测试 可以看到gh-issues与github、spike、skill-creator等技能一起被打包为内置技能集并在每个 profile 初始化时同步安装。技能分为两层gh-issues本技能面向issue 到 PR的端到端工作流编排github配套技能提供ghCLI 在仓库、Issue、PR、CI、Release 与结构化 API 查询上的操作细则见 github/SKILL.md。执行本工作流之前必须先读取github技能因为所有 GitHub 写操作、提交、推送、PR 创建与评审回复都必须在用户请求的结果边界内进行。技能开头明确强调If the user asked only to inspect, triage, or plan, stop before changing files, branches, issues, or PRs.——即用户只要求检查/分流/规划时禁止执行任何变更。输入契约技能接受的输入可分为五类仓库接受owner/repo形式或从git remote get-url origin推断可选过滤条件label标签、milestone里程碑、assignee指派者、state状态、limit数量上限可选 fork 模式把分支推送到指定 fork并针对源仓库打开 PRDry run试运行只列出候选与计划动作不改变本地与远端状态仅评审模式跳过 issue 选择只处理用户明确圈定的 PR 反馈。步骤 1解析并验证仓库工作流第一步是确认环境就绪技能给出的基准命令为git remote get-url origin git status --short gh auth status gh repo view OWNER/REPO --json nameWithOwner,defaultBranchRef随后必须显式推导并保持以下四个变量贯穿全程SOURCE_REPO承载 issue 的源仓库PUSH_REPO仅在用户明确要求时使用 fork否则等于源仓库BASE_BRANCH源仓库默认分支除非用户另行指定PUSH_REMOTE配置好的 fork remote或origin。该步骤包含三条硬性安全约束认证缺失即停止GitHub 认证不可用时立即停止。严禁搜索本地配置文件找 token、打印gh auth token、或要求用户把 token 粘贴进对话脏工作区不混入如果 checkout 是脏的存在与本次 issue 无关的未提交改动必须保留这些改动并询问用户如何处理或先确认仓库与 base 分支后创建独立 git worktreefork 模式先公示在添加或修改 git remote 之前必须展示精确的源仓库、fork、base 分支与 remote 信息。步骤 2拉取候选 Issue候选拉取使用gh issue list注意gh issue list天然排除 PRgh issue list --repo $SOURCE_REPO --state open --limit 10 \ --json number,title,labels,url,body,assignees,milestone只添加用户明确要求的过滤器。若无匹配项直接报告并停止。若为 dry run则以紧凑列表issue 编号、标题、标签、URL展示候选后停止不做任何状态变更。步骤 3避免重复劳动对每个候选在选择前必须排查是否已有现成修复gh pr list --repo $SOURCE_REPO --search $SOURCE_REPO#n --state open \ --json number,url,title,headRefName gh pr list --repo $SOURCE_REPO --head fix/issue-n --state open \ --json number,url gh api repos/$PUSH_REPO/branches/fix/issue-n /dev/null三类探测分别覆盖引用该 issue 的开放 PR、标准命名的修复分支、fork 中已存在的同名分支。判定规则已有开放 PR 或分支的 issue 直接跳过除非用户要求继续该工作阅读 issue 正文与相关代码后才能判定其可执行性优先选择小、可复现、有明确验收条件的 issue对语义模糊或安全敏感的 issue标记为需澄清多个候选且用户未指定时先展示候选并询问用户要修复哪些 issue 编号。步骤 4隔离工作worktree 与子代理委托默认一次只处理一个 issue。技能特别指出Ekko subagents share the workspace, so never let concurrent workers checkout different branches in the same working tree.——由于 Ekko 子代理共享工作区绝不允许并发 worker 在同一工作树中检出不同分支。隔离策略分两种单个 issue本地实现或以前台模式foreground调用delegate_task传入自包含目标与全部所需上下文相互独立的并行任务先为每个 issue 创建一个专属 git worktree再把精确的 worktree 路径交给每个后台子代理。后台模式仅在启用且确实有用时使用——进度对用户可见但父代理不得假装同步收集到了结果。委托任务的上下文必须包含六要素issue URL、标题、正文、标签与验收条件源仓库与推送仓库、base 分支、推送 remote、fork 模式隔离工作目录与目标分支fix/issue-n要求的测试与证明授权变更边界是否包含 commit、push、PR 创建。底层实现delegate_task 的语义与边界delegate_task由 delegation.ts 实现其参数模式为{ goal, context?, mode }mode仅允许foreground等待并返回结果或background立即返回、独立完成。从源码可以看到三条核心约束goal必须非空否则直接失败运行时通过context.delegationDepth 0检查禁止递归委托——Recursive delegation is disabled for Ekko subagents.若运行时不支持委托context.delegateTask缺失返回Subtask delegation is unavailable in this runtime.在 runtime.ts 中还有更细的控制当delegationDepth 0时才暴露delegate_task工具当后台委托被禁用时工具定义会被替换为仅前台版本。这印证了 SKILL.md 中Delegated subagents cannot ask the user questions or delegate recursively. Resolve ambiguity before delegation.的规定——歧义必须在委托前解决因为子代理无法回头提问。子代理与父代理共享模型、provider、工作区与工具但没有父代理的对话历史。步骤 5实现并证明修复对每个选中的 issue执行 8 步流水线在隔离工作树中从已验证的BASE_BRANCH创建fix/issue-n复现或定位问题实现最小连贯修复避免无关重构适当补充或更新聚焦的测试运行相关测试、类型检查与构建步骤审查 diff 中是否有无关文件、生成产物、密钥与误改的用户改动若已授权用清晰的 conventional message 提交不带 force推送若已授权针对SOURCE_REPO与BASE_BRANCH打开 PR。PR 正文必须使用文件而非 shell 插值与github技能中 Use--body-filefor comments and bodies containing backticks, shell snippets, environment names, or user-provided text 的约束一致。PR 正文应包含解决的问题为何做此改动用户影响测试证据需要自动关闭 issue 时附上Fixes SOURCE_REPO#n。技能对证据真实性有硬性要求Never mark a test as passing unless it actually ran. If a failure is environmental, separate it from product failures and include the exact evidence.——不得把未运行的测试标记为通过环境性失败必须与产品失败分离并附精确证据。评审反馈处理发现被圈定的 PR 与评论gh pr view n --repo $SOURCE_REPO \ --json url,headRefName,comments,reviews,reviewDecision gh api repos/$SOURCE_REPO/pulls/n/comments gh api repos/$SOURCE_REPO/issues/n/comments处理范围被严格限定只处理用户点名的 PR或本次任务中由该工作流创建的 PR。规则包括按 PR 分组可执行的评论忽略表扬、纯状态说明、重复评论与已处理的评论每个 PR 在其独立工作树中检出分支做最小改动运行相关测试正常提交并推送除非用户明确要求绝不 force-push仅在请求包含该外部写操作时才回复评审评论且必须引用实际修复与证据。报告格式每个 issue 或 PR 返回紧凑结果编号与标题状态planned已计划、skipped已跳过、fixed locally本地修复、PR openedPR 已开、failed失败、blocked受阻分支与 PR URL若存在已运行的测试及结果跳过、失败或剩余评审评论的精确原因。技能加载机制源码佐证gh-issues之所以能作为可执行技能被 Agent 调用依赖 Ekko 的技能同步与加载体系directories.ts 在同步内置技能时会扫描packages/ekko-agent/skills下每个含SKILL.md的子目录将其复制到目标 profile 目录tools/skills.ts 的skill_view工具可加载SKILL.md全文默认路径skill_manage用于创建/编辑技能文件且要求 SKILL.md 保持紧凑的英文 ASCII frontmattermetadata.keywords以保证宿主机侧确定性发现运行时在每轮模型请求前会把技能内容注入上下文runtime.ts 中[skill_view] name...的日志格式可见其内容哈希与目录记录。这意味着用户可以直接阅读 gh-issues/SKILL.md 查看完整工作流原文并通过skill_view让 Agent 在任何会话中加载该技能。安全边界总结纵观整个工作流授权变更边界贯穿始终可归纳为以下守则维度约束认证gh auth status失败即停止禁止读取本地 token、禁止gh auth token、禁止索取粘贴 token变更范围只做用户请求的结果内动作仅检查/分流/规划时禁止一切变更重复规避有开放 PR/分支的 issue 跳过多候选先询问隔离同一工作树禁止并发分支检出并行必须用独立 worktree委托子代理不可提问、不可递归委托歧义须在委托前解决推送不带 force 推送force-push 需用户明确要求证据测试必须真实运行环境性失败与产品失败分离报告每项给出精确状态与原因skips/failures 必须有理由这套边界正是gh-issues技能在生产环境中可被安全复用的根基它把自主性与可控性通过显式变量SOURCE_REPO/PUSH_REPO/BASE_BRANCH/PUSH_REMOTE、显式授权commit/push/PR 三开关与显式报告六态状态机制度化为 Issue 驱动的开源贡献与内部维护流程提供了一个可直接落地的 Agent 工作流模板。赞分享AI 应用人工智能AI Agent本地部署前端后端工作流自动化【免费下载链接】ekko-studioEkko Studio is a local-first AI workspace for multi-agent chat, coding, and visual workflows, available on desktop and the web.项目地址https://gitcode.com/gh_mirrors/he/ekko-studio点击查看免费下载相关推荐OpenClaw gh-issues 技能实战从 GitHub Issue 到自动修复 PR 的全自动工作流OpenClaw gh issues 技能实战从 GitHub Issue 到自动修复 PR 的全自动工作流 导读 gh issues 是 OpenClawAI 应用AI Agent交互助手后端即时通讯网关seamless_communication的GitHub贡献流程从Issue到Pull Requestseamless_communication的GitHub贡献流程从Issue到Pull Request 引言你还在为开源贡献流程感到困惑吗 在开源社区中人工智能NLP语音多模态大模型Reactive Resume 的 Agent 化 Issue 追踪用 GitHub Issues 与 gh CLI 驱动的规范、Triage 与 Wayfinder 工作流Reactive Resume 的 Agent 化 Issue 追踪用 GitHub Issues 与 gh CLI 驱动的规范、Triage 与 Wayfi前端后端AI 应用MCP 服务dsh-plugin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Python入门核心知识盘点

Python入门核心知识盘点

​ 概述 计算机离不开硬件和软件:硬件比如硬盘、CPU、显卡、内存等,而软件则依赖各种计算机语言来实现。 计算机语言的发展,是从最基础的0和1打孔开始的,也就是机器语言;后来出现了汇编语言,用助记符代替二…

2026/9/24 15:29:45 阅读更多 →
go-swagger v0.28.0 版本解析:CLI 代码生成走向成熟与一批关键缺陷修复

go-swagger v0.28.0 版本解析:CLI 代码生成走向成熟与一批关键缺陷修复

代码生成开发工具后端API设计 【免费下载链接】go-swagger Swagger 2.0 implementation for go 项目地址: https://gitcode.com/gh_mirrors/go/go-swagger 点击查看 免费下载 导读:v0.28.0 是 go-swagger 在 2021 年 10 月发布的重要版本,其…

2026/9/24 15:28:44 阅读更多 →
SDL 摄像机模块:4 步完成从设备枚举到实时预览

SDL 摄像机模块:4 步完成从设备枚举到实时预览

SDL 摄像机模块:4 步完成从设备枚举到实时预览 【免费下载链接】SDL Simple DirectMedia Layer 项目地址: https://gitcode.com/GitHub_Trending/sd/SDL SDL 用几行调用接入摄像头,每帧以 SDL_Surface 交还给你,可直接当作流式纹理上传…

2026/9/24 15:28:44 阅读更多 →

最新新闻

零售数据分析:如何用用户行为数据把“转化率“从3%提到8%?

零售数据分析:如何用用户行为数据把“转化率“从3%提到8%?

做电商和零售的朋友,应该都对转化率这个词特别敏感。同样的流量,转化率3%和8%,业绩差的可不是一点半点。很多人转化率上不去,就知道瞎优化主图、改价格,折腾来折腾去,效果微乎其微。其实转化率不是靠感觉调…

2026/9/24 16:57:07 阅读更多 →
98-杨逢昌实操法:顺德中型机械装配车间“四步熵增定位法”落地实操与归位三定闭环管控

98-杨逢昌实操法:顺德中型机械装配车间“四步熵增定位法”落地实操与归位三定闭环管控

《6S管理实战专栏》 三环实战篇(第98篇) 杨逢昌使命: 用6S的力量,让10万名朋友实现高效愉悦的生活与工作。在《杨逢昌6S 诊断・治疗・执行 三环体系》中指出:装配车间现场乱象的根治,关键在于将"路径效…

2026/9/24 16:57:07 阅读更多 →
国家中小学智慧教育平台电子课本下载工具:三步把教材PDF存到本地

国家中小学智慧教育平台电子课本下载工具:三步把教材PDF存到本地

国家中小学智慧教育平台电子课本下载工具:三步把教材PDF存到本地 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 …

2026/9/24 16:57:06 阅读更多 →
Valetudo 支持机型完整指南:穷尽式受支持机器人清单、Rooting 机制与源码实现解析

Valetudo 支持机型完整指南:穷尽式受支持机器人清单、Rooting 机制与源码实现解析

物联网后端前端 【免费下载链接】Valetudo Cloud replacement for vacuum robots enabling local-only operation 项目地址: https://gitcode.com/gh_mirrors/va/Valetudo 点击查看 免费下载 本篇技术指南基于 Valetudo 官方文档中的《Supported Robots》章节整理而…

2026/9/24 16:57:06 阅读更多 →
Android16 原生设置部分问题修改

Android16 原生设置部分问题修改

一、关闭媒体音量睡眠模式中关闭媒体音量,但是在我们自己的设置中依然可以调节音量,但是调节后会自动恢复静音。先看下原生设置的调用逻辑。//Settings/src/com/android/settings/notification/modes/ZenModeOtherPreferenceController.javaOverridepubl…

2026/9/24 16:57:05 阅读更多 →
PHPStan 错误标识 requireExtends.deprecatedClass 全解析:当 @phpstan-require-extends 引用了已废弃的类

PHPStan 错误标识 requireExtends.deprecatedClass 全解析:当 @phpstan-require-extends 引用了已废弃的类

开发工具代码质量静态分析 【免费下载链接】phpstan PHP Static Analysis Tool - discover bugs in your code without running it! 项目地址: https://gitcode.com/gh_mirrors/ph/phpstan 点击查看 免费下载 requireExtends.deprecatedClass 是 PHPStan 在 phpsta…

2026/9/24 16:56:04 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →