with one click
icons
Manage the retrobar icon set — add, list, or verify Phosphor icons
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Manage the retrobar icon set — add, list, or verify Phosphor icons
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | icons |
| description | Manage the retrobar icon set — add, list, or verify Phosphor icons |
| user_invocable | true |
Retrobar uses Phosphor Icons rendered as SVGs. The icon system has two parts:
assets/icons.json — Maps icon names to PUA (Private Use Area) codepoints. These codepoints are arbitrary unique identifiers used as placeholder characters in text rendering.
Phosphor SVG assets — The actual SVG files, sourced from the phosphor-icons/core flake input (pinned at rev 2b75f3ad12b420c9504ef05df8d2564a28f8500e). SVGs are loaded by name from {icons_dir}/{weight}/{name}-{weight}.svg.
{{ "icon-name" | icon }} or icon(name="icon-name") to insert an icon charactericons.json to get a PUA codepointicons.json, it renders as [icon-name] (literal text fallback)When the user asks to add an icon or you encounter a [icon-name] rendering issue:
Verify the icon exists in Phosphor by fetching:
https://raw.githubusercontent.com/phosphor-icons/core/2b75f3ad12b420c9504ef05df8d2564a28f8500e/assets/duotone/{name}-duotone.svg
Pick a unique PUA codepoint — scan assets/icons.json for the highest existing codepoint and use the next one, or pick any unused value in the 0xE000–0xF8FF range. The exact value doesn't matter as long as it's unique within the file.
Add the entry to assets/icons.json:
"icon-name": "0xNNNN"
Verify with cargo check — the JSON is embedded at compile time via include_str!.
All available icons are in assets/icons.json. To find what's currently registered:
cat assets/icons.json
Browse https://phosphoricons.com/ to find icon names. The name in icons.json should match the Phosphor name without the weight suffix (e.g., sign-out not sign-out-duotone).
mods/*/name.nix) — icon field, indicator.template, key-hints[].iconsrc/mods/*.rs) — hardcoded icon names in render functionssrc/template.rs) — render_icon() method