Agent Skills
› home-assistant/core
› ha-review
ha-review
GitHub用于审查代码变更并提供建设性反馈,确保一致的输出格式。分析质量、Bug、性能及安全,支持子代理并行验证及pre-existing标记。仅审查不修改代码。
触发场景
请求代码审查
提供一致的评审反馈
安装
npx skills add home-assistant/core --skill ha-review -g -y
SKILL.md
Frontmatter
{
"name": "ha-review",
"description": "Reviews Home Assistant code changes and provides constructive feedback. Should be used when a review is requested to provide a consistent review behavior and output format. This skill can be used for code reviews in general, not just for GitHub pull requests."
}
Review Code Changes
Scope:
- Unless instructed otherwise, review the full changes (the ones from the branch plus uncommitted ones) against the target branch. Resolve the base to an available ref (prefer
upstream/<base>, thenorigin/<base>, then local<base>) and reviewgit diff "$(git merge-base "$BASE_REF" HEAD)"; usedevas the default base.
Analyze the code changes for:
- Code quality and style consistency
- Potential bugs or issues
- Performance implications
- Security concerns
- Test coverage
- Documentation updates if needed
- Values that reach new code from existing code. Read the producing side, including its fallbacks and defaults, not only the diff.
- State added to an entity or coordinator. Check where it is reset, for example on reconnect or reload.
Quality scale:
- If the changes include a
quality_scale.yamlfile, run a subagent to verify all the added or modified rules, following theha-quality-scale-verifyskill. - Include the verification results in the final review comments.
Verification:
- After the review, run parallel subagents for each finding to double-check it.
- When a finding suggests a change, also check that the suggested change is valid, for example that it does not violate one of the Home Assistant pylint plugin rules.
- Spawn up to a maximum of 10 parallel subagents at a time.
- Gather the results from the subagents and summarize them in the final review comments.
IMPORTANT:
- Just review. DO NOT make any changes.
- Be constructive and specific in your comments.
- Suggest improvements where appropriate.
- No need to run tests or linters, just review the code changes.
- No need to highlight things that are already good.
Output format:
- List specific comments for each file/line that needs attention.
- In the end, summarize with an overall assessment (approve, request changes, or comment) and bullet point list of changes suggested, if any.
- Example output:
Overall assessment: request changes. 1. [CRITICAL] sensor.py:143 - Memory leak 2. [PROBLEM] data_processing.py:87 - Inefficient algorithm 3. [SUGGESTION] test_init.py:45 - Improve x variable name 4. [NIT][PRE-EXISTING] const.py:12 - Unused constant - Make sure to include the file and line number when possible in the bullet points.
- Flag findings with
[PRE-EXISTING]after the category when the issue already exists on the base branch and the change only touches, moves or sits next to that code. Confirm against the base branch before flagging. Pre-existing findings should not on their own make the overall assessment "request changes".
- Example output:
版本历史
-
779c7a7
当前 2026-11-03 04:20
新增对基础分支中已存在问题的[PRE-EXISTING]标记支持,优化评审准确性;补充基于PR反馈的AI技能指令。
-
8760410
2026-10-19 11:22
将审查总结改为使用编号列表格式。
- 702a9cb 2026-07-25 09:23


