بنقرة واحدة
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.