UI Styling
Ohh-889/skyroc
Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.
Run after building a UI component to record its background, border, radius and text classes in ui-registry.md so later components match what came before.
$ npx skills add jsmastery-pro/jsm-agent-skill --skill imprint -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jsmastery-pro/jsm-agent-skill imprint --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/jsmastery-pro/jsm-agent-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/imprint .claude/skills/imprint && 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 "imprint" agent skill from https://github.com/jsmastery-pro/jsm-agent-skill/tree/main/skills/imprint into .claude/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", 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/jsmastery-pro/jsm-agent-skill/tree/main/skills/imprintType 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 jsmastery-pro/jsm-agent-skill --skill imprint -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jsmastery-pro/jsm-agent-skill imprint --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jsmastery-pro/jsm-agent-skill.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/imprint .agents/skills/imprint && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "imprint" agent skill from https://github.com/jsmastery-pro/jsm-agent-skill/tree/main/skills/imprint into .agents/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", 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 jsmastery-pro/jsm-agent-skill --skill imprint -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jsmastery-pro/jsm-agent-skill imprint --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jsmastery-pro/jsm-agent-skill.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/imprint .cursor/skills/imprint && 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 "imprint" agent skill from https://github.com/jsmastery-pro/jsm-agent-skill/tree/main/skills/imprint into .cursor/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", 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/jsmastery-pro/jsm-agent-skill.git --path skills/imprint--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 jsmastery-pro/jsm-agent-skill --skill imprint -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jsmastery-pro/jsm-agent-skill imprint --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jsmastery-pro/jsm-agent-skill.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/imprint .gemini/skills/imprint && 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 "imprint" agent skill from https://github.com/jsmastery-pro/jsm-agent-skill/tree/main/skills/imprint into .gemini/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", 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 jsmastery-pro/jsm-agent-skill imprintInstalls 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 jsmastery-pro/jsm-agent-skill --skill imprint -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jsmastery-pro/jsm-agent-skill.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/imprint .github/skills/imprint && 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 "imprint" agent skill from https://github.com/jsmastery-pro/jsm-agent-skill/tree/main/skills/imprint into .github/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", 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 jsmastery-pro/jsm-agent-skill --skill imprint -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jsmastery-pro/jsm-agent-skill imprint --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jsmastery-pro/jsm-agent-skill.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/imprint .opencode/skills/imprint && 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 "imprint" agent skill from https://github.com/jsmastery-pro/jsm-agent-skill/tree/main/skills/imprint into .opencode/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", 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.
imprintRun after building a UI component to record its background, border, radius and text classes in ui-registry.md so later components match what came before.
AI-built interfaces drift because each component is made without memory of the earlier ones, so spacing, colors and corner radii vary. Imprint is a single command, `/imprint`, that you run after each component. It reads the component, pulls out only the values that affect consistency, such as container backgrounds, border color, width and style, the `rounded-` radius class, text colors, and text sizes and weights, and saves them to `ui-registry.md` for the next component to follow.
With no argument it finds recently created or modified component files, and `/imprint` followed by a file path targets one file; if it is unclear which files to use, the agent asks you. A separate `/imprint audit` mode checks an existing codebase for inconsistencies, and the skill recommends running it first when the UI was not tracked from the start, when several sessions went by without imprinting, or when something looks off. The excerpt is cut off partway through the list of values to extract.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fd85d6a. 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 markdown).
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.
Imprint UI Consistency Registry loads about 2.3k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 828 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 jsmastery-pro/jsm-agent-skill at commit fd85d6a, republished under its MIT licence (© jsmastery-pro). 828 words, ~2,285 tokens.
.claude/skills/imprint/SKILL.md (or your agent's skills folder).UI consistency does not happen by accident. It happens because every component is built with awareness of what already exists.
The problem with AI-built interfaces is that each component gets built in isolation. The agent does not remember what it built three sessions ago. So spacing drifts. Colors vary slightly. Border radius is inconsistent. The app looks like it was built by multiple people with different tastes.
This skill fixes that. Run it after building any UI component. It reads what was just built, extracts the patterns that matter for consistency, and saves them so every future component can match.
One command. Run it every time. That is the whole system.
After building any UI component, run:
/imprintTo target a specific file:
/imprint [filepath]To audit an existing codebase for inconsistencies:
/imprint auditIf no filepath is given, the skill identifies recently created or modified component files automatically and captures from those.
When to use audit mode:
/imprintui-registry.md for the first time on an existing projectRun /imprint audit before running /imprint on any project where the UI was not tracked from the beginning.
If a filepath was provided — read that file directly.
If no filepath was provided — identify which component files were most recently created or modified in this session. Look in the components directory and any other locations where UI files typically live. Read those files.
If it is unclear which files to capture from, ask the developer:
Which component should I capture patterns from?Read the component code. Extract only the classes and values that affect visual consistency across the interface. Not everything — only what makes components look like they belong together.
Extract these:
Do not extract these:
Open ui-registry.md. If it does not exist, create it.
Add a new entry for the component that was captured. Do not overwrite existing entries — append to the registry.
If an entry for this component type already exists — update it rather than duplicating.
### [Component Name]
File: [filepath]
Last updated: [date]
| Property | Class |
| ---------------- | --------------- |
| Background | [class] |
| Border | [class] |
| Border radius | [class] |
| Text — primary | [class] |
| Text — secondary | [class] |
| Spacing | [class] |
| Hover state | [class] |
| Shadow | [class or none] |
| Accent usage | [class or none] |
**Pattern notes:**
[Any important pattern decisions worth noting —
why a specific class was chosen, what this component
should always match, what variations are allowed]After writing to ui-registry.md, confirm to the developer:
Imprinted [Component Name] → ui-registry.md
Captured:
- Background: [class]
- Border: [class]
- Radius: [class]
- Text: [classes]
- Spacing: [classes]
- Hover: [class]
Any future component of this type should match these patterns.If anything looked inconsistent or surprising during extraction — flag it:
Note: [Something that looked inconsistent or worth the
developer knowing about]The registry is not just a record. It is the consistency enforcer for every future session.
At the start of any session that involves UI work, Claude reads ui-registry.md before writing any component. When building a new card, it checks how existing cards were built. When building a new button, it checks what button patterns already exist. When building a new status badge, it matches the exact classes already in use.
The registry grows as the project grows. The more components are imprinted, the more consistent every new component becomes — because Claude always has a precise reference for what already exists.
Build a component. Run /imprint. Move on.
Every time. Without exception.
A registry with ten entries is useful. A registry with thirty entries is powerful. A registry that is sometimes updated is unreliable.
Consistency is a habit, not a feature.
Run this when the UI already exists and consistency is uncertain. Instead of capturing from one component, it scans the entire codebase, finds conflicts, and establishes a clean baseline before any further capturing happens.
Find every component file in the project. Read each one. Build a complete picture of what visual patterns are currently in use across the entire interface.
For each visual property that matters for consistency, list every variation found:
## UI Consistency Audit
### Conflicts found
**Border radius**
[List every rounded- variant found and which components use it]
Recommendation: [which one to standardise on and why]
**Background colors**
[List every bg- class found — flag any hardcoded hex values]
Recommendation: [which token classes should replace them]
**Text colors**
[List every text- color class found — flag any that bypass the design system]
Recommendation: [which token classes should replace them]
**Spacing**
[List padding and gap variations found]
Recommendation: [which values to standardise on]
**Border colors**
[List every border color class found]
Recommendation: [which token class to standardise on]
**Interactive states**
[List hover, focus, active variations found]
Recommendation: [which pattern to standardise on]
### Hardcoded values found
[List every hardcoded hex value, raw color class, or
non-token value found — with the file and line where it appears]
These must be replaced with design system tokens.
### Recommended baseline
[The correct pattern for each property —
based on what the majority already uses correctly
and what the design system defines]Present the audit report. Do not fix anything. Do not update ui-registry.md yet.
Ask the developer:
Audit complete. [X] conflicts found across [Y] properties.
Before I establish the baseline in ui-registry.md:
1. Do the recommendations above look correct?
2. Are there any conflicts you want to resolve differently?
3. Should I flag the hardcoded values as issues to fix?
Confirm the baseline and I will write it to ui-registry.md.After the developer confirms — write the agreed baseline to ui-registry.md as the foundation. Label it clearly:
## Baseline — Established [date]
[Note: This baseline was established via /imprint audit]
| Property | Correct class |
| ---------------- | ------------- |
| Card background | [class] |
| Card border | [class] |
| Card radius | [class] |
| Button primary | [class] |
| Button secondary | [class] |
| Text primary | [class] |
| Text secondary | [class] |
| Text muted | [class] |
| Input background | [class] |
| Input border | [class] |After writing the baseline, produce a fix list — every component that deviates from it:
## Components to fix
These components deviate from the confirmed baseline
and should be updated:
- [Component file] — [what is wrong] → [what it should be]
- [Component file] — [what is wrong] → [what it should be]The developer can now fix these systematically — or fix them as they encounter each component. Either way, the baseline is established and /imprint can be used going forward to keep new components consistent.
© jsmastery-pro, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/imprint of jsmastery-pro/jsm-agent-skill.
Open the folder on GitHubat commit fd85d6a
Imprint UI Consistency Registry 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 |
|---|---|---|---|---|---|---|
| Imprint UI Consistency Registry this skilljsmastery-pro/jsm-agent-skill | 218 | — | ~2.3k | Automated safety check: Pass | MIT | |
| UI StylingOhh-889/skyroc | 795 | 13 repos | ~2.5k | Automated safety check: Pass | MIT | |
| DaisyUI Component Librarysaadeghi/daisyui | 43k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Refero Designreferodesign/refero_skill | 295 | — | ~5.3k | Automated safety check: Pass | MIT | |
| UI UX Pro Maxsundial-org/awesome-openclaw-skills | 663 | 2 repos | ~657 | Automated safety check: Pass | None | |
| OpenClaw Carapace UIopenclaw/clawhub | 9.5k | — | ~699 | Automated safety check: Pass | MIT |
Ohh-889/skyroc
Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.
saadeghi/daisyui
Official daisyUI skill for Tailwind CSS projects, routing to install, usage, configuration, color and per-component guides before writing any HTML or JSX with its classes.
referodesign/refero_skill
Primary/default skill for UI design, product design, web design, landing pages, dashboards, product screens, redesigns, visual polish, frontend/CSS styling, design systems, components, responsive…
sundial-org/awesome-openclaw-skills
UI/UX design intelligence and implementation guidance for building polished interfaces.
openclaw/clawhub
Guides UI work on OpenClaw apps so it uses the shared Carapace package: semantic design tokens, theme foundations, shared CSS classes and the product's existing local components.
mblode/agent-skills
Designs and builds React/Next/Tailwind UI, audits visual and interaction defects, and stress-tests components with worst-case data.
jsmastery-pro/jsm-agent-skill
Runs a short design conversation before coding: aligns on terms, works through the decisions that matter and ends with a plan you confirm.
jsmastery-pro/jsm-agent-skill
Diagnoses which of three failure modes a stalled AI-assisted build is in, then chooses a targeted fix, a hard reset or a rethink instead of more prompting.
jsmastery-pro/jsm-agent-skill
Saves the essential state of a coding session to memory.md at the end, restores it at the start of the next one, and keeps secrets out of the saved notes.
jsmastery-pro/jsm-agent-skill
Compares a finished feature with its plan, the project's architecture and design rules, and production-readiness checks, then reports issues without fixing them.
Categories
Run after building a UI component to record its background, border, radius and text classes in ui-registry.md so later components match what came before. AI-built interfaces drift because each component is made without memory of the earlier ones, so spacing, colors and corner radii vary. Imprint is a single command, `/imprint`, that you run after each component.
Imprint UI Consistency Registry fits situations like: finishing a new UI component that has to match earlier ones; auditing an existing interface for inconsistent spacing, colors or radii; starting a UI registry on a project whose design was never tracked.
Run `npx skills add jsmastery-pro/jsm-agent-skill --skill imprint -a claude-code`. Or copy the skill folder (skills/imprint in jsmastery-pro/jsm-agent-skill) into .claude/skills/imprint in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jsmastery-pro/jsm-agent-skill --skill imprint -a codex`. Or copy the skill folder (skills/imprint in jsmastery-pro/jsm-agent-skill) into .agents/skills/imprint 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 jsmastery-pro/jsm-agent-skill --skill imprint -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/imprint, .gemini/skills/imprint, .github/skills/imprint and .opencode/skills/imprint in your project.
SKILL.md names no scripts, command-line tools or credentials: Imprint UI Consistency Registry 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.
Imprint UI Consistency Registry is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.1k 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 Imprint UI Consistency Registry: UI Styling (Ohh-889/skyroc, 795 stars), DaisyUI Component Library (saadeghi/daisyui, 43k stars), Refero Design (referodesign/refero_skill, 295 stars) and UI UX Pro Max (sundial-org/awesome-openclaw-skills, 663 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jsmastery-pro (a GitHub organization) maintains it in jsmastery-pro/jsm-agent-skill, which has 218 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on July 9, 2026.
Source: jsmastery-pro/jsm-agent-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.