将 linter 与分析器发现回传至拉取请求
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/post-linter-and-analyzer-findings-back-into-pull-requests。
技能介绍
背景:原始日志淹没评审
在 CI 中运行 linter 或静态分析器后,输出往往直接堆在日志里。即便一个问题出现在已修改的行上,评审者也要从头翻日志,再回到 diff 里定位行号。行号不匹配或报错与改动无关时,评审成本进一步上升,reviewdog 正是为了解决这个问题。
核心能力
该技能基于 reviewdog 工作,把机器可读的诊断结果转成 diff-aware 反馈:
- 复用项目已有的 linter 或分析器,不必替换检查工具
- 按 diff 过滤,只关注变更行上的发现
- 以 inline review comment 或 annotation 形式发布,而不是在 CI 日志里堆文本
关键步骤
- 准备:存在能输出机器可读诊断的工具,并具备 local git diff 或 CI pull request context。
- 运行检查:执行已有 linter / analyzer,收集 diagnostics。
- 过滤定位:按 diff 筛选,把结果映射到变更行。
- 回传反馈:通过 reviewdog 发布到 PR,成为可审查的内联评论。
适用边界与注意点
- 不同 reporter 对上下文要求不同;例如
github-pr-checkreporter 需要能生成 diff 的 GitHub API token。 - 没有 PR context 时,技能难以判断变更行,能力会受限。
- 诊断格式需要机器可读;若工具只输出纯文本日志,无法直接利用。
- 该技能不会替代 linter 本身,只是把结果更精准地投到 diff 上。
使用场景
- 在CI中运行多个linter时,日志堆叠导致评审者难以定位变更行上的问题,希望自动生成内联评论
- 项目使用多种linter和分析器,输出格式不统一,评审时需要统一转换为可定位的PR评论
- CI日志中分析器报错分散在未修改的行,希望只展示变更行相关的发现,减少噪音
- 团队希望保留现有linter工具,仅将CI中的原始日志转为PR上的内联反馈
适合人员
- 平台工程团队,需要在CI检查后将linter结果精准定位到PR变更行
- 后端开发工程师,希望代码评审时直接看到改动行上的问题而非翻日志
- 移动端开发者,使用多种静态分析工具,希望输出统一转为PR内联评论
- 开源项目维护者,关注CI日志精炼度,希望无关告警不进入评审流程