Easily find and use PUA icons in shell configs and statuslines.
Install
mkdir -p .claude/skills/icon-lookup && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4304" && unzip -o skill.zip -d .claude/skills/icon-lookup && rm skill.zipInstalls to .claude/skills/icon-lookup
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Workaround for Claude Code filtering BMP PUA Unicode (U+E000-U+F8FF). Supplementary PUA Nerd Font icons like (U+F0000+, e.g. nf-md-github, nf-md-kubernetes, nf-md-battery) can be written directly. BMP PUA icons (Powerline, Font Awesome, Devicons) require placeholder syntax like {{ U+E0A0 }} or {{ nf-fa-star }} (without spaces), which hooks auto-convert. Invoke when reading or writing Starship configs, tmux themes, shell prompts, or statuslines.Key capabilities
- →Lookup Nerd Font icon codepoints
- →Convert placeholder syntax to Unicode
- →Identify PUA characters in files
- →Search icons by name
How it works
The skill provides a workaround for filtered BMP PUA characters by using placeholder syntax that is automatically converted to Unicode icons.
Inputs & outputs
When to use icon-lookup
- →Insert icons into Starship configs
- →Configure tmux themes with icons
- →Lookup Nerd Font codepoints
- →Fix icon display in shell prompts
About this skill
BMP PUA Unicode Workaround
Claude Code filters Unicode characters in the BMP Private Use Area (U+E000-U+F8FF), which includes most Nerd Font icons. This skill provides tools for working with these icons.
Quick Reference
| Range | Status | Examples |
|---|---|---|
| U+E000-U+F8FF (BMP PUA) | Filtered - use placeholders | Powerline, Devicons, Font Awesome, Octicons |
| U+F0000+ (Supplementary PUA-A) | Works directly | Material Design Icons (nf-md-*) |
Automatic Features
When reading files: A PostToolUse hook automatically identifies all PUA characters, showing icon names, codepoints, and whether they're filtered.
When writing files: A PostToolUse hook automatically converts placeholder syntax to actual Unicode characters.
Placeholder Syntax
When writing icons in the filtered BMP PUA range, use placeholder syntax:
- By codepoint:
{{ U+E0A0 }}(without the spaces) - By name:
{{ nf-fa-star }}(without the spaces)
Icon Lookup
Search for icons by name:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/lookup-icon.py "<search query>"
Example searches:
git branch→ finds git-related iconsfolder→ finds folder/directory iconswizard→ finds wizard icons
Character Identification
Identify a specific character:
# Direct argument (this is nf-md-battery, a Supplementary PUA icon)
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/identify-icons.py -c ""
# From stdin
echo "" | python3 ${CLAUDE_PLUGIN_ROOT}/scripts/identify-icons.py -
Workflow
- Reading files - Hook automatically shows icon info; use this to understand what icons are present
- Writing icons - Search with lookup script, then use placeholder syntax for filtered icons
- Comparing icons - Use identify script to check if two characters are the same icon
- Material Design Icons (U+F0000+) can be written directly without placeholders
Manual Conversion
If placeholders weren't converted (e.g., hook didn't run):
${CLAUDE_PLUGIN_ROOT}/scripts/convert-placeholders.py /path/to/file
When not to use it
- →When the user is not working with CLI themes or shell prompts
Prerequisites
Limitations
- →Requires the hook to be active for automatic conversion
- →Limited to supported Nerd Font icons
How it compares
It automates the conversion of icon placeholders, preventing display issues in environments that filter specific Unicode ranges.
Compared to similar skills
icon-lookup side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| icon-lookup (this skill) | 1 | 6mo | Review | Beginner |
| design-lab | 7 | 6mo | No flags | Intermediate |
| figma-use | 9 | 3mo | Review | Advanced |
| screenshots | 1 | 4mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by malob
View all by malob →You might also like
design-lab
0xdesign
Conduct design interviews, generate five distinct UI variations in a temporary design lab, collect feedback, and produce implementation plans. Use when the user wants to explore UI design options, redesign existing components, or create new UI with multiple approaches to compare.
figma-use
dannote
Control Figma via CLI — create shapes, frames, text, components, set styles, layout, variables, export images. Use when asked to create/modify Figma designs or automate design tasks.
screenshots
sickn33
Generate marketing screenshots of your app using Playwright. Use when the user wants to create screenshots for Product Hunt, social media, landing pages, or documentation.
layout-pcb
Dogmeat88
Lay out an imported EasyEDA PCB before routing using the EasyEDA MCP server. Use when planning functional zones, placing footprints, orienting connectors, defining the board outline, and validating routing readiness on an already imported PCB. Assumes the PCB already exists and the schematic import
visual-evidence
bamr87
**WORKFLOW SKILL** — The standard for proving a UI/behavioural change works: a regression test + before/after visual evidence, attached to the PR and surfaced in release notes. USE FOR: any change under _sass/ _includes/ _layouts/ assets/ (or any user-visible behaviour); after a bug fix that changed
figma-pilot
youware-labs
REQUIRED reading before using figma_execute. Contains API syntax, parameter formats, and examples. READ rules/*.md files for correct usage.