About ak-ui
ak-ui is a design skill and CSS foundation for building original interfaces with industrial geometry and terminal-like feedback. It guides implementation across existing frameworks and primitives while preserving brand choices, accessibility, and interaction behavior.
Key features
- 01Apply ak-ui design tokens
- 02Choose accent, system, or terminal intensity
- 03Integrate existing components and primitives
- 04Preserve accessibility and interaction behavior
- 05Review responsive and motion states
Use cases
- 01Restyle an existing interface
- 02Build pages with ak-ui conventions
- 03Adapt headless controls to ak-ui
- 04Audit a UI implementation
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ yunyoujun/ ak-ui --skill ak-uiAfter installing, type/ak-uiin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlreferences/design-language.mdexamples.mdheadless-components.mdmotion.mdofficial-site.mdquality-checklist.mdreka-ui.mdsite.mdtokens.mdDetails
From the project READMEak-ui
Build original interfaces with ak-ui's industrial geometry, tactical information hierarchy, and terminal-like feedback. Treat ak-ui as a design contract and CSS foundation, not as a request to reproduce a specific Arknights screen.
Read the relevant references
- Always read references/design-language.md and references/tokens.md before making visual decisions.
- For the Arknights official website, its navigation/news layouts, or extraction audits, read references/official-site.md. Distinguish observed source values, ak-ui adaptations, and unimplemented patterns.
- For entrance, stagger, count-up, media, or parallax effects, read references/motion.md.
- For working component compositions and controller setup, read references/examples.md.
- For full-page navigation, mobile menus, archive/media selectors, real resource progress or particle fields in ak-ui >=1.1.0, read references/site.md. Use the public
/sitecontrollers or Registrysite; do not invent an official shader or assume that CSS alone installs interactions. - Read references/headless-components.md when adapting native controls or any unstyled/headless library.
- Also read references/reka-ui.md when the project uses Reka UI or needs a Vue headless primitive.
- Read references/quality-checklist.md before declaring the work complete.
Inspect before changing
Determine from the project instead of asking the user when possible:
- Framework, package manager, styling system, and existing design tokens.
- Existing accessible primitives, headless library, and ak-ui installation.
- Components or pages in scope and their interaction states.
- Existing brand colors, fonts, spacing, and content hierarchy worth preserving.
Ask only when a missing product choice would materially change the result. Do not replace an existing headless library merely to use a documented example.
Select the style intensity
Honor an explicitly requested mode:
accent: Preserve the current brand and layout; add ak-ui typography, signals, focus, and restrained geometry.system: Apply the complete design language to surfaces, hierarchy, density, geometry, and states. Use this by default.terminal: Add immersive composition, asymmetric command planes, telemetry, depth, and stronger motion. Use only when requested or clearly implied because it can change page composition.
Record the chosen mode in the implementation summary. Do not interpret a mode as a color theme.
Choose the smallest integration path
Use this order:
- Reuse existing ak-ui CSS classes and components when they fit.
- For a custom or headless-only surface, import
@yunyoujun/ak-ui/tokens.cssand style the existing behavior with semantic tokens. - For a Vue component already available in the ak-ui Registry, prefer the editable Registry adapter.
- For missing behavior, prefer the project's existing headless primitives, then native browser semantics.
- Add Reka UI only for Vue interactions that need its accessibility and state machinery. Do not add it for presentation-only elements.
Use the project's package manager. Keep all styling opt-in through .ak-*, project-owned component classes, or data-ak-ui; do not add global resets or overwrite unrelated elements.
Implement the design contract
- Preserve the user's brand by mapping existing brand values to semantic
--ak-*tokens before inventing a new palette. - Use public ak-ui tokens for repeated decisions. Do not scatter hard-coded colors, spacing, timing, or cut sizes.
- Keep behavior, focus management, keyboard navigation, ARIA, and state in native/headless primitives. Map their rendered parts and state attributes to ak-ui styling.
- Prefer one strong geometric gesture and a clear information hierarchy over decorating every edge.
- Keep status colors functional and distinguishable. Never make color the only state indicator.
- Use original or user-provided imagery. Do not obtain, copy, or imitate game assets, logos, character art, or a specific screen composition.
- Preserve existing public APIs unless the user explicitly requests a breaking redesign.
Apply the requested workflow
Integrate
Install the CSS package or Registry adapter, add the narrowest import, render one representative component, and verify the import in the real build.
Build
Establish hierarchy and responsive layout first. Compose existing primitives, add project content, then apply the selected style intensity. Avoid demo-like placeholder telemetry unless it communicates real product information.
Extend
Write the component contract before styling: parts, states, keyboard behavior, focus ownership, and responsive constraints. Reuse or wrap existing primitives; keep presentation separate from their behavior.
Review
Report concrete violations of the design contract, including file locations when available. Fix issues only when the user asks for implementation. Prioritize semantics, interaction loss, token drift, unreadable hierarchy, and mobile overflow over cosmetic differences.
Verify
Run the project's relevant lint, type-check, build, and tests. When browser tooling is available, inspect desktop and mobile layouts plus keyboard focus, open/closed, selected, disabled, invalid, loading, and reduced-motion states that apply.
Do not claim visual completion from compilation alone. If browser inspection is unavailable, state that limitation and provide the remaining checks from the quality checklist.