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.
Builds, styles, and reviews UI with BEEQ, Endava's web-component design system.
$ npx skills add Endava/BEEQ --skill beeq -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Endava/BEEQ beeq --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/Endava/BEEQ.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/beeq .claude/skills/beeq && 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 "beeq" agent skill from https://github.com/Endava/BEEQ/tree/main/skills/beeq into .claude/skills/beeq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "beeq", 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/Endava/BEEQ/tree/main/skills/beeqType 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 Endava/BEEQ --skill beeq -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Endava/BEEQ beeq --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Endava/BEEQ.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/beeq .agents/skills/beeq && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "beeq" agent skill from https://github.com/Endava/BEEQ/tree/main/skills/beeq into .agents/skills/beeq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "beeq", 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 Endava/BEEQ --skill beeq -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Endava/BEEQ beeq --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Endava/BEEQ.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/beeq .cursor/skills/beeq && 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 "beeq" agent skill from https://github.com/Endava/BEEQ/tree/main/skills/beeq into .cursor/skills/beeq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "beeq", 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/Endava/BEEQ.git --path skills/beeq--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 Endava/BEEQ --skill beeq -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Endava/BEEQ beeq --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Endava/BEEQ.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/beeq .gemini/skills/beeq && 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 "beeq" agent skill from https://github.com/Endava/BEEQ/tree/main/skills/beeq into .gemini/skills/beeq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "beeq", 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 Endava/BEEQ beeqInstalls 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 Endava/BEEQ --skill beeq -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Endava/BEEQ.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/beeq .github/skills/beeq && 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 "beeq" agent skill from https://github.com/Endava/BEEQ/tree/main/skills/beeq into .github/skills/beeq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "beeq", 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 Endava/BEEQ --skill beeq -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Endava/BEEQ beeq --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Endava/BEEQ.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/beeq .opencode/skills/beeq && 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 "beeq" agent skill from https://github.com/Endava/BEEQ/tree/main/skills/beeq into .opencode/skills/beeq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "beeq", 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.
beeqBuilds, styles, and reviews UI with BEEQ, Endava's web-component design system.
Beeq is an agent skill from Endava/BEEQ. Builds, styles, and reviews UI with BEEQ, Endava's web-component design system. Use when code adds or changes bq- elements or @beeq/react, @beeq/angular, or @beeq/vue components; sets up BEEQ in a project; applies a BEEQ theme, mode, or --bq- token; customizes a component with props, CSS custom properties, or ::part(); troubleshoots a BEEQ component that looks unstyled or misbehaves; or reviews BEEQ code for API accuracy, accessibility, and design-system fit.
Its SKILL.md is about 5.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `references/choosing-components.md`, `references/design-language.md` and `references/frameworks.md`). Compatibility notes: Works with @beeq/core and the official React, Angular, and Vue wrappers in modern browsers, with or without a bundler.
It sits in Frontend & Design, covering Design systems and Accessibility. It works with Angular, React and Vue.js. The repository describes itself as: BEEQ Design System, a web component library ruled by Endavan developers :). The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5f4728d. 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 html and typescript).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
beeq.designcdn.jsdelivr.netAlso links to:
phosphoricons.comstorybook.beeq.designFrom 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.
Works with @beeq/core and the official React, Angular, and Vue wrappers in modern browsers, with or without a bundler.
From compatibility in the SKILL.md frontmatter.
Beeq loads about 5.6k tokens when it runs, and up to ~28k if it reads all its reference files. Until then it costs about 121 tokens; SKILL.md has 2,585 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 Endava/BEEQ at commit 5f4728d, republished under its Apache-2.0 licence (© Endava). 2,585 words, ~5,635 tokens.
.claude/skills/beeq/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.<!-- Generated from packages/beeq-skills/src/beeq/SKILL.md. Edit the source, not this file. -->
BEEQ ships standard custom elements from @beeq/core, design tokens, themes, and wrappers for React, Angular, and Vue. The wrappers change framework ergonomics, not component APIs.
Teams build their product on top of BEEQ. Every run follows the same four steps: discover, scope, build down the ladder, verify. Building with the system brings theming, dark mode, accessibility, and consistency for free; each hand-rolled control or literal value gives one of them back.
Every component name, prop, event, slot, method, CSS custom property, ::part(), token, utility class, and package export you write is verified: it appears on the component's https://www.beeq.design/components/<component-name>.md page or in the installed package. An unverified name is a bug, even when it looks plausible.
Three sources, three jobs:
| Source | Owns |
|---|---|
| This skill and its references | Workflow, framework syntax, pitfalls, and checks |
| design-language.md | Visual language: tokens, themes, type, layout, shape, elevation, motion, states, sizes, icons, and tone |
| Component pages and the installed package | Exact APIs |
"The agent ignored our design system" almost always means "the agent never looked." In an existing project, find:
@beeq/* versions in package.json. The public docs describe the latest release.bq-theme and bq-mode on <html> or a scoped container, and any stylesheet overriding --bq-* tokens. That stylesheet is the project's theme; extend it.@beeq/core/dist/beeq/beeq.css once, and add <script data-beeq="https://cdn.jsdelivr.net/npm/@beeq/core/dist/beeq/svg/"></script> to the HTML entry. A plain HTML page with no build step links beeq.css and beeq.esm.js from the CDN; with a bundler, the entry files import them. HTML never links /node_modules/ URLs. Self-hosted SVGs with setBasePath() are for projects that need control over them. All paths: Setup.<AppButton>, styled(BqButton)), shared form-field layouts, router-link patterns, and form-library bindings.DESIGN.md, AGENTS.md, CLAUDE.md, or .github/copilot-instructions.md.Precedence: project conventions > BEEQ design language > this skill's defaults > your taste.
Done when you can name each item above, or state that it is absent. On a greenfield project, follow Installation and the target framework guide instead. Search commands, where customizations belong, and extending BEEQ without forking: your-design-system.md.
The stack decides imports, prop casing, and event syntax (see Framework essentials). Then name the scope:
bq-side-menu for navigation, bq-page-title for the heading). Start from patterns.md.List the states that change a component's footprint: helper text, validation messages, loading, multiple selected values, open overlays. Spacing rhythm, host sizing, and the polish checklist: layout-and-composition.md.
Then list every UI piece the request names or implies, and write down each piece's job: what people do with it and what it does to the page. It navigates, holds a value, runs an action, reports on content still on screen, stands in for a region with nothing to show, or blocks until a decision. The job picks the component through choosing-components.md; the request's words are only clues. "Dropdown", "panel", "toggle", and "error" each name different components in different contexts, and a piece nobody named, such as the state after a failed save, still needs one. A job no component covers is semantic HTML on tokens; name it as such.
Done when the stack, the scope, the footprint-changing states, and every piece with its job and its component (or "semantic HTML") are written down.
For every custom class, literal value, or hand-built control, walk down this ladder and stop at the first rung that does the job:
bq-card); the page's heading with its context and actions (bq-page-title); an item's state (bq-status), count (bq-badge), or removable category (bq-tag); separating regions (bq-divider); a region with nothing to show, whether empty or failed to load (bq-empty-state); a message about content still on screen (bq-alert); rows that take people to another section (bq-side-menu-item inside bq-side-menu). The job questions, words that change meaning with context, and required parent and child structures: choosing-components.md.variant, appearance, size, disabled, validation-status). Start from defaults and omit props that repeat them.--bq-spacing-*, --bq-background--*, --bq-text--*, --bq-stroke--*, --bq-radius--*, --bq-box-shadow--*, --bq-font-size--*, --bq-stroke-s for border widths, and --bq-font-family, the only font-family token. Copy names from the exact list in theming.md; a guessed name resolves to nothing. beeq.css already sets the font, text colour, and background on html and body, so product CSS starts at layout. Layout dimensions have no token: size containers, grid tracks, and breakpoints as the grid foundations do, in rem, with ch for a text measure; details in layout-and-composition.md. BEEQ Tailwind utilities (gap-m, bg-primary) only when the project configures @beeq/tailwindcss. Safe pairings and brand overrides: theming.md.--bq-button--border-radius or --bq-card--padding. Padding, background, border, and radius are usually variables; check the component's CSS custom properties table first.::part() for a property no variable covers. Slotted children stay consumer-owned; style them as ordinary elements.When BEEQ has no suitable component, use semantic native HTML styled with BEEQ tokens, and say so.
What is fixed and what is yours. Fixed: component names and APIs, parent/child structure, token names, theme and mode attributes, framework syntax, and the project's conventions. Yours: which component fits, composition and hierarchy, where on the spacing scale a gap sits, which action is primary, and copy.
Each row pairs the common mistake with its replacement and the reason. Use the reason to extend the rule to cases the table does not list.
| Instead of… | Do this | Why |
|---|---|---|
<bq-input /> in HTML | <bq-input></bq-input> | Custom elements never self-close; the parser makes the following markup their children. |
Hex colours, or px and rem for spacing, radius, type, or border width | Semantic colour tokens, --bq-spacing-*, --bq-radius--*, --bq-font-size--*, --bq-stroke-s | Literals drift off the scale and ignore the active theme and mode. Layout dimensions (container widths, track minimums, breakpoints) have no token and stay in rem. |
Palette primitives (--bq-blue-600) in product CSS | Semantic tokens (--bq-background--secondary, --bq-text--secondary) | Semantic tokens re-resolve for dark mode and the Endava theme; primitives stay fixed. |
| Guessing text colour on a coloured surface | A documented pairing, such as --bq-background--inverse with --bq-text--inverse | Mixed roles lose contrast in at least one theme. |
background, color, border, or padding on a bq-* host | A prop, then the component's CSS custom properties, then a documented ::part() | The host is a wrapper; the visible surface lives in the shadow root. |
::part() overrides to fix truncation or flex sizing | min-width: 0 (and a width, if needed) on the host; truncate the slotted element | Layout belongs to the host and the consumer's content. |
An icon-only bq-button with no name | only-icon plus label | An unnamed control is silent to screen readers; BEEQ warns in the console. |
| Emojis or ad-hoc SVGs as icons | bq-icon with a Phosphor name; a label when the icon alone carries meaning, aria-hidden="true" on the host when visible text beside it says the same | Icons then follow size, colour, and theme. Without a label, bq-icon still announces <name> icon. |
| Several primary buttons in one region | One appearance="primary"; others secondary or text | Equal emphasis erases hierarchy. |
variant="danger" for emphasis | variant="danger" for destructive actions only | Colour carries meaning. |
A value borrowed from another component or a token name, such as <bq-alert type="danger"> | A value the prop's type lists on the component page. Status and feedback props take error (type on bq-alert, bq-notification, bq-toast, and bq-progress; color on bq-tag; validation-status); only bq-button variant and bq-status type take danger | An unlisted value falls back with only a console warning, so a failed save shows as an info alert. --bq-*danger tokens name colours, not prop values. |
A native onClick on bq-button or bq-breadcrumb-item that routes, or a routing button with no href | Keep href; in the bqClick handler call event.preventDefault(), then route. Per-stack handlers: frameworks.md | bqClick is cancelable, and preventing it stops the link navigation. The kept href serves middle-click, open in new tab, and assistive technology. A native click is for a gap bqClick cannot cover, such as modifier-key clicks. |
!important or ::part() to override a token or component variable | A normal declaration at the scope the change covers: :root or the theme for the app, a container for a region, the host for one component | Page CSS already beats the component's :host defaults, and custom properties inherit into the shadow root. !important blocks later theme and mode rules. |
/node_modules/… URLs in HTML | CDN links for a page with no build step; entry-file imports with a bundler | The production build does not ship node_modules. |
readonly on bq-select to block typing | disable-search, when the installed version has it | readonly is deprecated for that purpose. |
<bq-table>, or a native <table> without the bq-table class | <table class="bq-table"> on every table, with compact or bordered when the data calls for it | BEEQ has no table element; the class carries the theme's header, row, and selected-row styles. Sorting and pagination stay with the consumer. |
| Swapping stylesheets for themes | bq-theme for identity, bq-mode for light or dark | Separate attributes; persisting the choice is the app's job. |
The most common layout complaint, a tooltip around truncated text in a flex row the consumer builds (a card header, a table cell), resolved on the host and the slotted content:
<div class="card-header">
<bq-tooltip>
<span class="truncate" slot="trigger">A very long report title that must truncate</span>
A very long report title that must truncate
</bq-tooltip>
</div>
<style>
.card-header {
display: flex;
gap: var(--bq-spacing-s);
}
.card-header bq-tooltip {
min-width: 0;
}
.card-header .truncate {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>Navigation rows skip this recipe: bq-side-menu-item truncates its own label, so put the icon in slot="prefix" and the count in slot="suffix".
The same boundary holds for every bq-* element: consumer CSS positions and sizes the host; everything visual goes through the documented API.
| Stack | Import from | Props and events | Must know |
|---|---|---|---|
| HTML | bq-* elements from @beeq/core | kebab-case attributes; addEventListener('bqClick', …) | No build step: link beeq.css and beeq.esm.js from the CDN. With a bundler: import the stylesheet and call defineCustomElements() in the entry files. Icons via data-beeq either way. Also the path for legacy apps and unsupported frameworks. |
| React | @beeq/react | camelCase props (onlyIcon); onBqClick | Wrappers set properties, so reflected attributes appear only where the component reflects them. Type styled wrappers with styled(BqTooltip) and ComponentProps<typeof BqTooltip>, never a cast to ElementType. |
| Next.js | @beeq/react/ssr | as React | The plain wrapper renders empty shells on the server. Run browser-only setup on the client. |
| Angular | @beeq/angular/standalone | (bqClick) | beeq.css goes in the global styles (src/styles.css or the styles array in angular.json), not a component's styles. Forms need the matching value accessor. NgModule only in existing module-based apps. |
| Vue and Nuxt | @beeq/vue | @bqClick | v-model only on documented components. Nuxt setup goes in a client-only plugin. |
Bind each event on the element whose Events table lists it. Composite components split their events across parts: in a dropdown, bqSelect comes from bq-option-list, and bq-dropdown itself emits only bqOpen. A framework wrapper binds only the events its own component declares. Read event.detail only when the component documents a payload. Forms bindings, method refs, routing, Angular and Vue examples, and setup troubleshooting: frameworks.md.
The generated markup is a first draft. Models state these rules and then break them halfway through a long file; this pass is what catches it. If your tool can dispatch a subagent, hand it your output and this file and ask it to find violations independently.
Searches. Run each over your output:
| Search for | Pattern | A hit means |
|---|---|---|
| Hex colours | #[0-9a-fA-F]{3,8}\b | Replace with a semantic token. Only a theme override file keeps hex. |
| Pixel or rem literals | \d(px|rem)\b | On spacing, radius, type, or border width, use the token. Widths, heights, and grid tracks may keep rem. |
| Palette primitives | --bq-(blue|grey|red|green|orange|yellow|purple|endava-[a-z]+)-\d | Replace with a semantic role token. |
| Self-closed custom elements (HTML) | <bq-[a-z-]+[^>]*/> | Add the closing tag. |
| Shadow parts | ::part\( | Confirm the part is on the component's page; move layout fixes to the host. |
| Host visual rules | ^\s*bq-[a-z-]+[^{:]*\{ | Custom properties, margin, width, and min-width are fine; move background, color, border, and padding to the API. |
| Emojis | [\u{1F300}-\u{1FAFF}\u{2600}-\u{27BF}] | Replace with bq-icon. |
| Type-erasing casts | as ElementType | Wrap the BEEQ component directly. |
| Deprecated select usage | <(bq-select|BqSelect)[^>]*\sreadonly | Use disable-search or disableSearch. |
| Table markup | <(bq-)?table\b | <bq-table does not exist; every native <table> carries class="bq-table". |
| Important declarations | !important | Remove it; set the value with a normal declaration at the scope the change covers. |
| node_modules URLs (HTML) | ["'(]/?node_modules/ | Link the CDN when the page has no build step; import from the entry files with a bundler. |
| Invented font tokens | --bq-font-family- | Use --bq-font-family, the only font-family token. |
| Token separators | --bq-(background|text|icon|ui|radius|box-shadow|font-size|font-weight|font-line-height)-[a-z0-9] | Add the double dash: --bq-font-size--s, --bq-text--secondary. |
Checklist. Judgment the searches cannot make:
event.detail shapes, and parent/child structure.danger only for destructive actions.If you can render the page, check a wide and a narrow width in light and dark modes: hierarchy, alignment, wrapping, contrast, focus rings, and overlay clipping.
Done when every search hit is fixed or explained as a deliberate exception, every checklist item holds, and your reply states the theme and mode you assumed, anything you could not verify in the consuming app (including visual fit if you could not render it), and the BEEQ pages or source you used.
A form in HTML, with consumer CSS on BEEQ tokens:
<h2 id="contact-title">Contact us</h2>
<form class="contact-form" aria-labelledby="contact-title">
<bq-input name="name" required>
<label slot="label">Name</label>
</bq-input>
<bq-input name="email" type="email" required>
<label slot="label">Email</label>
</bq-input>
<div class="contact-form__actions">
<bq-button appearance="text">Cancel</bq-button>
<bq-button type="submit">Send</bq-button>
</div>
</form>
<style>
.contact-form {
display: grid;
gap: var(--bq-spacing-m);
max-inline-size: 60ch;
}
.contact-form__actions {
display: flex;
gap: var(--bq-spacing-s);
justify-content: flex-end;
}
</style>The same actions in React:
import { BqButton } from '@beeq/react';
export function FormActions({ onCancel }: { onCancel: () => void }) {
return (
<div className="contact-form__actions">
<BqButton appearance="text" onBqClick={onCancel}>
Cancel
</BqButton>
<BqButton type="submit">Send</BqButton>
</div>
);
}Angular and Vue equivalents are in frameworks.md.
Use the most specific source. Current source and component API references win over docs, examples, generated summaries, and these references.
https://www.beeq.design/components/<component-name>.md. Related elements share a page, such as bq-tab-group and bq-tab on tab.md.customElements field of node_modules/@beeq/core/package.json when that file is present.packages/beeq/src/components/<name>/ and packages/beeq-tailwindcss/src/.© Endava, Apache-2.0. 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 7 other files (references) in skills/beeq of Endava/BEEQ.
Open the folder on GitHubat commit 5f4728d
Beeq 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 |
|---|---|---|---|---|---|---|
| Beeq this skillEndava/BEEQ | 163 | — | ~5.6k | Automated safety check: Pass | Apache-2.0 | |
| UI/UX Design System AdvisorGalaxy-Dawn/claude-scholar | 5.7k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Kb Web ScanningCommunity-Access/accessibility-agents | 421 | — | ~1.2k | Automated safety check: Pass | MIT | |
| StartJoangeldelarosa/pxlkit | 116 | — | ~1.3k | Automated safety check: Notes | Custom licence | |
| Tanstack Virtualudecode/plate | 17k | — | ~2.8k | Automated safety check: Pass | Custom licence | |
| Light Frontend DesignLight0305/Light-skills | 640 | — | ~3.1k | Automated safety check: Pass | MIT |
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.
Community-Access/accessibility-agents
Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.
Joangeldelarosa/pxlkit
A skill your agent uses when setting up a project to use pxlkit (@pxlkit/ui-kit), or when asked what the pxlkit skills do.
udecode/plate
Headless UI for virtualizing large element lists at 60FPS in TS/JS, React, Vue, Solid, Svelte, Lit & Angular.
Light0305/Light-skills
Light 按需工程技能·前端设计:把模糊的「做个好看的界面」落成能跑的 React/Tailwind/shadcn 代码 + 设计决策说明—— 有视觉记忆点(signature element)、风格自洽(design tokens 一致)、适配场景(学术海报/数据大屏/管理后台/移动端/营销 landing 信息密度各不同)、反「一眼 AI」(紫蓝渐变/Inter/16px 圆角/巨型…
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.
Endava/BEEQ
Create a new BEEQ StencilJS web component. An agent skill from Endava/BEEQ.
Endava/BEEQ
Audit and fix WCAG 2.1 Level AA accessibility issues in BEEQ StencilJS components.
Endava/BEEQ
Review a BEEQ StencilJS component against design system guidelines and project standards.
Endava/BEEQ
Write E2E tests for BEEQ StencilJS components using @stencil/vitest in browser mode (Playwright/Chromium).
Endava/BEEQ
Write Storybook stories and MDX docs for BEEQ web components.
Endava/BEEQ
Write Vitest unit tests for BEEQ shared utilities. An agent skill from Endava/BEEQ.
Categories
Builds, styles, and reviews UI with BEEQ, Endava's web-component design system. Beeq is an agent skill from Endava/BEEQ. Builds, styles, and reviews UI with BEEQ, Endava's web-component design system.
Beeq fits situations like: changes bq- elements; @beeq/vue components; sets up BEEQ in a project; applies a BEEQ theme.
Run `npx skills add Endava/BEEQ --skill beeq -a claude-code`. Or copy the skill folder (skills/beeq in Endava/BEEQ) into .claude/skills/beeq in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Endava/BEEQ --skill beeq -a codex`. Or copy the skill folder (skills/beeq in Endava/BEEQ) into .agents/skills/beeq 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 Endava/BEEQ --skill beeq -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/beeq, .gemini/skills/beeq, .github/skills/beeq and .opencode/skills/beeq in your project.
SKILL.md names no scripts, command-line tools or credentials: Beeq is instructions for the agent only. Compatibility (from SKILL.md): Works with @beeq/core and the official React, Angular, and Vue wrappers in modern browsers, with or without a bundler..
SKILL.md names 4 domains. In commands or code: beeq.design and cdn.jsdelivr.net; the agent is likely to contact these when it follows the instructions. As links in the text: phosphoricons.com and storybook.beeq.design. 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.
Beeq is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.6k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 23k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Beeq: UI/UX Design System Advisor (Galaxy-Dawn/claude-scholar, 5.7k stars), Kb Web Scanning (Community-Access/accessibility-agents, 421 stars), Start (Joangeldelarosa/pxlkit, 116 stars) and Tanstack Virtual (udecode/plate, 17k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Endava (a GitHub organization) maintains it in Endava/BEEQ, which has 163 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 6, 2026.
Source: Endava/BEEQ on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.