Home Assistant Core 的 AI 审查技能:PR 评审意见审计(ha-pr-comment-audit)工作流全解析

发布时间:2026/9/4 12:30:46
Home Assistant Core 的 AI 审查技能:PR 评审意见审计(ha-pr-comment-audit)工作流全解析 Home Assistant Core 的 AI 审查技能PR 评审意见审计ha-pr-comment-audit工作流全解析【免费下载链接】core:house_with_garden: Open source home automation that puts local control and privacy first.项目地址: https://gitcode.com/GitHub_Trending/co/coreHome Assistant core 仓库在.claude/skills/目录下沉淀了一套供 Claude Code 等 AI 编码助手使用的技能Skill文件。其中 ha-pr-comment-audit 技能专门解决一个问题一个 Pull Request 上的评审评论线程是否已被逐条处理。读完本篇你能完整掌握该技能的触发场景、基于ghCLI 的五步审计流程、评论的三种未闭环判定规则以及它在整个 PR 审查技能链ha-pr-reviewer、ha-review、ha-merge-queue中的调用关系与安全边界。技能定位审计已处理了吗而不是该不该改SKILL.md 的 frontmatter 中给出了技能名称与描述--- name: ha-pr-comment-audit description: Audits the review comment threads on a Home Assistant GitHub pull request, flagging unaddressed comments and requests for clarification. Use when checking whether PR feedback has been handled, either standalone or as part of a full PR review. ---这段描述划定了技能的使用边界独立运行standalone或作为完整 PR 审查的一部分运行。它回答的问题不是代码写得对不对那是 ha-review 的职责而是评审方提出的问题作者是否真的回应并落地了。这与仓库的 AI 治理策略一脉相承——AI_POLICY.md 明确禁止自主代理代用户向 GitHub 发布内容因此该技能的所有产出都只落在本地终端由人类决定是否采取行动。五步审计工作流从 SKILL.md 原文到实操命令技能正文的Instructions共五条构成一条完整的操作链。下面逐条展开并给出对应的ghCLI 实操形式。第 1 步先解析 PR 上下文原文要求Resolve the PR context first. If a PR number is not given, use gh pr view to identify the current branchs PR.如果用户没有给出 PR 编号技能会通过gh pr view反查当前分支对应的 PR例如# 查看当前分支对应的 PR含编号、标题、base 分支等元数据 gh pr view --json number,title,baseRefName,headRefName,author这一设计在仓库其他技能里有一致的影子ha-review 要求把 PR 的目标分支显式传给 diff 流程Explicitly pass the PRs target/base branch to theha-reviewskill (obtained viagh pr view)ha-pr-reviewer 也第一步就用gh pr view拿 PR 详情与描述。三者共同保证了审哪个分支、和谁比这个前提永远来自权威来源而不是猜测。第 2 步拉取评审评论线程原文要求Fetch the review comment threads for the PR (e.g. gh api for review threads/comments).gh api可以直连 GitHub 的 GraphQL/REST 接口取回线程。实操上常见的两个取数入口# REST列出 PR 上的 review comments行内评论 gh api repos/home-assistant/core/pulls/PR_NUMBER/comments --paginate # REST列出 review submissions整体评审意见含 CHANGES_REQUESTED 状态 gh api repos/home-assistant/core/pulls/PR_NUMBER/reviews --paginate这里有一个仓库技能文档中反复强调的坑分页。ha-merge-queue 在核验流程中专门警告check runs, reviews and review threads are all paged, typically 30 per page … page one shows a green subset while a failure or a standing review sits on page two. Compare the returned count against the reported total and keep fetching until they match. 对一个 Home Assistant 的大型 PR评审线程超过 30 条并不罕见审计时若只看第一页就会漏掉挂在后面的未解决意见——这正是本技能要防止的误判。第 3 步标记未被处理的评论含回复了但没改代码原文的规则是审计中最关键的一条Flag comments that have not been addressed. If the author has replied but has not implemented the suggestion, still flag it and summarize the reply.也就是说判定已处理的标准不是作者回过话而是建议是否真的在 diff 中落地。作者回复Ill fix this later或解释性辩驳但没有对应的代码变更该评论依然要出现在审计结果中并且摘要里要带上作者的回复内容让评审者一眼看清双方各自的主张。从源码结构看这类以代码为准的判定方式与 ha-merge-queue 对评审线程的要求完全一致Judge a thread by whether it is resolved or substantively addressed, never by who wrote it … an unresolved finding fromcopilot-pull-request-revieweris a bug report and can be a real defect, so read it on its merits before discounting it. 即不看评论来自哪位人类还是哪台 AI只看问题本身是否已被实质解决。第 4 步标记请求澄清的评论Flag comments for which the author has asked for clarification.当作者对某条意见提出能否解释得更具体一些时该线程处于等待评审方回应的悬挂状态同样属于未闭环。把这类评论单列出来可以让下一步行动非常明确需要的是评审方的一次补充说明而不是作者的改码。第 5 步产出带链接的汇总且只含未处理项Generate a summary of the flagged comments, including a link for each comment. Dont include comments that have been addressed.输出的是一份白名单式的负清单已经处理干净的评论一律不出现避免汇总被噪音淹没每条被标记的评论附一个直接跳转到该评论的链接评审者无需再翻找线程。这一输出约定与 ha-review 的输出格式呼应——后者要求List specific comments for each file/line that needs attention并在结尾给出整体结论approve / request changes / comment与带[CRITICAL]、[PROBLEM]、[SUGGESTION]级别、带文件行号的建议清单。两条技能分别负责意见是否闭环与代码本身的质量合起来构成完整的 PR 审查报告。安全红线只在控制台输出绝不动 GitHub技能文档末尾用IMPORTANT单独强调了执行边界Only provide feedback in the CONSOLE. DO NOT ACT ON GITHUB.这不是风格建议而是仓库治理策略的落地。AI_POLICY.md 规定We do not allow autonomous agents to be used for contributing to our projects. We will close any pull requests or issues that we believe were created autonomously, and may mark automated comments as spam且do not post comments on behalf of a user without their review。因此 ha-pr-comment-audit、ha-pr-reviewer同样以 DO NOT ACT ON GITHUB 收尾、ha-merge-queueno comments, no reviews, no merges, no pushes to contributor branches. PerAI_POLICY.md, a human decides and acts.共享同一红线AI 只生成分析人在环上按下确认键。在技能链中的位置从并行子代理到合并队列ha-pr-comment-audit 并非孤立存在.claude/skills/下的多个技能共同组成一条 PR 处理流水线入口编排— ha-pr-reviewer顶层审查技能。其第 4 条指令写明Run a subagent in parallel to check the PR review comments following theha-pr-comment-auditskill. 即完整 PR 审查时代码 diff 审查转交ha-review与评论线程审计转交ha-pr-comment-audit并行跑在两个子代理里最后汇总成一份控制台报告。代码审查— ha-review负责 diff 质量本身。除常规的质量、安全、性能检查外它还有两个值得一提的机制若 diff 涉及quality_scale.yaml会按 ha-quality-scale-verify 技能派出子代理逐条验证质量等级规则Bronze/Silver/Gold/Platinum审查完成后还会run parallel subagents for each finding to double-check it单次最多 10 个并行子代理复核每条发现防止误报。审计技能— 本技能核对人对人的意见闭环与上面两个机器/人对代码的视角互补。合并分诊— ha-merge-queue维护者视角。其第 5 项核验Review threads — fetch review threads and readis_resolved正是本技能审计目标在合并队列场景下的延伸一个未解决线程counts against the PR until you have read it and concluded it needs no change — the question was answered, the suggestion was considered and declined, the point was fixed elsewhere in the diff。这条细则给出了线程可被关闭的三种正名情形问题已回答、建议被审慎拒绝、修复点在 diff 别处落地可以反向作为本技能审计时的判定参照。此外PR 创建侧的 raise-pull-request 代理.claude/agents/负责另一端的规范PR 标题要写成发布说明风格的祈使句、类型复选框七选一、检查清单按PREK_PASSED/TESTS_PASSED等验证结果勾选、并强制要求作者留意I have reviewed two other open pull requests这一互审项——而互审勾选在 ha-merge-queue 中会被用作排名加权⭐ Contributor reviewed 2 PRs。创建规范、评论审计、合并分诊三者咬合构成仓库 PR 生命周期的自动化辅助闭环。适用前提与限制依赖ghCLI 与 GitHub 访问权限技能全部流程基于gh pr view、gh api前提是本机已登录 GitHub 且对目标 PR 有读权限对私有 fork 同样适用路径参数换成对应仓库即可。只读、只本地技能不向 GitHub 写入任何内容评论、review、merge、push 均在禁止之列符合 AI_POLICY.md 的human decides and acts原则产出物是终端里的一份汇总供人类复制、判断、行动。判定标准的取舍技能有意把回复但未实施视为未处理这是从严口径。对纯解释性评论作者澄清了误解、评审方默认接受严格照规则仍会被标记——这与 ha-merge-queue 的口径一致宁可列出来由人裁决该线程为何不阻塞也不替人下已解决的结论。与 AI 评审工具共存AI_POLICY.md 同时说明项目本身会使用 AI 工具辅助 code review、issue triage这些工具留下的评论are not always correct应treat it as you would any other review comment. If you believe it is incorrect, say so。因此本技能在标记未处理评论时AI 工具如copilot-pull-request-reviewer发出的线程与人类评论享有同等地位——按内容而非按作者过滤。小结ha-pr-comment-audit 用不到二十行 Markdown 定义了一个高复用价值的审计单元解析 PR 上下文 → 分页拉全评论线程 → 按未处理/回复未落地/请求澄清三类从严标记 → 输出带链接的负清单 → 全程只在控制台呈现。它与 ha-pr-reviewer 的并行子代理机制、ha-review 的发现复核机制、ha-merge-queue 的线程is_resolved核验相互印证共同把评审意见是否闭环这件依赖人工记忆的事变成了一个可重复执行、可机器校验的流程而 AI_POLICY.md 与技能文档中的 DO NOT ACT ON GITHUB 红线则保证了这一自动化始终运行在人类决策、AI 辅助的边界之内。【免费下载链接】core:house_with_garden: Open source home automation that puts local control and privacy first.项目地址: https://gitcode.com/GitHub_Trending/co/core创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考