agent-infini
Use the InfiniSynapse CLI (`agent_infini`) for multi-turn AI data-analysis tasks,…
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.
$ npx -y skills add xuzhougeng/wisp-science --skill custom-theme --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/custom-themeContext preview
The summary Claude sees to decide when to auto-load this skill.
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.
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.
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.
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:
full stylesheet text. Empty string clears it.
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.
The host sanitizes CSS before inject. These are stripped:
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.
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.
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.
{
"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`.
The open-source, local-first AI research workbench. WISP — Workspace for Intelligent Scientific Practice Search the literature, run Python and R, query ~80 scientific databases, and keep the trail — figures, runs, decisions, and drafts — in one project.
Use the InfiniSynapse CLI (`agent_infini`) for multi-turn AI data-analysis tasks,…
Organize multi-step scientific analyses into reproducible, self-contained modules. Use for…
Use this skill to drive Wisp Browser Runtime sessions (shared daily Chrome or workspace…
Set up and validate a reproducible Python or R environment on a Wisp execution context. Use…
Use Cua Driver through MCP to inspect and operate the user's native desktop apps on Windows,…