SkillAgentSearch skills...

custom-theme

Author a Wisp custom theme CSS file that uses documented tokens and import constraints

Install / Use

npx skills add xuzhougeng/wisp-science --skill custom-theme

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

84/100

Category

Automation

Supported Platforms

Universal

Our assessment of custom-theme

custom-theme scores 84/100 on our quality scale, 2060th of 2,864 Automation skills we index.

Its SKILL.md is 3.4 KB long, split into 6 sections with 5 code examples: a solid amount of guidance for an agent.

With 1,167 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
26/30
Structure
18/20
Description
12/15
Adoption
13/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 11 days ago, so custom-theme is actively maintained.
  • It is released under AGPL-3.0, a copyleft license: you can use it, but modified versions you distribute must carry the same license.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

custom-theme compared with similar skills

All 4 of these similar skills score higher than custom-theme; compare them before choosing.

SkillScoreStarsUpdatedFormat
custom-theme (this skill)by xuzhougeng841.2k11d agoSKILL.md
Agent-Reachby Panniantong10091.2k19d agoCLAUDE.md
Scraplingby D4Vinci10085.7ktodayMCP Server
rufloby ruvnet10073.9ktodayMCP Server
algorithmic-artby anthropics100177.9k12d agoSKILL.md

Frequently asked questions

How do I install custom-theme?
Run npx skills add xuzhougeng/wisp-science --skill custom-theme. The install tabs above show the steps for each supported agent.
Which AI agents does custom-theme work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is custom-theme safe to use?
It is AGPL-3.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is custom-theme still maintained?
The repository was last updated 11 days ago, so custom-theme is actively maintained.

name: custom-theme description: Author a Wisp custom theme CSS file that uses documented tokens and import constraints. Use when the user wants a custom look, hide the paragraph lead bar, restyle chat Markdown, override colors, or import a stylesheet under Settings → Appearance.

Custom Wisp theme CSS

Wisp injects one user stylesheet after the built-in theme. Prefer CSS variables on :root. Do not invent Settings toggles for one-off look changes.

Workflow

  1. Ask what should change (lead bar, table size, accent, chat density, fonts).
  2. Write a .css file in the project, usually theme.css.
  3. Apply it:
    • Desktop: configure with action=set and values.custom_css set to the full stylesheet text. Empty string clears it.
    • Or tell the user to import the file under Settings → Appearance.
  4. Confirm the change is visible. If a rule did nothing, the selector is wrong; do not add !important unless a built-in rule requires it.

Constraints

The host sanitizes CSS before inject. These are stripped:

  • @import and @namespace
  • every url(...)
  • javascript:, expression(, behavior:, -moz-binding
  • </style and <script
  • NULs; payload longer than 64 KB is truncated

Do not rely on remote fonts, images, or other stylesheets. Name an installed font with configure ui_font_family / code_font_family instead.

Scope light/dark overrides with :root[data-theme="light"] and :root[data-theme="dark"]. System theme follows the OS, so also cover :root[data-theme="system"] when the user cares about both.

Tokens

Override these on :root. Leave unused tokens alone.

| Token | Default role | | --- | --- | | --bg-app, --bg-elev, --bg-sunken, --bg-input, --bg-panel | Surfaces | | --text, --text-muted, --text-faint | Ink | | --border, --border-strong | Hairlines | | --clay, --clay-strong, --clay-soft, --on-clay | Accent (teal) | | --ui-font-size, --code-font-size | Set by Appearance sliders; do not hard-code px on chat body | | --md-table-font-size | Markdown tables; default calc(var(--ui-font-size, 14px) - 1px) | | --md-lead-bar-width, --md-lead-bar-pad | Bold-at-start emphasis bar; 3px / 0.55em | | --font-user-ui, --font-user-mono | Optional family names; empty restores the stack | | --radius, --radius-sm, --radius-xs | Corners |

Palette attributes (data-light-palette, data-dark-palette) already map onto the semantic tokens. Prefer --clay / --bg-app over palette internals (--lp-*, --dp-*) unless the user asked to restyle one palette only.

Common requests

Hide the lead bar (the vertical mark before a paragraph that starts with bold):

:root {
  --md-lead-bar-width: 0;
  --md-lead-bar-pad: 0;
}

Keep tables aligned with UI size, or pin a size:

:root { --md-table-font-size: calc(var(--ui-font-size, 14px) - 1px); }
:root { --md-table-font-size: 14px; }

Quiet chat chrome:

.msg.assistant .role { display: none; }
.msg.assistant .body.md { letter-spacing: 0; }

Do not restyle window controls, settings forms, or tool-approval cards unless the user asked. Keep contrast readable on both themes.

Apply via configure

{
  "action": "set",
  "values": {
    "custom_css": ":root { --md-lead-bar-width: 0; --md-lead-bar-pad: 0; }\n"
  }
}

After writing theme.css, read it and pass the exact file contents. Do not summarize or wrap the CSS in Markdown fences inside custom_css.

Related Skills

View on GitHub
GitHub Stars1.2k
CategoryAutomation
Updated11d ago
Forks119

Languages

Rust

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions