add-theme — Claude Code skill: add a prismantis theme
Adds, renames or updates a prismantis color preset from an existing theme such as Dracula, Nord or a VS Code theme.
npx skills add NahumLitvin/prismantis --skill add-theme -a claude-codeWhat add-theme does
This skill walks the agent through creating a new color preset in prismantis. The first step is the license: open the theme's original repo, not a port, and confirm MIT in its LICENSE file or README. No MIT, no license at all — the skill stops and says so. That is where it breaks first if you pick a popular theme with unclear licensing.
Colors come from the official palette file — the theme's palette repo or its JSON/YAML spec — never from screenshots or a port. The palette is then mapped onto all 22 tokens in PRESETS inside hooks/presets.ts: the theme's warm accent fills heading and tableHeader, green goes to number and codeString, blue to codeCommand, link and diagram, and the signature color to accent and bullet. For diffAdded and diffRemoved use the theme's own green and red; the test expects code text at 4.5:1 on their tints and at least ΔE 13 between the two.
Name the preset after its source, lowercase with hyphens and the variant: catppuccin-mocha, github-light. Register it in options on the theme field in .claude-plugin/plugin.json, credit it in docs/THIRD_PARTY_NOTICES.md with the repo URL, copyright line and license name, and list it in the README theme list. To verify, resolveStyle({ theme: '<name>' }) should return its tableHeader; then run the Verify steps in AGENTS.md and look at the result with live-check on both a dark and a light terminal background.
What it helps with
- turn an existing theme into a prismantis color preset
- check a theme's license before pulling its colors in
- map a palette onto all 22 tokens without gaps
- name the preset after its source and register it in
plugin.json - credit the original theme in
docs/THIRD_PARTY_NOTICES.md
Example prompts for the agent
- Add the Nord theme to prismantis
- Support Dracula as a new preset
- Rename the
catppuccin-mochapreset
How to install add-theme
1Skills CLI (Vercel)
npx skills add NahumLitvin/prismantis --skill add-theme -a claude-code2Manually: put the files in place
~/.claude/skills/add-theme/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/add-theme/
1Skills CLI (Vercel)
npx skills add NahumLitvin/prismantis --skill add-theme -a codex2Manually: put the files in place
.agents/skills/add-theme/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add NahumLitvin/prismantis --skill add-theme -a cursor2Manually: put the files in place
.cursor/skills/add-theme/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install NahumLitvin/prismantis add-theme2Manually: put the files in place
.github/skills/add-theme/SKILL.md1Skills CLI (Vercel)
npx skills add NahumLitvin/prismantis --skill add-theme -a gemini-cli2Platform CLI
gemini skills install https://github.com/NahumLitvin/prismantis --path .claude/skills/add-themeManually: put the files in place
.devin/skills/add-theme/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add NahumLitvin/prismantis --skill add-theme -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about add-theme
How do I install add-theme in Claude Code?
Run npx skills add NahumLitvin/prismantis --skill add-theme -a claude-code; the skill lands in ~/.claude/skills/add-theme/SKILL.md.
What does add-theme do?
It guides the agent through adding, renaming or updating a prismantis color preset from an existing theme, from the license check to mapping the palette onto tokens and documenting the result.
Which themes can become a preset?
Any theme with an MIT license and an official palette file — a palette repo or a JSON/YAML spec. Without MIT in the LICENSE file or README, the skill stops and reports it.
Source text
SKILL.md · MIT
---
name: add-theme
description: Add, rename or update a prismantis color preset from an existing theme (Dracula, Nord, a VS Code theme, ...). Use when someone says "add a theme", "support <theme name>", "new palette" or "rename a preset".
---
# Add a theme
1. **License first.** Open the theme's original repo (not a port) and confirm MIT in its LICENSE file or README. Not MIT, or no license at all: stop and say so.
2. **Take colors from the official palette file** (the theme's palette repo or JSON/YAML spec), not from screenshots or a port.
3. **Map the palette onto all 22 tokens** in `PRESETS` in `hooks/presets.ts`. Every preset defines every token:
| Token | Pick |
| --- | --- |
| `heading`, `tableHeader` | the theme's warm accent (yellow/orange) |
| `number`, `codeString` | green |
| `codeCommand`, `link`, `diagram` | blue |
| `codeFlag` | red/pink |
| `inlineCode`, `path` | cyan/teal |
| `accent`, `bullet` | the signature color (purple for Catppuccin and Dracula) |
| `emphasis` | pink/magenta |
| `strong` | brightest foreground |
| `codeText`, `diagramText` | normal foreground |
| `codeComment`, `quote` | a muted foreground |
| `rule`, `tableRule` | a subtle border/surface color |
| `diffAdded`, `diffRemoved` | the theme's own green and red, its git or diff colors when it names them; the test wants code text at 4.5:1 on their tints and the two at least ΔE 13 apart |
4. **Name it after the source**, lowercase-hyphenated with the variant (`catppuccin-mocha`, `github-light`). Add it to `options` on the `theme` field in `.claude-plugin/plugin.json`.
5. **Credit it** in `docs/THIRD_PARTY_NOTICES.md` with the repo URL, the copyright line and the license name.
6. **Document it** in the README theme list (dark or light).
7. **Test** that `resolveStyle({ theme: '<name>' })` returns its `tableHeader`, then run the AGENTS.md Verify steps.
8. **Look at it** with `live-check` on a dark and a light terminal background.
© NahumLitvin · MIT · NahumLitvin/prismantis