Web Component Performance
SkillDev toolsGuides performance testing for native Web Components and custom elements. Use when measuring custom element registration, upgrade cost, connected/disconnected callbacks, attributeChangedCallback churn, Shadow DOM work, slots, or fig-* component scalability.
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 Web Component Performance skill
What this skill tells your AI
The instructions your AI receives, as published by rogie/figui3 in .cursor/skills/web-component-performance/SKILL.md and read by ahel’s review.
Measure custom element performance in real browsers. Pair this with web-component-testing when validating both behavior contracts and performance regressions.
Hot Paths
customElements.defineandcustomElements.whenDefinedduring boot.- Initial upgrade of many existing elements.
connectedCallbackanddisconnectedCallbackduring repeated mount/unmount.attributeChangedCallbackand property setters during state sync.- Shadow DOM creation, slot distribution, and internal event wiring.
- Form-style event emission during fast interactions.
Test Pattern
- Create a scaled fixture with representative
fig-*markup. - Wait for definitions, then separate upgrade timing from interaction timing.
- Measure repeated mount/unmount cycles for cleanup and callback cost.
- Stress public APIs: attributes, properties, slots, and user interactions.
- Assert no page errors, no console errors, correct final state, and bounded timing.
Useful Checks
- Count how many times lifecycle callbacks run for one user-visible operation.
- Verify attribute writes do not emit user interaction events unless the component contract says so.
- Compare one component vs many components in the same page to catch nonlinear scaling.
- Test overlay/picker components with nested popups because geometry work can multiply.
- Confirm cleanup by removing hosts, re-adding them, and checking events are not duplicated.
Fix Preferences
- Avoid rebuilding Shadow DOM when a targeted text/style/value update is enough.
- Coalesce repeated attribute/property sync when the public contract allows it.
- Keep event listeners stable and remove external listeners in
disconnectedCallback. - Prefer public host state for tests; inspect internals only to prove a suspected performance issue.
Avoid
- Measuring autonomous custom elements in jsdom.
- Benchmarking constructors alone when the real cost is upgrade plus connected work.
- Adding caches that make attribute/property reflection stale.
- Changing public event timing to pass a benchmark.
Signals
- GitHub stars
- 66
- Forks
- 1
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
web-component-performance- Source
- github.com/rogie/figui3