# Ha Review

> Reviews Home Assistant code changes and provides constructive feedback.

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.

- Page: https://ss33.ai/skills/home-assistant/ha-review-36397127726
- Publisher: home-assistant
- Category: [Software Development](https://ss33.ai/skills/category/software-development-t44z8z) › [Source control & code review](https://ss33.ai/skills/category/software-development-t44z8z/source-control-and-code-review-jebezw)
- License: Apache-2.0
- Source: https://github.com/home-assistant/core/blob/a1af789c85216162fd5e20209fa46bbc46186252/.claude/skills/ha-review/SKILL.md

## Skill

SKILL.md: https://ss33.ai/api/v1/ss33/download/home-assistant/ha-review-36397127726

# 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>`, then `origin/<base>`, then local `<base>`) and review `git diff "$(git merge-base "$BASE_REF" HEAD)"`; use `dev` as 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

## Quality scale:
- If the changes include a `quality_scale.yaml` file, run a subagent to verify all the added or modified rules, following the `ha-quality-scale-verify` skill.
- Include the verification results in the final review comments.

## Verification:
- After the review, run parallel subagents for each finding to double-check it.
- 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
    ```
  - Make sure to include the file and line number when possible in the bullet points.
