nexi-ui-debug

Diagnose rendering, bridge, and voice-state issues in the Nexi Eel/JS HUD.

Updated Jun 22, 2026
One-click install
npx skills add https://github.com/aicodepro/ai-agent-nexi --skill nexi-ui-debug-aicodepro
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nexi-ui-debug
Source: https://github.com/aicodepro/ai-agent-nexi/tree/main/.opencode/skills/nexi-ui-debug
Command: npx skills add https://github.com/aicodepro/ai-agent-nexi --skill nexi-ui-debug-aicodepro

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? The Nexi desktop HUD can lag, freeze, or ignore state updates, and the root cause is often misattributed to slow Python when it is actually DOM thrashing in JavaScript, a missing JS function on the Eel bridge, or an intentional voice-state transition rejection. This Skill provides the diagnostic knowledge to locate the real cause quickly. ## Core Features & Use Cases - Rendering Performance Guidance: Explains the fixed DOM-thrash bug in hud_orb.js (rebuilding waveform bars via innerHTML every frame) and the rule to mutate existing nodes inside the requestAnimationFrame loop instead of reconstructing them. - Eel Bridge Debugging: Documents _safe_eel_call and the [EEL] missing_js_function log line that identifies exactly which JS-side function is absent when the HUD stops updating. - Voice-State Machine Gotchas: Clarifies that transition_failed reason=no_valid_transition is usually correct cooldown behavior, and how to read conflict_resolved logs when two sources race to set UI state. - Use Case: When the orb waveform stutters or the transcript stops appearing, follow the Skill's checklist: check the missing-function log first, verify cooldown timers before editing the transition table, and confirm fixes by driving the real HUD via Playwright or chrome-devtools MCP. ## Quick Start Debug why the Nexi HUD waveform is lagging and the transcript stopped updating, checking the Eel bridge logs and voice-state transitions.

Frequently Asked Questions about nexi-ui-debug

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I debug a laggy Eel/JavaScript desktop UI?

Check whether render code rebuilds DOM nodes inside the requestAnimationFrame loop. In hud_orb.js the waveform once used innerHTML every frame, causing roughly 1700 element constructions per second; the fix builds the 28 bars once and only mutates style.height and colour per frame.

Why is my Eel Python-to-JS call not updating the UI?

Look for the `[EEL] missing_js_function name=<fn>` log line first. The _safe_eel_call wrapper logs the exact missing JavaScript function instead of raising, so an unresponsive HUD usually means the JS-side function is absent, not that Python is broken.

Why does the voice-state machine reject transitions?

A `transition_failed reason=no_valid_transition` log is usually correct behavior, not a bug. Most states intentionally reject transitions from sleeping or cooldown while a cooldown window is active, so check the cooldown timer before modifying the transition table.

How should I verify a UI animation fix?

Drive the real HUD through the Edge channel using Playwright or chrome-devtools MCP rather than reviewing the JavaScript by eye. Animation and layout bugs do not appear in a diff review, so live verification is required.

What are the limitations of log-based UI state debugging?

Logs like conflict_resolved tell you which state source won a race but not which one should have won. You still need to trace the losing source's code path, and rendering performance issues will not appear in logs at all.