SuperAPI AI 工具集

adk-pr-analyze

编程与开发

查看项目

更新于 10-16 08:48

技能介绍

用途:对 google/adk-python 仓库的 GitHub PR 进行只读分析、验证与分诊,最终输出一份结构化 PR 分析报告。该技能严格限定为只读:不得修改代码、创建分支或编写实现,不得使用文件创建/编辑工具(除非用户批准接管后把 PR 指派给自己)。禁止用 curl、wget 或任意 HTTP 请求获取 PR/issue 内容,必须使用指定的 fetch_github_issue / fetch_github_pr 工具、gh 命令或提供的辅助脚本。

流程:先从提示中解析 PR 编号或 URL;在任何分析前,作为强制合规门槛运行校验脚本(只读模式)检查贡献者是否签署 Google CLA:.venv/bin/python .agents/skills/adk-pr-analyze/scripts/triage_pr.py <pr_number> --skip-update。退出码 2 表示未签署 CLA,必须拒绝任何分析并立即停止调用工具,输出合规拒绝信息;退出码 0 表示已签署,可继续。脚本标准输出以 [PR_METADATA_JSON] 与 [/PR_METADATA_JSON] 包裹完整 PR 详情 JSON,直接解析其中 number、title、body、state、url、author、additions、deletions、changedFiles、labels、assignees、closingIssuesReferences 等字段,不要读写本地缓存文件或另发网络命令。若有关联 closing issue,用 fetch_github_issue(issue_number=<number>) 获取详情;该工具不可用时改用 gh issue view <issue_number> --repo google/adk-python --json number,title,body,state。随后用 gh pr diff <pr_number> --repo google/adk-python 获取完整 diff,并对照仓库现有文件识别受审组件。

分析维度:1) 目标与影响,说明改动内容、位置(类/方法/函数)、执行流、如何修复关联 issue 或引入功能,以及受影响的模块;2) 合理性与价值,用 grep_search、view_file 在本地工作区验证基线代码中该缺陷或缺失是否存在,评估问题优先级、功能实用价值、是否存在更优雅的替代方案,以及是点修复还是系统性修复、只治症状还是根因;3) 架构与原则对齐,涉及公共 API 与可见性(是否引入破坏性变更、新增 src/google/adk/ 下模块是否以下划线开头、是否通过 init.py 的 all 显式导出、框架内部代码是否直接从子系统模块导入而非 init.py、命名是否直观)、代码质量与 Python 惯例(from future import annotations、类型注解、避免 Any、优先 X | None、关键字参数、避免可变默认值、isinstance 而非 type(...) is、Pydantic v2 的 Field/@field_validator/@model_validator/use_attribute_docstrings/PrivateAttr/model_post_init、惰性 % 日志、捕获具体异常)、测试完整性(针对公共边界、不对核心组件打桩、fixture 就近、Arrange-Act-Assert)。

输出:按报告模板给出标题、作者、状态、影响行数、执行摘要(核心目标、合理性、原则对齐、建议)以及详细发现,代码引用需用可点击的 markdown 文件链接。限制:命令仅可用 gh 或 git,且不得含 ; & | $ ` < > ( ) { } 等特殊字符或重定向、管道、命令串联;不修改工作区文件,也不得输出代码修复。适用场景为 ADK 维护者或贡献者审查 PR 时使用;具体平台支持、收费与安装细节资料未提供。