jsgui3-verify

Verifies jsgui3 SSR and client reattachment behavior through runtime measurement instead of source inference.

1|Updated Sep 12, 2025
One-click install
npx skills add https://github.com/metabench/copilot-dl-news --skill jsgui3-verify-metabench
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: jsgui3-verify
Source: https://github.com/metabench/copilot-dl-news/tree/main/.claude/skills/jsgui3-verify
Command: npx skills add https://github.com/metabench/copilot-dl-news --skill jsgui3-verify-metabench

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? jsgui3 renders on the server and reattaches in the browser, and failures at that seam are silent: controls render empty, stale, or blank-but-correctly-shaped, so green tests and plausible code reviews routinely miss real UI defects. This Skill enforces runtime measurement over source inference when changing, reviewing, or debugging jsgui3 controls. ## Core Features & Use Cases - Reattachment contract reference: Documents exactly what survives server-to-client activation (control tree, _ctrl_fields, _fields) and what does not (this.* assignments, data.model, text nodes), all verified in a live browser. - Discriminating proof techniques: Provides concrete checks such as marker-then-refresh to prove repaints, reading content instead of counting nodes, and testing exactly-one behavior twice across mouse and deep-link paths. - Trap catalog: Lists known failure modes including persist_activation_state for SSR'd Data_Grids, stock control spec mismatches (Chip takes label, not text), and the pre_activate() requirement for late-composed controls. - Use Case: After editing a control under src/ui/server/*/controls/, restart the server, load the page, check the console is clean, and assert on actual DOM content before writing "verified" in a commit message. ## Quick Start Use the jsgui3-verify skill to check whether my change to the Data_Grid control actually works in the browser before I mark it verified.

Frequently Asked Questions about jsgui3-verify

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

FAQPage Schema
How do I verify a jsgui3 control change actually works?▼

Restart the server first, since Server({Ctrl}) publishes the SSR HTML and bundle only at boot. Then load the page, wait 1.5-2.5 seconds for activation, confirm the console is clean, and assert on actual DOM content rather than element counts or shape.

Why does my jsgui3 Data_Grid render rows with no cells after SSR?▼

An SSR'd Data_Grid or Data_Table needs persist_activation_state: true, otherwise the reattached grid has zero columns and renders the right number of rows with no cells. A grid composed at runtime does not need this flag.

Why is my jsgui3 control property undefined in the browser?▼

Reattachment constructs controls through the spec.el path, which skips compose entirely, so anything assigned to this during compose is lost. Reach collaborators by walking the control tree via .parent and content._arr instead.

How do I prove a jsgui3 list actually repainted after refresh?▼

Use the marker-then-refresh technique: set a data-stale attribute on an element, trigger the refresh, then confirm zero elements retain the marker. A populated-looking list proves nothing because SSR markup also looks populated.

Why does a stock jsgui3 Chip render blank pills?▼

Chip reads spec.label, not spec.text, and the failure is silent, producing correctly shaped but empty pills. Check the control's .d.ts or constructor before passing spec properties, and assert on textContent values rather than counts.

Why do add_class and attribute writes do nothing on a dynamically added jsgui3 control?▼

Controls composed into an already-activated parent never activate on their own. Call pre_activate() then activate() on the new subtree, since pre_activate installs the vdom-to-DOM sync listener that makes later mutations visible.