orbit-editor-perflisted
Install: claude install-skill adityaarsharma/orbit
# 🪐 orbit-editor-perf — Page-builder editor profiling
Most Elementor / Gutenberg addon bugs aren't on the frontend — they're in the editor. Slow widget insert, frozen panel, 200MB memory after 5 minutes. This skill catches them.
---
## Quick start
```bash
bash ~/Claude/orbit/scripts/editor-perf.sh
# → reports/editor-perf-<timestamp>.json
```
Or via gauntlet (Step 10):
```bash
bash scripts/gauntlet.sh --plugin . --mode full
```
---
## What it measures
| Metric | Target | Bad |
|---|---|---|
| **Editor ready time** (open-to-interactive) | < 3s | > 5s |
| **Widget panel populated** | < 500ms after ready | > 2s |
| **Widget insert → rendered in canvas** | < 300ms | > 1s |
| **Memory after 20 widgets inserted** | < 100MB growth | > 250MB |
| **Console error spam** (per session) | 0 | any |
| **Long tasks** (>50ms blocks main thread) | < 5 | > 20 |
| **Layout shift in editor** | < 0.05 | > 0.1 |
Each is a release-blocker if exceeded.
---
## Elementor-specific spec
```js
// tests/playwright/editor-perf/elementor.spec.js
test('Editor ready in <3s', async ({ page }) => {
await page.goto('/wp-admin/post-new.php?post_type=page');
const t0 = Date.now();
await page.click('#elementor-switch-mode-button');
await page.waitForSelector('#elementor-editor-wrapper', { state: 'visible' });
await page.waitForFunction(() => window.elementor?.documents?.getCurrent());
const ready = Date.now() - t0;
console.log(`Editor ready: ${ready}ms`);
expect(ready).toBeLessThan(3000)