원클릭으로
review-integration
Review a meter or charger integration PR or file against project patterns and rules
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Review a meter or charger integration PR or file against project patterns and rules
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | review-integration |
| description | Review a meter or charger integration PR or file against project patterns and rules |
| user-invocable | true |
| argument-hint | <PR number or file path> |
Reviews a meter or charger integration for pattern compliance, correctness, and completeness.
If PR number (e.g., 42):
gh pr diff $ARGUMENTS to get changed filesmeters/ or chargers/If file path (e.g., custom_components/evse_load_balancer/meters/shelly_meter.py):
From file paths, determine if this is a meter or charger. Read the implementation file(s).
Read for comparison:
custom_components/evse_load_balancer/const.py (check registration)__init__.py (check registration)custom_components/evse_load_balancer/config_flow.py (check filter list for chargers)meters/meter.py or chargers/charger.py)Evaluate each item. Mark as PASS, FAIL, or WARN with specific file:line references.
Meter, HaDevice or HaDevice, Charger or Zigbee2Mqtt, Charger)__init__ called explicitly (not super())self.refresh_entities() called at end of __init__ (HaDevice-based only)cf.CONF_PHASE_KEY_* constants_get_entity_map_for_phase handles all phases + raises ValueError for invalid_LOGGER.warning() for missing states (not errors, not silent)msg before raiseraise Exception<name>_meter.py or <name>_charger.py<Name>Meter or <Name>Charger_LOGGER defined at module level# noqa: TID252 on parent package importsis_charger_device is static, checks device.identifiersset_current_limit uses min(limit.values()) for single-value chargersset_current_limit uses blocking=True on service callsis_charging subset of can_charge subset of car_connectedasync_setup and async_unload implementedget_active_phase_current returns int | Nonefloor() used when computing current from power/voltageget_tracking_entities returns correct entity_idsconst.pySUPPORTED_METER_DEVICES (meters) or _charger_device_filter_list (chargers)tests/meters/ or tests/chargers/ruff check <implementation_file>
pytest <test_file> -v 2>&1 || true
Format as:
## Integration Review: <Name> <Meter|Charger>
### Summary
<1-2 sentence assessment>
### Results
| Category | Status | Details |
|----------|--------|---------|
| Base Class | PASS/FAIL | ... |
| Entity Lookup | PASS/FAIL | ... |
| Error Handling | PASS/FAIL | ... |
| Naming & Style | PASS/FAIL | ... |
| Type-Specific | PASS/FAIL | ... |
| Registration | PASS/FAIL | ... |
| Tests | PASS/FAIL | ... |
### Issues
1. **[FAIL] <category>**: <description>
- File: <path>:<line>
- Fix: <specific suggestion>
### Suggestions
- <optional improvements, not blocking>
If issues are found, offer to fix them directly or describe the fixes needed for /create-integration to apply.