【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skillsname: gitcode-pr-handler description: 根据 GitCode PR 的代码变更重新生成符合约定式提交规范的 PR 标题与符合仓库 PR 模板的 PR 描述body然后通过 GitCode API 写回 PR。当用户提供 PR 链接、要求更新 PR / 生成标题 / 生成描述 / 改 PR 文案 / 重写 PR 标题描述时触发此 skill。 license: MITGitCode PR 标题 / 描述生成根据 GitCode PR 的代码变更重新生成 PR 标题约定式提交与 PR 描述沿用仓库 PR 模板并通过 API 写回 PR。核心原则内容必须来源于代码PR 标题与描述必须基于 PR 实际代码变更重新生成——原标题/描述仅作为参考不直接复用通过分析变更文件、diff 内容、commit 信息来总结改动不要凭经验或假设编造没有代码依据的特性 / 平台 / 数据类型不要写进 PR 描述沿用仓库 PR 模板PR 描述必须优先使用仓库 PR 模板不同仓库格式不同只填模板里的占位段。模板优先级.gitcode/PULL_REQUEST_TEMPLATE.zh-CN.md.gitcode/PULL_REQUEST_TEMPLATE.md.github/PULL_REQUEST_TEMPLATE.md仓库无任何模板时降级到本文档「内容生成规范 · 默认 PR 描述格式」。不创建 Issue本 skill 的写入面仅限 PR 标题与 PR body不会调用 Issue API、不创建 Issue。如果 PR 描述里已经有关联的Issue段并填好了#issue_number沿用即可如果该段为空留空不要 fabricate#0或#TBD。禁止创建测试内容严禁向目标仓库发送测试 / 调试用 PR 评论。API 调用问题应通过本地构造 JSON 排查。交互节奏环境预检 终局确认最多两次卡点整个流程仅在两类时刻打断用户Step 0 环境预检— token / git / curl / /tmp 等缺失时 AskUserQuestion 询问Step 7 提交确认— 完整的新标题、新描述生成后一次AskUserQuestion 询问是否提交中间过程的所有判断——模板选择、标题草稿、描述草稿——不要用 AskUserQuestion 打断按下文「自动决策」执行并在文本里说明我做了什么、为什么。AskUserQuestion 一次只问一个。自动决策决策点做法PR 模板选择按上文优先级选定唯一模板多个候选时按优先级取首个文本说明所选标题 / 描述草稿直接生成用户在 Step 7 看到完整内容统一确认工作流程Step 0环境预检必经详见 gitcode-toolkit/references/env-check.mdtoken / git / curl / python3 / /tmp 任一缺失 → AskUserQuestion 询问一次只问一个全部通过则输出预检报告进入 Step 1。Step 1-6解析与上下文获取解析 PR 链接→ 提取 owner / repo / pr_number详见 gitcode-toolkit/references/url-parsing.md获取 PR 详情→ 调用 API 取 title / body / head.ref / base.ref详见 gitcode-toolkit/references/gitcode-api.md原标题/描述只作参考克隆代码→/tmp/gitcode-pr-handler_${owner}_${repo}_${ts}详见 gitcode-toolkit/references/clone-and-checkout.md展示变更列表→git diff --numstat--name-status表格展示直接进入下一步不询问查找 PR 模板→ 按上文「沿用仓库 PR 模板」优先级独立检查每个路径不要用链式连接否则前一个不存在时后续不会被检查# 逐个检查任一存在即使用 ls .gitcode/PULL_REQUEST_TEMPLATE.zh-CN.md 2/dev/null ls .gitcode/PULL_REQUEST_TEMPLATE.md 2/dev/null ls .github/PULL_REQUEST_TEMPLATE.md 2/dev/null本地克隆失败时通过 API 获取curl -s https://api.gitcode.com/api/v5/repos/${owner}/${repo}/contents/.gitcode/PULL_REQUEST_TEMPLATE.zh-CN.md?access_token${GITCODE_TOKEN}文本说明已识别 PR 模板…使用模板填充描述或未发现 PR 模板使用默认格式。生成新标题与新描述→ 见下「内容生成规范」Step 7最终提交确认流程中唯一的提交确认完成生成后统一展示即将执行 PR #${pr_number} 旧标题 → 新标题 旧描述 → 新描述diff 摘要或全文调用唯一一次AskUserQuestion问题: 以上内容是否提交到 GitCode 选项: - 全部按此提交 (Recommended) - 取消保留本地草稿确认后执行PATCHPR title / body详见 gitcode-toolkit/references/gitcode-api.md随后GET回查 PR 验证写入成功PATCH 200 不代表写入成功。内容生成规范PR 标题格式约定式提交类型前缀示例新功能feat:feat: 添加用户登录功能Bug 修复fix:fix: 修复登录验证逻辑文档docs:docs: 更新安装文档重构refactor:refactor: 重构用户模块测试test:test: 添加登录单元测试性能perf:perf: 优化批量插入路径类型从主要变更性质判定同时含多类时取占比最大的一类混合改动可加 scopefeat(login): ...。PR 描述沿用仓库模板如果仓库有 PR 模板沿用模板的原章节标题仅替换!-- ... --占位不删减、不简化模板字段模板要求的内容必须从代码里找到依据再填不增加模板没有的章节默认 PR 描述格式仅在仓库无任何模板时使用## 描述 [详细描述改动的原因和所采取的方法] ### 改动原因 [描述为什么要做这个改动] ### 改动方法 [描述具体的实现方式] ## 测试 [描述进行了哪些测试] ## 类型标签 - [ ] Bug 修复 - [ ] 新特性 - [ ] 文档更新 ## 关联的Issue - #${issue_number}已有则填无则留空——不要 fabricateAPI / Token / 错误处理GitCode API、Token、HTTP 状态码错误处理统一详见gitcode-toolkit/references/gitcode-api.mdgitcode-toolkit/references/env-check.md / token-config.md本 skill 的本地约束调试 API 参数时先在本地构造 JSON 验证格式禁止向目标仓库发送测试请求PATCH 返回 200 不代表写入成功——必须 GET 回查 PR 验证 title / body 实际生效参考文档gitcode-toolkit/SKILL.md — Git 克隆/分支检出、merge-base、diff/log 等共享操作gitcode-toolkit/references/gitcode-api.md — GitCode PR API 详细文档【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考