UI/UX Design System Advisor
Galaxy-Dawn/claude-scholar
Turns a vague UI request into a concrete design system with style, palette, typography and layout guidance from a search script, plus stack-specific implementation advice.
Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.
$ npx skills add Community-Access/accessibility-agents --skill kb-framework-accessibility -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Community-Access/accessibility-agents kb-framework-accessibility --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Community-Access/accessibility-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/kb-framework-accessibility .claude/skills/kb-framework-accessibility && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "kb-framework-accessibility" agent skill from https://github.com/Community-Access/accessibility-agents/tree/main/skills/kb-framework-accessibility into .claude/skills/kb-framework-accessibility/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kb-framework-accessibility", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Community-Access/accessibility-agents/tree/main/skills/kb-framework-accessibilityType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Community-Access/accessibility-agents --skill kb-framework-accessibility -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Community-Access/accessibility-agents kb-framework-accessibility --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Community-Access/accessibility-agents.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/kb-framework-accessibility .agents/skills/kb-framework-accessibility && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "kb-framework-accessibility" agent skill from https://github.com/Community-Access/accessibility-agents/tree/main/skills/kb-framework-accessibility into .agents/skills/kb-framework-accessibility/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kb-framework-accessibility", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Community-Access/accessibility-agents --skill kb-framework-accessibility -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Community-Access/accessibility-agents kb-framework-accessibility --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Community-Access/accessibility-agents.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/kb-framework-accessibility .cursor/skills/kb-framework-accessibility && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "kb-framework-accessibility" agent skill from https://github.com/Community-Access/accessibility-agents/tree/main/skills/kb-framework-accessibility into .cursor/skills/kb-framework-accessibility/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kb-framework-accessibility", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Community-Access/accessibility-agents.git --path skills/kb-framework-accessibility--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Community-Access/accessibility-agents --skill kb-framework-accessibility -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Community-Access/accessibility-agents kb-framework-accessibility --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Community-Access/accessibility-agents.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/kb-framework-accessibility .gemini/skills/kb-framework-accessibility && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "kb-framework-accessibility" agent skill from https://github.com/Community-Access/accessibility-agents/tree/main/skills/kb-framework-accessibility into .gemini/skills/kb-framework-accessibility/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kb-framework-accessibility", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Community-Access/accessibility-agents kb-framework-accessibilityInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Community-Access/accessibility-agents --skill kb-framework-accessibility -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Community-Access/accessibility-agents.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/kb-framework-accessibility .github/skills/kb-framework-accessibility && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "kb-framework-accessibility" agent skill from https://github.com/Community-Access/accessibility-agents/tree/main/skills/kb-framework-accessibility into .github/skills/kb-framework-accessibility/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kb-framework-accessibility", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Community-Access/accessibility-agents --skill kb-framework-accessibility -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Community-Access/accessibility-agents kb-framework-accessibility --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Community-Access/accessibility-agents.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/kb-framework-accessibility .opencode/skills/kb-framework-accessibility && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "kb-framework-accessibility" agent skill from https://github.com/Community-Access/accessibility-agents/tree/main/skills/kb-framework-accessibility into .opencode/skills/kb-framework-accessibility/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kb-framework-accessibility", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
kb-framework-accessibilityReference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.
Kb Framework Accessibility is an agent skill from Community-Access/accessibility-agents. Reference data, not a reviewer. Framework-specific accessibility patterns and fix templates for React, Vue, Angular, Svelte, Next.js, and Tailwind CSS.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in Frontend & Design, covering Accessibility. It works with Tailwind CSS, React, Angular and Next.js. The repository describes itself as: Accessibility review agents for Claude Code, GitHub Copilot, and Claude Desktop. Eleven specialists that enforce WCAG 2.2 AA compliance so AI coding tools stop generating… The licence is MIT.
Read from SKILL.md and the folder at commit decf6ba. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript, vue, typescript, svelte and html).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Kb Framework Accessibility loads about 1.8k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 391 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Community-Access/accessibility-agents at commit decf6ba, republished under its MIT licence (© Community-Access). 391 words, ~1,842 tokens.
.claude/skills/kb-framework-accessibility/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Each pattern, with its issue and fix.
| Pattern | Issue | Fix |
|---|---|---|
onClick on <div> | Not keyboard accessible | Use <button> or add role="button", tabIndex={0}, onKeyDown |
dangerouslySetInnerHTML | May inject inaccessible content | Audit injected HTML for ARIA, headings, alt text |
React.Fragment as root | May break landmark tree | Ensure fragments don't interrupt landmark nesting |
Missing key on lists | Can cause focus loss on re-render | Use stable keys (not array index) for interactive lists |
| Portal without focus trap | Focus can escape to background | Wrap portal content in FocusTrap component |
useEffect focus management | Focus may not fire on mount | Use useRef + useEffect with proper dependency array |
// Bad: div as button
<div onClick={handleClick}>Submit</div>
// Good: semantic button
<button onClick={handleClick}>Submit</button>
// Bad: image without alt in Next.js
<Image src="/hero.jpg" width={800} height={400} />
// Good: image with alt
<Image src="/hero.jpg" width={800} height={400} alt="Team collaborating in a modern office" />
// Bad: no focus management on route change
useEffect(() => {
// nothing
}, [location]);
// Good: focus management on route change
useEffect(() => {
const mainContent = document.getElementById('main-content');
if (mainContent) {
mainContent.focus();
mainContent.scrollIntoView();
}
}, [location]);
// Bad: link opening new tab
<a href={url} target="_blank">Resource</a>
// Good: link with new tab warning
<a href={url} target="_blank" rel="noopener noreferrer">
Resource <span className="sr-only">(opens in new tab)</span>
</a>Each pattern, with its issue and fix.
| Pattern | Issue | Fix |
|---|---|---|
v-html with user content | May inject inaccessible markup | Sanitize and audit injected HTML |
v-if on live regions | Removes element from DOM, breaks announcements | Use v-show for live regions instead |
<transition> without focus | Focus lost when content transitions | Manage focus in @after-enter hook |
<teleport> to body | Content outside app landmark tree | Add landmark roles to teleported content |
<!-- Bad: v-if on live region -->
<div v-if="message" aria-live="polite">{{ message }}</div>
<!-- Good: v-show keeps element in DOM -->
<div v-show="message" aria-live="polite">{{ message }}</div>
<!-- Bad: no focus after transition -->
<transition name="fade">
<div v-if="showModal" class="modal">...</div>
</transition>
<!-- Good: focus managed after transition -->
<transition name="fade" @after-enter="focusModal">
<div v-if="showModal" ref="modal" class="modal" tabindex="-1">...</div>
</transition>Each pattern, with its issue and fix.
| Pattern | Issue | Fix |
|---|---|---|
[aria-label] binding | Invalid - ARIA is not a property | Use [attr.aria-label] |
*ngFor without trackBy | Focus loss on list re-render | Add trackBy function |
No LiveAnnouncer | Route changes not announced | Inject LiveAnnouncer and announce navigation |
OnPush + live regions | Change detection may not trigger | Use ChangeDetectorRef.markForCheck() |
// Bad: ARIA binding
<button [aria-label]="label">X</button>
// Good: ARIA attribute binding
<button [attr.aria-label]="label">X</button>
// Bad: ngFor without trackBy
<li *ngFor="let item of items">{{ item.name }}</li>
// Good: ngFor with trackBy
<li *ngFor="let item of items; trackBy: trackById">{{ item.name }}</li>
// Route change announcements
constructor(private liveAnnouncer: LiveAnnouncer, private router: Router) {
this.router.events.pipe(
filter(event => event instanceof NavigationEnd)
).subscribe((event: NavigationEnd) => {
this.liveAnnouncer.announce(`Navigated to ${this.getPageTitle()}`);
});
}Each pattern, with its issue and fix.
| Pattern | Issue | Fix |
|---|---|---|
{#if} without focus management | Focus lost when content appears | Use use:action to focus new content |
transition: without motion check | Animations play regardless of user preference | Add prefers-reduced-motion check |
on:click on non-interactive | Not keyboard accessible | Use <button> or add keyboard handlers |
<!-- Bad: click on div -->
<div on:click={toggle}>Toggle</div>
<!-- Good: keyboard accessible -->
<button on:click={toggle}>Toggle</button>
<!-- Bad: animation without motion preference -->
<div transition:fly={{ y: 200 }}>Content</div>
<!-- Good: respects motion preference -->
<div transition:fly={{ y: reducedMotion ? 0 : 200, duration: reducedMotion ? 0 : 300 }}>Content</div>
<script>
const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
</script>Each pattern, with its issue and fix.
| Pattern | Issue | Fix |
|---|---|---|
outline-none | Removes focus indicator | Pair with ring-2 ring-offset-2 focus-visible:ring-blue-500 |
text-gray-400 on bg-white | Fails 4.5:1 contrast | Use text-gray-600 or darker |
No motion-reduce: variant | Animations ignore user preference | Add motion-reduce:transition-none |
Missing focus: styles | No visible focus indicator | Add focus:ring-2 focus:ring-blue-500 |
sr-only missing | Screen reader text not available | Add <span class="sr-only">description</span> |
Each background, with its minimum text and ratio.
| Background | Minimum Text | Ratio |
|---|---|---|
bg-white | text-gray-600 | 4.55:1 |
bg-white | text-gray-700 | 6.62:1 |
bg-gray-50 | text-gray-700 | 6.29:1 |
bg-gray-900 | text-gray-300 | 5.92:1 |
bg-blue-600 | text-white | 5.23:1 |
bg-red-600 | text-white | 4.54:1 |
bg-green-700 | text-white | 4.58:1 |
<!-- Bad: no focus indicator -->
<button class="bg-blue-500 text-white px-4 py-2 rounded outline-none">
Submit
</button>
<!-- Good: visible focus indicator -->
<button class="bg-blue-500 text-white px-4 py-2 rounded focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2">
Submit
</button>
<!-- Bad: low contrast -->
<p class="text-gray-400">Important information</p>
<!-- Good: adequate contrast -->
<p class="text-gray-700">Important information</p>
<!-- Bad: animation without motion preference -->
<div class="transition-transform duration-300 hover:scale-105">Card</div>
<!-- Good: respects motion preference -->
<div class="transition-transform duration-300 hover:scale-105 motion-reduce:transition-none motion-reduce:hover:scale-100">Card</div>© Community-Access, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/kb-framework-accessibility of Community-Access/accessibility-agents.
Open the folder on GitHubat commit decf6ba
Kb Framework Accessibility next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Kb Framework Accessibility this skillCommunity-Access/accessibility-agents | 423 | — | ~1.8k | Automated safety check: Pass | MIT | |
| UI/UX Design System AdvisorGalaxy-Dawn/claude-scholar | 5.7k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| A11y Auditalirezarezvani/claude-skills | 28k | — | ~2.4k | Automated safety check: Pass | MIT | |
| A11y Auditricneves-ai/flowgrammers-skills | 115 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Design StyleCastor6/tactus | 376 | 1 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| UI UX Pro Maxsundial-org/awesome-openclaw-skills | 663 | 2 repos | ~657 | Automated safety check: Pass | None |
Galaxy-Dawn/claude-scholar
Turns a vague UI request into a concrete design system with style, palette, typography and layout guidance from a search script, plus stack-specific implementation advice.
alirezarezvani/claude-skills
Accessibility audit skill for scanning, fixing, and verifying WCAG 2.2 Level A and AA compliance across React, Next.js, Vue, Angular, Svelte, and plain HTML codebases.
ricneves-ai/flowgrammers-skills
Skill de auditoria de acessibilidade para escanear, corrigir e verificar a conformidade WCAG 2.2 Nível A e AA em codebases React, Next.js, Vue, Angular, Svelte e HTML puro.
Castor6/tactus
A skill your agent uses whenever the user asks to build, create, design, develop, improve, or style any frontend interface or visual element.
sundial-org/awesome-openclaw-skills
UI/UX design intelligence and implementation guidance for building polished interfaces.
shobcoder/shob
UI/UX design intelligence expert for web and mobile applications.
Community-Access/accessibility-agents
Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules.
Community-Access/accessibility-agents
Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.
Community-Access/accessibility-agents
Web UI accessibility lead. An agent skill from Community-Access/accessibility-agents.
Community-Access/accessibility-agents
Alt text, SVGs, figures, charts, heading order, page titles and landmarks.
Community-Access/accessibility-agents
ARIA roles, states and properties for custom widgets and dynamic content.
Community-Access/accessibility-agents
Plain language, WCAG 2.2 cognitive criteria, COGA guidance and auth UX.
Categories
Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents. Kb Framework Accessibility is an agent skill from Community-Access/accessibility-agents. Reference data, not a reviewer.
Kb Framework Accessibility fits situations like: tasks that involve Accessibility.
Run `npx skills add Community-Access/accessibility-agents --skill kb-framework-accessibility -a claude-code`. Or copy the skill folder (skills/kb-framework-accessibility in Community-Access/accessibility-agents) into .claude/skills/kb-framework-accessibility in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Community-Access/accessibility-agents --skill kb-framework-accessibility -a codex`. Or copy the skill folder (skills/kb-framework-accessibility in Community-Access/accessibility-agents) into .agents/skills/kb-framework-accessibility in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Community-Access/accessibility-agents --skill kb-framework-accessibility -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kb-framework-accessibility, .gemini/skills/kb-framework-accessibility, .github/skills/kb-framework-accessibility and .opencode/skills/kb-framework-accessibility in your project.
SKILL.md names no scripts, command-line tools or credentials: Kb Framework Accessibility is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Kb Framework Accessibility is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Kb Framework Accessibility: UI/UX Design System Advisor (Galaxy-Dawn/claude-scholar, 5.7k stars), A11y Audit (alirezarezvani/claude-skills, 28k stars), A11y Audit (ricneves-ai/flowgrammers-skills, 115 stars) and Design Style (Castor6/tactus, 376 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Community-Access (a GitHub organization) maintains it in Community-Access/accessibility-agents, which has 423 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on September 23, 2026.
Source: Community-Access/accessibility-agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.