Files
SuperCharged-Claude-Code-Up…/skills/ui-ux-pro-max/data/web-interface.csv
admin 7b42ebd2b0 Add custom Claude Code upgrades and restore all skills
Added 16 custom skills:
- ralph (RalphLoop autonomous agent)
- brainstorming (with Ralph integration)
- dispatching-parallel-agents
- autonomous-loop
- multi-ai-brainstorm
- cognitive-context, cognitive-core, cognitive-planner, cognitive-safety
- tool-discovery-agent
- ui-ux-pro-max (full design system)
- wordpress-ai
- agent-pipeline-builder
- dev-browser
- planning-with-files
- playwright-skill

Also organized remaining skills that were at root level into skills/ folder.

Total: 272 skills from skills.sh + 16 custom upgrades

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-23 18:10:15 +00:00

7.3 KiB

1NoCategoryIssueKeywordsPlatformDescriptionDoDon'tCode Example GoodCode Example BadSeverity
21AccessibilityIcon Button Labelsicon button aria-labelWebIcon-only buttons must have accessible namesAdd aria-label to icon buttonsIcon button without label<button aria-label='Close'><XIcon /></button><button><XIcon /></button>Critical
32AccessibilityForm Control Labelsform input label ariaWebAll form controls need labels or aria-labelUse label element or aria-labelInput without accessible name<label for='email'>Email</label><input id='email' /><input placeholder='Email' />Critical
43AccessibilityKeyboard Handlerskeyboard onclick onkeydownWebInteractive elements must support keyboard interactionAdd onKeyDown alongside onClickClick-only interaction<div onClick={fn} onKeyDown={fn} tabIndex={0}><div onClick={fn}>High
54AccessibilitySemantic HTMLsemantic button a labelWebUse semantic HTML before ARIA attributesUse button/a/label elementsDiv with role attribute<button onClick={fn}>Submit</button><div role='button' onClick={fn}>Submit</div>High
65AccessibilityAria Livearia-live polite asyncWebAsync updates need aria-live for screen readersAdd aria-live='polite' for dynamic contentSilent async updates<div aria-live='polite'>{status}</div><div>{status}</div> // no announcementMedium
76AccessibilityDecorative Iconsaria-hidden decorative iconWebDecorative icons should be hidden from screen readersAdd aria-hidden='true' to decorative iconsDecorative icon announced<Icon aria-hidden='true' /><Icon /> // announced as 'image'Medium
87FocusVisible Focus Statesfocus-visible outline ringWebAll interactive elements need visible focus statesUse :focus-visible with ring/outlineNo focus indicationfocus-visible:ring-2 focus-visible:ring-blue-500outline-none // no replacementCritical
98FocusNever Remove Outlineoutline-none focus replacementWebNever remove outline without providing replacementReplace outline with visible alternativeRemove outline completelyfocus:outline-none focus:ring-2focus:outline-none // nothing elseCritical
109FocusCheckbox Radio Hit Targetcheckbox radio label targetWebCheckbox/radio must share hit target with labelWrap input and label togetherSeparate tiny checkbox<label class='flex gap-2'><input type='checkbox' /><span>Option</span></label><input type='checkbox' id='x' /><label for='x'>Option</label>Medium
1110FormsAutocomplete Attributeautocomplete input formWebInputs need autocomplete attribute for autofillAdd appropriate autocomplete valueMissing autocomplete<input autocomplete='email' type='email' /><input type='email' />High
1211FormsSemantic Input Typesinput type email tel urlWebUse semantic input type attributesUse email/tel/url/number typestext type for everything<input type='email' /><input type='text' /> // for emailMedium
1312FormsNever Block Pastepaste onpaste passwordWebNever prevent paste functionalityAllow paste on all inputsBlock paste on password/code<input type='password' /><input onPaste={e => e.preventDefault()} />High
1413FormsSpellcheck Disablespellcheck email codeWebDisable spellcheck on emails and codesSet spellcheck='false' on codesSpellcheck on technical input<input spellCheck='false' type='email' /><input type='email' /> // red squigglesLow
1514FormsSubmit Button Enabledsubmit button disabled loadingWebKeep submit enabled and show spinner during requestsShow loading spinner keep enabledDisable button during submit<button>{loading ? <Spinner /> : 'Submit'}</button><button disabled={loading}>Submit</button>Medium
1615FormsInline Errorserror message inline focusWebShow error messages inline near the problem fieldInline error with focus on first errorSingle error at top<input /><span class='text-red-500'>{error}</span><div class='error'>{allErrors}</div> // at topHigh
1716PerformanceVirtualize Listsvirtualize list 50 itemsWebVirtualize lists exceeding 50 itemsUse virtual list for large datasetsRender all items<VirtualList items={items} />items.map(item => <Item />)High
1817PerformanceAvoid Layout Readslayout read render getboundingclientrectWebAvoid layout reads during render phaseRead layout in effects or callbacksgetBoundingClientRect in renderuseEffect(() => { el.getBoundingClientRect() })const rect = el.getBoundingClientRect() // in renderMedium
1918PerformanceBatch DOM Operationsbatch dom write readWebGroup DOM operations to minimize reflowsBatch writes then readsInterleave reads and writeswrites.forEach(w => w()); reads.forEach(r => r())write(); read(); write(); read(); // thrashingMedium
2019PerformancePreconnect CDNpreconnect link cdnWebAdd preconnect links for CDN domainsPreconnect to known domains<link rel='preconnect' href='https://cdn.example.com' />// no preconnect hintLow
2120PerformanceLazy Load Imageslazy loading image below-foldWebLazy-load images below the foldUse loading='lazy' for below-fold imagesLoad all images eagerly<img loading='lazy' src='...' /><img src='...' /> // above fold onlyMedium
2221StateURL Reflects Stateurl state query paramsWebURL should reflect current UI stateSync filters/tabs/pagination to URLState only in memory?tab=settings&page=2useState only // lost on refreshHigh
2322StateDeep Linkingdeep link stateful componentWebStateful components should support deep-linkingEnable sharing current view via URLNo shareable staterouter.push({ query: { ...filters } })setFilters(f) // not in URLMedium
2423StateConfirm Destructive Actionsconfirm destructive delete modalWebDestructive actions require confirmationShow confirmation dialog before deleteDelete without confirmationif (confirm('Delete?')) delete()onClick={delete} // no confirmationHigh
2524TypographyProper Unicodeunicode ellipsis quotesWebUse proper Unicode charactersUse ... curly quotes proper dashesASCII approximations'Hello...' with proper ellipsis'Hello...' with three dotsLow
2625TypographyText Overflowtruncate line-clamp overflowWebHandle text overflow properlyUse truncate/line-clamp/break-wordsText overflows container<p class='truncate'>Long text...</p><p>Long text...</p> // overflowsMedium
2726TypographyNon-Breaking Spacesnbsp unit brandWebUse non-breaking spaces for units and brand namesUse &nbsp; between number and unit10&nbsp;kg or Next.js&nbsp;1410 kg // may wrapLow
2827Anti-PatternNo Zoom Disableviewport zoom disableWebNever disable zoom in viewport metaAllow user zoom<meta name='viewport' content='width=device-width'><meta name='viewport' content='maximum-scale=1'>Critical
2928Anti-PatternNo Transition Alltransition all specificWebAvoid transition: all - specify propertiesTransition specific propertiestransition: alltransition-colors duration-200transition-all duration-200Medium
3029Anti-PatternOutline Replacementoutline-none ring focusWebNever use outline-none without replacementProvide visible focus replacementRemove outline with nothingfocus:outline-none focus:ring-2 focus:ring-blue-500focus:outline-none // aloneCritical
3130Anti-PatternNo Hardcoded Datesdate format intl localeWebUse Intl for date/number formattingUse Intl.DateTimeFormatHardcoded date formatnew Intl.DateTimeFormat('en').format(date)date.toLocaleDateString() // or manual formatMedium