Open the smartbar dropdown in Firefox's AI window by focusing the smartbar and triggering a search. Requires the AI window to be open first (run /open-ai-window if needed). Trigger phrases: "open smartbar", "open the smartbar dropdown", "show smartbar results".
How this skill is triggered — by the user, by Claude, or both
Slash command
/compare-figma-to-impl:open-smartbar-dropdownThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Prerequisites: The AI window must already be open and its chrome context selected. If not, run /open-ai-window first.
Prerequisites: The AI window must already be open and its chrome context selected. If not, run /open-ai-window first.
Use mcp__firefox-devtools__evaluate_chrome_script to verify the AI window is ready:
(function() {
const browser = gBrowser.selectedBrowser;
const contentDoc = browser.contentDocument;
const aiWindow = contentDoc.querySelector('ai-window');
if (!aiWindow || !aiWindow.shadowRoot) return 'NOT_READY';
return 'READY';
})()
If NOT_READY, STOP and tell the user to run /open-ai-window first.
Use mcp__firefox-devtools__evaluate_chrome_script to focus the smartbar and search to trigger the dropdown:
(function() {
const browser = gBrowser.selectedBrowser;
const contentDoc = browser.contentDocument;
const aiWindow = contentDoc.querySelector('ai-window');
const shadow = aiWindow.shadowRoot;
const smartbar = shadow.querySelector('moz-smartbar');
smartbar.focus();
smartbar.value = 'amaz';
smartbar.search('amaz');
return 'done';
})()
NOTE: Do NOT use gURLBar — that is the regular urlbar, not the smartbar. The smartbar is accessed via the ai-window shadow DOM.
Wait 1 second, then verify the dropdown opened using mcp__firefox-devtools__evaluate_chrome_script:
(function() {
const browser = gBrowser.selectedBrowser;
const contentDoc = browser.contentDocument;
const aiWindow = contentDoc.querySelector('ai-window');
const shadow = aiWindow.shadowRoot;
const urlbar = shadow.querySelector('.urlbar');
const urlbarView = shadow.querySelector('.urlbarView');
return {
urlbarOpen: urlbar.getAttribute('open') !== null,
urlbarViewHasResults: urlbarView.getAttribute('noresults') === null,
rowCount: shadow.querySelectorAll('.urlbarView-row').length
};
})()
If urlbarOpen is false, retry step 2 once. If still not open after 2 attempts, STOP and report to user.
<moz-smartbar> inside the <ai-window> shadow DOM — NOT gURLBargBrowser.selectedBrowser.contentDocument -> <ai-window> -> .shadowRoot -> moz-smartbar / .urlbarViewfocus(), search(), and value properties.urlbarView-row, .urlbarView-title, .urlbarView-url, .urlbarView-actionnpx claudepluginhub dmose/compare-figma-to-impl --plugin compare-figma-to-implProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.