install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/pproenca/dot-skills/chrome-extension-ui" ~/.claude/skills/comeonoliver-skillshub-chrome-extension-ui && rm -rf "$T"
manifest:
skills/pproenca/dot-skills/chrome-extension-ui/SKILL.mdsource content
Chrome Extensions UX/UI Best Practices
Comprehensive UX/UI design guide for Chrome Extensions, optimized for Manifest V3. Contains 42 rules across 8 categories, prioritized by impact to guide extension UI development and code review.
When to Apply
Reference these guidelines when:
- Building new Chrome extension user interfaces
- Choosing between popup, side panel, or content script UI
- Implementing accessible, keyboard-navigable interfaces
- Designing loading states, error handling, and feedback patterns
- Creating options pages and settings persistence
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Component Selection | CRITICAL | |
| 2 | Accessibility & Navigation | CRITICAL | |
| 3 | Popup Design | HIGH | |
| 4 | Side Panel UX | HIGH | |
| 5 | Content Script UI | MEDIUM-HIGH | |
| 6 | Visual Feedback | MEDIUM | |
| 7 | Options & Settings | MEDIUM | |
| 8 | Icons & Branding | LOW-MEDIUM | |
Quick Reference
1. Component Selection (CRITICAL)
- Choose Side Panel for Persistent Taskscomp-popup-vs-sidepanel
- Use Content Scripts for In-Page UIcomp-content-script-ui
- Design for Single Purposecomp-single-purpose
- Request Minimal Permissionscomp-minimal-permissions
- Provide Descriptive Action Tooltipscomp-action-tooltip
2. Accessibility & Navigation (CRITICAL)
- Enable Complete Keyboard Navigationaccess-keyboard-navigation
- Maintain Visible Focus Indicatorsaccess-focus-visible
- Use ARIA Labels for Icon-Only Buttonsaccess-aria-labels
- Ensure Sufficient Color Contrastaccess-color-contrast
- Avoid Keyboard Focus Trapsaccess-focus-trap
- Use Semantic HTML Elementsaccess-semantic-html
3. Popup Design (HIGH)
- Design Within Popup Size Limitspopup-size-constraints
- Render Popup Content Instantlypopup-instant-render
- Make the Primary Action Obviouspopup-primary-action
- Handle Popup Auto-Close Gracefullypopup-auto-close
- Keep JavaScript in External Filespopup-external-js
- Use Dynamic Popups for State-Based UIpopup-dynamic-switch
4. Side Panel UX (HIGH)
- Design Non-Distracting Side Panelspanel-non-distracting
- Choose Tab-Specific vs Window-Wide Panelspanel-tab-vs-window
- Design for Variable Panel Widthspanel-responsive-width
- Sync Panel Content with Page Contextpanel-page-context
- Lazy Load Panel Sectionspanel-lazy-sections
5. Content Script UI (MEDIUM-HIGH)
- Use Shadow DOM for Style Isolationinject-shadow-dom
- Use Maximum Z-Index for Overlaysinject-z-index
- Inject UI After DOM Readyinject-document-ready
- Use Unique IDs to Prevent Conflictsinject-unique-ids
- Clean Up Injected Elements on Removalinject-cleanup
6. Visual Feedback (MEDIUM)
- Show Loading States for Async Operationsfeedback-loading-states
- Write Actionable Error Messagesfeedback-error-messages
- Use Badge for At-a-Glance Statusfeedback-badge-status
- Confirm Successful Actionsfeedback-success-confirmation
- Use Notifications Sparinglyfeedback-notifications
- Show Progress for Long Operationsfeedback-progress-indication
7. Options & Settings (MEDIUM)
- Use Embedded Options for Simple Settingsoptions-embedded-page
- Sync Settings Across Devicesoptions-sync-storage
- Auto-Save Settings on Changeoptions-auto-save
- Provide Sensible Default Settingsoptions-sensible-defaults
8. Icons & Branding (LOW-MEDIUM)
- Provide All Required Icon Sizesbrand-icon-sizes
- Design a Distinctive Toolbar Iconbrand-distinctive-icon
- Keep Badge Text Under 4 Charactersbrand-badge-text
- Maintain Consistent Visual Stylebrand-consistent-styling
- Create Quality Web Store Assetsbrand-web-store-assets
How to Use
Read individual reference files for detailed explanations and code examples:
- Section definitions - Category structure and impact levels
- Rule template - Template for adding new rules
Reference Files
| File | Description |
|---|---|
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |