Use when testing UI changes, verifying builds work, or validating extension behavior on PoE trade website or Storybook
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
The DEV indicator in the panel header shows reload status:
Green dot: Background reload script is connected and working
Red dot: Disconnected - extension needs reload or background script issue
Yellow dot: Checking connection status
Check DEV Indicator
// Look for DEV indicator in panel headerconst snapshot = awaitaccessibilitySnapshot({ page: state.tradePage, search: /DEV/i });
console.log(snapshot);
The indicator should show "DEV" text with a colored dot. If you see the DEV indicator but it's red:
Try refreshing the trade page manually
Check chrome://extensions for errors
Reload the extension in chrome://extensions
Verify Auto-Reload Works
Make a small code change (e.g., add a console.log)
Run bun run dev again
Watch the trade page - it should auto-reload within 1-2 seconds
Verify the DEV indicator is still green after reload
Step 4: Test UI Components
Testing in Storybook (Preferred for Component Development)
Start Storybook if not running:
bun run storybook
Navigate to specific stories:
// Navigate to a component storyawait state.storybookPage.goto('http://localhost:6006/?path=/story/panel--default');
await state.storybookPage.waitForLoadState('networkidle');
const snapshot = awaitaccessibilitySnapshot({ page: state.storybookPage });
console.log(snapshot);
Testing on PoE Trade Website
Check the extension panel is visible:
// Get snapshot of extension elementsconst snapshot = awaitaccessibilitySnapshot({ page: state.tradePage, search: /paste|history|bookmark/i });
console.log(snapshot);
Interact with panel tabs:
// Click a tab in the extension panelawait state.tradePage.locator('aria-ref=<ref>').click();
awaitaccessibilitySnapshot({ page: state.tradePage, showDiffSinceLastCall: true });
Step 5: Test Item Paste Functionality
Paste an Item
const itemText = `Item Class: Body Armours
Rarity: Rare
Damnation Shell
Expert Hexer's Robe
--------
Energy Shield: 135
--------
Requirements:
Level: 65
Int: 134
--------
Item Level: 74
--------
+35 to maximum Life
+42% to Fire Resistance
+28% to Lightning Resistance`;
const pasteInput = state.tradePage.locator('input[placeholder*="Paste"]');
await pasteInput.click();
await pasteInput.evaluate((el, text) => {
el.value = '';
const event = newClipboardEvent('paste', {
clipboardData: newDataTransfer(),
bubbles: true
});
event.clipboardData.setData('text/plain', text);
el.dispatchEvent(event);
}, itemText);