Skip to content
Back to skills

Add Theme

ASecurity

Add a new color theme to pixtuoid (a full `Theme` palette, rendered into the office). Use when the user says 'add a <name> theme', 'new color scheme', or 'port <palette> to pixtuoid'. Orchestrates the Rust registration PLUS the two steps agents miss — the site manifest bridge test and the committed-media regen.

  • 487 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added August 30, 2026
ai-agentsrust

Works with

  • cli

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add IvanWng97/pixtuoid --skill add-theme --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Add Theme?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Add Theme
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ivanwng97-add-theme/badge)](https://www.skillsdirectory.com/skills/ivanwng97-add-theme)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: add-theme
version: 2.0.0
description: "Add a new color theme to pixtuoid (a full `Theme` palette, rendered into the office). Use when the user says 'add a <name> theme', 'new color scheme', or 'port <palette> to pixtuoid'. Orchestrates the Rust registration PLUS the two steps agents miss — the site manifest bridge test and the committed-media regen."
metadata:
  scope: "pixtuoid repo only"
---

# add-theme

1. Read the `Theme` struct in `crates/pixtuoid-scene/src/theme/mod.rs` and an
   existing theme (e.g. `theme/dracula.rs`) for the full field set.
2. Create `crates/pixtuoid-scene/src/theme/<name>.rs` defining
   `pub static <NAME>: Theme = Theme { ... }`.
3. Register it: add the `mod` in `theme/mod.rs` and append `&<NAME>` to the
   `ALL_THEMES` slice; its `name` field is the kebab-case `--theme` id.
4. Add a row to `site/src/themes.json` (`id` = the kebab-case `name`, plus its
   presentation fields). `theme_gallery_manifest_matches_all_themes` asserts the
   manifest ids == `ALL_THEMES` names — the site never runs the binary, so this
   bridge test is the only guard that its theme switcher stays in sync. The theme
   stills need no commit in this PR: the site's render in CI, the README's in
   `media-regen.yml` from main (`just gen-media` renders them locally to look).
5. Theme roles **may share an RGB** (every bundled theme does). What binds you
   are the `*_for_every_theme` legibility guards in `theme/mod.rs`.
6. Run `just test`; update insta snapshots if the theme list changed.
7. Visually verify with the **beautify-decoration** skill's snapshot loop — a
   palette that passes the legibility guards can still read badly.
8. `just preflight full`, then the **local-review** skill — the regenerated
   stills fire REVIEW.md's local "Generated art / clips" row.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.