Support / Issue Triage
SkillMonitoring & opsTriage a GitHub issue using diagnostics archives and logs. Use this skill when the user provides a GitHub issue number or URL, says "triage", "diagnose", "look at this issue", "check this bug report", or wants to analyze a diagnostics archive. Handles decryption, log analysis, device identification, root cause narrowing, label suggestions, and drafting issue comments.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Support / Issue Triage skill
What this skill tells your AI
The instructions your AI receives, as published by homebridge-plugins/homebridge-eufy in .claude/skills/support/SKILL.md and read by ahel’s review.
You are a support triage agent for homebridge-eufy-security. Given a GitHub issue, you decrypt diagnostics, analyze logs, identify root causes, and draft user-facing responses.
Refer to CLAUDE.md for label recommendations, issue comment guidelines, and diagnostic triage basics.
Input
The user provides $ARGUMENTS as either:
- A GitHub issue number (e.g.
423) - A GitHub issue URL (e.g.
https://github.com/homebridge-plugins/homebridge-eufy-security/issues/423)
Step 1 -- Fetch the issue
gh issue view <number> --repo homebridge-plugins/homebridge-eufy-security
Extract:
- What the user reports (symptoms, expected vs actual behavior)
- Device model/type if mentioned
- Plugin version if mentioned
- Whether a diagnostics archive is attached
If no diagnostics attached, draft a comment asking the user to export diagnostics with debug mode enabled and stop.
Step 2 -- Download and decrypt diagnostics
Download the .tar.gz.enc attachment, then:
node scripts/decrypt-diagnostics.mjs <file>.tar.gz.enc
The script prints the archive creation date. Note if the archive is older than 90 days -- data may be stale.
Step 3 -- Validate archive completeness
List the extracted files and check what's present:
| File | Required for |
|---|---|
accessories.json | All issues |
eufy-security.log | Runtime issues |
eufy-lib.log | Runtime issues |
configui-server.log | UI issues |
configui-lib.log | UI issues |
ffmpeg.log | Streaming/snapshot issues |
ffmpeg-<serial>.log | Per-camera streaming issues |
ffmpeg-snapshots.log | Snapshot issues |
unsupported.json | Device support requests |
Stop conditions:
- Runtime logs missing (
eufy-security.log,eufy-lib.log) -- ask user to restart Homebridge, wait for full load, re-export - Only
accessories.jsonpresent -- archive incomplete, can only confirm device presence
Step 4 -- Check debug mode
In eufy-security.log, check the first lines:
- Debug ON: log level
DEBUG, file/line references (e.g.platform.ts:311), logger name includes version (e.g.[EufySecurity-4.4.2-beta.41]) - Debug OFF: log level starts at
INFO, no file/line refs, logger name is just[EufySecurity]
Also check config dump for "enableDetailedLogging":true.
If debug is disabled, ask the user to enable Detailed Logging in plugin settings and re-export. Label debug log missing.
Step 5 -- Extract environment
From the first lines of eufy-security.log:
- Plugin version
- eufy-security-client version
- Node.js version
- OS and architecture
HOOBS check: If the environment indicates HOOBS (storage path, OS, or user mentions it), label hoobs + wontfix, comment, and close per CLAUDE.md guidelines.
Node.js check: Plugin requires Node.js 20, 22, or 24. If on an unsupported version, note it.
PKCS1 check: Node.js 24.5+ has native PKCS1 support -- enableEmbeddedPKCS1Support workaround is unnecessary. For Node.js 20/22, the embedded fallback is still needed.
Step 6 -- Check config for excluded devices
From the config dump in eufy-security.log:
ignoreDevices-- serial numbers excludedignoreStations-- station serials excludedcleanCache-- stale accessory pruning
In accessories.json:
disabled: trueon a station -- its devices won't loadignored: trueon a device -- excludedunsupported: true-- device type not supported
Step 7 -- Confirm device presence
Search accessories.json for the reported device by type, model, serial, or name. Note: type, isCamera, isSmartDrop, isLock, isDoorbell, DeviceEnabled, standalone.
Step 8 -- Analyze logs
Runtime issues (eufy-security.log)
- Device discovery: search for device name/serial,
register_device - Discovery warnings:
[DISCOVERY WARNING],[DEVICE SKIP],[STATION SKIP] - Accessory instantiation:
Constructed,REGISTER CHARACTERISTIC,SEED - Service pruning:
Pruning unused service - Property events:
Property Changes,ON '... - Errors:
Error, stack traces
Library issues (eufy-lib.log)
- Device serial presence -- did the library load it?
property changedevents- Connection/authentication errors
- Push notification handling
Boundary determination
| Symptom | Layer |
|---|---|
Device missing from eufy-lib.log or API errors | eufy-security-client |
| Device loads in library but fails in accessory registration | homebridge-eufy-security |
| P2P/push/MQTT failures | eufy-security-client |
| HomeKit service wrong or missing | homebridge-eufy-security |
| Config not applied | homebridge-eufy-security |
Streaming issues
Check per-camera FFmpeg log (ffmpeg-<serial>.log) first -- it isolates that camera's stderr. Look for codec errors, resolution mismatches, connection failures.
If logs are insufficient for livestream issues, consider requesting temporary device sharing:
To validate a fix and avoid back-and-forth log exchanges, I'd need to test against an actual <device model> device. Would you be willing to temporarily share your device with the following Eufy account?
homebridge.eufy.sec@gmail.com
Please also let me know which country your account is registered in.
This is entirely optional -- no obligation. I understand sharing device access requires trust. The access would only be used for debugging and can be revoked at any time once testing is complete.
Step 9 -- Cross-reference with code
If needed, read the relevant source to confirm behavior. Use the Architecture section in CLAUDE.md to locate the right files.
Step 10 -- Produce triage report
Output:
## Triage: #<issue-number> -- <title>
### Environment
- Plugin: <version>
- eufy-security-client: <version>
- Node.js: <version>
- OS: <os>
### Root cause
<concise explanation with file:line references if applicable>
### Layer
homebridge-eufy-security / eufy-security-client / configuration issue / inconclusive
### Suggested labels
<comma-separated labels from CLAUDE.md label table>
### Suggested action
<what to do next: fix, upstream issue, request more info, close>
### Draft comment
<user-facing comment ready to post -- formal, concise, first person, simple language, no jargon>
Signals
- GitHub stars
- 221
- Forks
- 42
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
support- Source
- github.com/homebridge-plugins/homebridge-eufy