Impeccable
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
Restyle websites in the user's browser with the Stylebot extension's stylebot CLI — dark modes, themes, fonts, bigger text, hiding clutter, fixing a layout, or editing and managing the CSS and…
$ npx skills add ankit/stylebot --skill stylebot -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ankit/stylebot stylebot --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/ankit/stylebot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/tools/claude-plugin/skills/stylebot .claude/skills/stylebot && 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 "stylebot" agent skill from https://github.com/ankit/stylebot/tree/v4/tools/claude-plugin/skills/stylebot into .claude/skills/stylebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stylebot", 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/ankit/stylebot/tree/v4/tools/claude-plugin/skills/stylebotType 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 ankit/stylebot --skill stylebot -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ankit/stylebot stylebot --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ankit/stylebot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/tools/claude-plugin/skills/stylebot .agents/skills/stylebot && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "stylebot" agent skill from https://github.com/ankit/stylebot/tree/v4/tools/claude-plugin/skills/stylebot into .agents/skills/stylebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stylebot", 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 ankit/stylebot --skill stylebot -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ankit/stylebot stylebot --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ankit/stylebot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/tools/claude-plugin/skills/stylebot .cursor/skills/stylebot && 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 "stylebot" agent skill from https://github.com/ankit/stylebot/tree/v4/tools/claude-plugin/skills/stylebot into .cursor/skills/stylebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stylebot", 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/ankit/stylebot.git --path tools/claude-plugin/skills/stylebot--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 ankit/stylebot --skill stylebot -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ankit/stylebot stylebot --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ankit/stylebot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/tools/claude-plugin/skills/stylebot .gemini/skills/stylebot && 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 "stylebot" agent skill from https://github.com/ankit/stylebot/tree/v4/tools/claude-plugin/skills/stylebot into .gemini/skills/stylebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stylebot", 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 ankit/stylebot stylebotInstalls 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 ankit/stylebot --skill stylebot -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ankit/stylebot.git skills-src && mkdir -p .github/skills && cp -r skills-src/tools/claude-plugin/skills/stylebot .github/skills/stylebot && 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 "stylebot" agent skill from https://github.com/ankit/stylebot/tree/v4/tools/claude-plugin/skills/stylebot into .github/skills/stylebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stylebot", 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 ankit/stylebot --skill stylebot -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ankit/stylebot stylebot --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ankit/stylebot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/tools/claude-plugin/skills/stylebot .opencode/skills/stylebot && 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 "stylebot" agent skill from https://github.com/ankit/stylebot/tree/v4/tools/claude-plugin/skills/stylebot into .opencode/skills/stylebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "stylebot", 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.
stylebotRestyle websites in the user's browser with the Stylebot extension's stylebot CLI — dark modes, themes, fonts, bigger text, hiding clutter, fixing a layout, or editing and managing the CSS and…
Stylebot is an agent skill from ankit/stylebot. Restyle websites in the user's browser with the Stylebot extension's stylebot CLI — dark modes, themes, fonts, bigger text, hiding clutter, fixing a layout, or editing and managing the CSS and profiles Stylebot has saved for a site. Use when the user wants to change how a website looks, or asks about their Stylebot styles.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Theming and dark mode. It works with Chrome Extensions. The repository describes itself as: Change the appearance of the web instantly. The licence is MIT.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 96a61f5. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(stylebot *)Read(~/.stylebot/work/**)Edit(~/.stylebot/work/**)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
stylebot.devFrom 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.
Stylebot loads about 2.8k tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 1,785 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 ankit/stylebot at commit 96a61f5, republished under its MIT licence (© ankit). 1,785 words, ~2,842 tokens.
.claude/skills/stylebot/SKILL.md (or your agent's skills folder).Stylebot is a browser extension that saves custom CSS per site and applies it every time the site loads. The stylebot command drives it in the user's running browser: it opens and reads pages, saves CSS that applies live, checks the page after each save, and takes screenshots. stylebot --help lists every command, and stylebot <command> --help describes one.
Read and check pages only through stylebot, never another browser tool (browser automation, a screenshot tool, fetching the url). The page Stylebot styles can be in a different browser or profile from the one those tools see, so what they report won't reflect the CSS you saved.
stylebot command per Bash call, exactly as written here: no cd, &&, ;, pipes, $(...), < or heredocs. Those need the user's approval each time; a plain stylebot command doesn't.~/.stylebot/work/: CSS as ~/.stylebot/work/<site>.css, screenshots as ~/.stylebot/work/<site>-1.png, -2.png and so on. You can read and write there without asking. Write files with your file-writing tool, never the shell.The first command sets the CLI up with the user's browsers on its own. When a command can't reach Stylebot, or says the CLI and Stylebot don't match, its message names the one thing to do, such as turning on the setting, opening or restarting the browser, or updating Stylebot or the CLI. Tell the user the message as it is, and try again once they say it's done.
To see everything that's left, run stylebot install: it prints a checklist. Tell the user each step not yet done (marked ○) as written.
If stylebot isn't found, the CLI isn't installed: tell the user to install it with npm install -g @stylebot/cli, as https://stylebot.dev/cli describes.
stylebot open <site or url> shows it in Stylebot's own window, behind the user's, without taking focus. It prints Opened <tab> <url> (or Found when it reuses a tab). Pass that tab id to every command that reads the page (stylebot outline <tab>, --tab <tab> for commands that take selectors, stylebot screenshot <tab>), and the site to the commands that change a style (stylebot css set <site>). Never rely on the active tab: the user can switch tabs while you work, and commands that change a style refuse to guess.stylebot suggestions <tab>: the requests Stylebot's own Chat offers for this page, chosen from what's on it, plus a creative look. Offer their names as choices, with your tool for asking the user a question if you have one, and an option for something else. Carry out the chosen suggestion's full request text.stylebot profiles <site> to see which profile is in use (starred), then stylebot profile create "Claude: <look>" <site> --from <profile in use> --use, naming the look in a word or two ("Claude: Dark", "Claude: Compact"). Your changes go there, and the user's own style stays one stylebot profile use <profile> <site> away. If the profile already exists from an earlier session, reuse it with stylebot profile use.stylebot outline <tab> prints its visible elements and how each looks. stylebot css-variables <tab> prints its CSS variables. stylebot css get <site> prints the CSS already saved; build on it rather than starting over unless the user asks for a fresh start.stylebot hover <tab> <selector>, then read the outline again. A point works in place of a selector, as x,y in the pixels of a screenshot of the tab. Hovering doesn't apply the page's CSS :hover, so check hover styles by reading the CSS, not a screenshot.stylebot inspect <tab> <x,y> prints the selector Stylebot's inspector would pick for the element at that point of a screenshot, then other selectors for it with how many elements each matches: choose the one whose reach fits what the user asked to change.~/.stylebot/work/<site>.css, then save it with stylebot css set <site> --file ~/.stylebot/work/<site>.css. It replaces the site's whole stylesheet and applies to open tabs right away, so the file always holds the complete stylesheet: what was there and should stay, plus your changes. It refuses CSS that doesn't parse, and imports any Google Fonts family you name.css set reports: it checks the page the way Stylebot's Chat does, listing how many elements each selector matched, text your CSS made hard to read, surfaces a theme change missed, and selectors built on class names the site generates. Edit the file and save again until the report is clean:tr:first-child td matches the first row of every table): narrow it or take it back rather than recoloring text everywhere.stylebot screenshot <tab> -o ~/.stylebot/work/<site>-<n>.png, then open the image and look at it; never report a change you haven't seen. Run stylebot outline <tab> again too: it shows the colors and sizes as they are now, so it confirms a selector took effect and catches dark text on a dark background. Fix what's off and repeat.stylebot done to close Stylebot's window.<look>" profile, and that stylebot profile use <their profile> <site> (or the profile menu in Stylebot) switches back. Don't paste the CSS unless they ask.Empty CSS deletes the site's style. Confirm with the user before deleting a style or a profile they made themselves.
[bgcolor] attribute when it has one (that's its own background, so no bg repeats it; select by it, as in td[bgcolor="#ff6600"], when nothing else picks the element out), a snippet of its own text, then in brackets how it looks where that differs from its parent. bg is its own background color, bg-image a background image or gradient, color its text color, font its text size, family the font it sets.pad and margin as CSS shorthand, lh its line-height as a multiple of its font size, h its rendered height; a container of such items shows its flex or grid gap. Size spacing changes from these. Making a list compact means h should shrink: lower lh (toward 1.2), and the pad, margin and gap that are above 0; never add any, and leave what is already 0.(page), is the page's base background, text color, size and font. An element without bg shows whatever is behind it.bg, the dark color that won't read on a new background, the small font that should grow.stylebot page-rules <selector> --tab <tab> prints the site's own rules for the elements a selector matches: match or outdo their selectors where specificity matters, and build on the values already there.stylebot computed-styles <selector> [property...] --tab <tab> prints computed values on the first element a selector matches, for exact sizes, colors and fonts.stylebot match-count <selector...> --tab <tab> prints how many elements each selector matches, to try a selector before saving it.Quote selectors in single quotes: stylebot match-count '.titleline > a' --tab 1234.
:nth-child chains. Keep selectors as short as they can be while still matching the right elements.div, span, section, article, p or *: a background on div paints over every card and panel at once. Name the specific elements instead.!important unless the user has turned that off for the site, so don't add it yourself.css set imports it. Set font-family to that one family with no fallback stack (font-family: Lora, not font-family: Lora, Georgia, serif), quoted only if the name has spaces.family in the outline doesn't inherit a font set on body. To change the font everywhere, override the page's font variables when it has them, and otherwise set it on body and on each element that shows its own family; leave code and monospace alone unless asked.Always check the page's CSS variables first (stylebot css-variables <tab>). Many sites define their palette as custom properties, and overriding a variable recolors everything that uses it consistently, including states and parts not in the outline. Set the variable itself on the selector it's listed under (:root or body), and only set colors on individual elements when no variable covers what the user asked for, or to fix an element that doesn't follow the variables.
body, and on html when the (page) background comes from it.bg that would clash, with its own selector, and give it a matching color if its text would no longer read.color on the containers that hold text, not on every element. Links, headings and buttons that set their own color need theirs too.fill or stroke. Set color-scheme on :root so scrollbars and native controls follow.Keep text readable: light text on dark backgrounds or the reverse, never dark on dark, and a contrast of at least 4.5.
When asked to surprise the user, pick one coherent direction, a palette and a font pairing, and say in a sentence what you're going for: the colors, the fonts and the feel.
© ankit, 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 tools/claude-plugin/skills/stylebot of ankit/stylebot.
Open the folder on GitHubat commit 96a61f5
Stylebot 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 |
|---|---|---|---|---|---|---|
| Stylebot this skillankit/stylebot | 1.6k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Impeccablebestofjs/bestofjs | 3.1k | 27 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Figma Design System Builderwarpdotdev/warp | 65k | 2 repos | ~4.4k | Automated safety check: Pass | AGPL-3.0 | |
| Tailwindcss Developmentanonaddy/anonaddy | 4.9k | 10 repos | ~865 | Automated safety check: Pass | MIT | |
| UI StylingOhh-889/skyroc | 795 | 13 repos | ~2.5k | Automated safety check: Pass | MIT | |
| MCP Developmentcoollabsio/coolify | 63k | 1 repos | ~949 | Automated safety check: Pass | MIT |
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
warpdotdev/warp
Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.
anonaddy/anonaddy
Always invoke when the user's message includes 'tailwind' in any form.
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.
coollabsio/coolify
A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.
saoudi-h/solar-icons
UI/UX design intelligence for web and mobile. An agent skill from saoudi-h/solar-icons.
ankit/stylebot
Measure whether a change makes Chat's styling replies better, with yarn eval:chat — it runs styling requests on recorded real pages for two versions of Stylebot and measures on the page whether each…
ankit/stylebot
Cut a Stylebot release — CHANGELOG entry, version bump, release PR, tag, and store zips.
ankit/stylebot
Translate Stylebot's locale strings — fill in strings that English has and other locales lack, retranslate English strings that changed, or add a whole new locale (e.g.
ankit/stylebot
Launch Stylebot in a real, headed Chrome window (via yarn dev:chrome) so the user can manually eyeball a change — in whatever checkout the current session is in, worktree or main.
Works with
Categories
Restyle websites in the user's browser with the Stylebot extension's stylebot CLI — dark modes, themes, fonts, bigger text, hiding clutter, fixing a layout, or editing and managing the CSS and…. Stylebot is an agent skill from ankit/stylebot. Restyle websites in the user's browser with the Stylebot extension's stylebot CLI — dark modes, themes, fonts, bigger text, hiding clutter, fixing a layout, or editing and managing the CSS and profiles Stylebot has saved for a site.
Stylebot fits situations like: the user wants to change how a website looks; asks about their Stylebot styles.
Run `npx skills add ankit/stylebot --skill stylebot -a claude-code`. Or copy the skill folder (tools/claude-plugin/skills/stylebot in ankit/stylebot) into .claude/skills/stylebot in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ankit/stylebot --skill stylebot -a codex`. Or copy the skill folder (tools/claude-plugin/skills/stylebot in ankit/stylebot) into .agents/skills/stylebot 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 ankit/stylebot --skill stylebot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/stylebot, .gemini/skills/stylebot, .github/skills/stylebot and .opencode/skills/stylebot in your project.
Going by SKILL.md and its folder, Stylebot needs the command-line tools its instructions call (npm). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Bash(stylebot *), Read(~/.stylebot/work/**), Edit(~/.stylebot/work/**).
SKILL.md names 1 domain. As links in the text: stylebot.dev. 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.
Stylebot 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.8k tokens (SKILL.md is roughly 11k 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 Stylebot: Impeccable (bestofjs/bestofjs, 3.1k stars), Figma Design System Builder (warpdotdev/warp, 65k stars), Tailwindcss Development (anonaddy/anonaddy, 4.9k stars) and UI Styling (Ohh-889/skyroc, 795 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ankit (a GitHub user) maintains it in ankit/stylebot, which has 1,647 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.
Source: ankit/stylebot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.