Agent skill

Nerd Font Icon Lookup

by malob in malob/nix-config

Works around Claude Code filtering private-use Unicode so agents can read and write Nerd Font icons in Starship, tmux and prompt configs.

MITAuto-check passedDevelopment

Install Nerd Font Icon Lookup

skills CLI
$ npx skills add malob/nix-config --skill icon-lookup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install malob/nix-config icon-lookup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/malob/nix-config.git skills-src && mkdir -p .claude/skills && cp -r skills-src/configs/claude/plugins/pua-unicode/skills/icon-lookup .claude/skills/icon-lookup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
icon-lookup
GitHub stars
463
Token cost
~697 tokens
SKILL.md length
212 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Works around Claude Code filtering private-use Unicode so agents can read and write Nerd Font icons in Starship, tmux and prompt configs.

  • Works in 4 steps: Reading files - Hook automatically shows… → Writing icons - Search with lookup… → Comparing icons - Use identify script to… → …
  • Editing a Starship config that contains Nerd Font glyphs
  • SKILL.md covers Quick Reference, Automatic Features, Placeholder Syntax and Icon Lookup, plus 3 more sections
  • Calls python3 and git

What it does

Claude Code filters characters in the Basic Multilingual Plane private use area, from U+E000 to U+F8FF, which includes most Nerd Font icons such as Powerline, Font Awesome, Devicons and Octicons. Icons in the supplementary range starting at U+F0000, such as the Material Design set, pass through and can be written directly.

For filtered icons you write a placeholder by codepoint or by name, with double braces wrapped around it, and a PostToolUse hook converts it to the real character when the file is written. A second hook, when files are read, reports each private-use character with its icon name, codepoint and whether it is filtered. If a placeholder was not converted, convert-placeholders.py can run on the file by hand.

Two scripts help: lookup-icon.py searches icons by name, so a query like git branch returns related icons, and identify-icons.py identifies a character or checks whether two characters are the same icon. The skill is meant for work on Starship configs, tmux themes, shell prompts and statuslines.

When your agent uses it

  • Editing a Starship config that contains Nerd Font glyphs
  • Writing icons into a tmux theme or shell prompt
  • Finding the right icon name for a status line
  • Checking whether two icon characters are identical

Example prompts

  • “Add a git branch icon to my Starship prompt configuration.”
  • “Find a folder icon in Nerd Fonts and use it in my tmux status bar.”
  • “Which icon is this character in my prompt config, and is it filtered?”

Requirements

  • Python 3 for the lookup and identify scripts
  • The plugin's PostToolUse hooks enabled

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Reading files - Hook automatically shows icon info; use this to understand what icons are present
  2. Writing icons - Search with lookup script, then use placeholder syntax for filtered icons
  3. Comparing icons - Use identify script to check if two characters are the same icon
  4. Material Design Icons (U+F0000+) can be written directly without placeholders

What it can do on your machine

Read from SKILL.md and the folder at commit 9cca0f4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Nerd Font Icon Lookup loads about 697 tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 212 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~117
When it runs · the whole SKILL.md, loaded when a task matches
~697

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from malob/nix-config at commit 9cca0f4, republished under its MIT licence (© malob). 212 words, ~697 tokens.

Download SKILL.mdSave it as .claude/skills/icon-lookup/SKILL.md (or your agent's skills folder).
name
icon-lookup
description
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.

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

RangeStatusExamples
U+E000-U+F8FF (BMP PUA)Filtered - use placeholdersPowerline, Devicons, Font Awesome, Octicons
U+F0000+ (Supplementary PUA-A)Works directlyMaterial 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:

bash
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/lookup-icon.py "<search query>"

Example searches:

  • git branch → finds git-related icons
  • folder → finds folder/directory icons
  • wizard → finds wizard icons

Character Identification

Identify a specific character:

bash
# 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

  1. Reading files - Hook automatically shows icon info; use this to understand what icons are present
  2. Writing icons - Search with lookup script, then use placeholder syntax for filtered icons
  3. Comparing icons - Use identify script to check if two characters are the same icon
  4. Material Design Icons (U+F0000+) can be written directly without placeholders

Manual Conversion

If placeholders weren't converted (e.g., hook didn't run):

bash
${CLAUDE_PLUGIN_ROOT}/scripts/convert-placeholders.py /path/to/file

© malob, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in configs/claude/plugins/pua-unicode/skills/icon-lookup of malob/nix-config.

Open the folder on GitHubat commit 9cca0f4

Compare with similar skills

Nerd Font Icon Lookup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Nerd Font Icon Lookup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Nerd Font Icon Lookup this skillmalob/nix-config463—~697Automated safety check: PassMIT
Claude Code Statusline Writerlexler/skill-factory239—~872Automated safety check: PassApache-2.0
Hns Moaiadk Dev Referencemodu-ai/moai-adk1.2k—~937Automated safety check: PassApache-2.0
LangBot Plugin Developmentlangbot-app/LangBot18k—~3.9kAutomated safety check: PassApache-2.0
CLI DeveloperJeffallan/claude-skills12k1 repos~1.2kAutomated safety check: PassMIT
Git History Bug Auditben-manes/caffeine18k—~3.3kAutomated safety check: PassApache-2.0

Similar skills

  • Claude Code Statusline Writer

    lexler/skill-factory

    Guides writing and debugging Claude Code status line scripts that read session JSON from stdin and print one line of text.

    239 GitHub stars~872 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • moai-adk-go local dev reference — version management/release process (sec 5), shell-script hook development (sec 7), build & dev commands (sec 10).

    1.2k GitHub stars~937 tokensUpdated today
    DevelopmentAuto-check passed
  • LangBot Plugin Development

    langbot-app/LangBot

    Guides building, debugging and testing LangBot plugins: components, SDK calls, README and locale rules, SDK pitfalls and WebSocket-based testing.

    18k GitHub stars~3.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • CLI Developer

    Jeffallan/claude-skills

    Walks through designing, building and polishing a command-line tool: user workflow and command hierarchy, implementation in commander, click, typer or cobra, completions and cross-platform testing.

    12k GitHub starsUsed in 1 repo~1.2k tokens
    DevelopmentAuto-check passed
  • Git History Bug Audit

    ben-manes/caffeine

    Audits a module by walking its git history commit by commit, tracking unresolved issues forward, and reporting the ones that survive to HEAD as findings.

    18k GitHub stars~3.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • A skill your agent uses when you need to run interactive CLI tools (vim, git rebase -i, Python REPL, etc.) that require real-time input/output - provides tmux-based approach for controlling…

    430 GitHub starsUsed in 2 repos~1.3k tokens
    DevelopmentAuto-check passed

More from malob/nix-config

  • Scans project-local Claude Code settings files, finds permission patterns worth promoting to global config, then cleans up what global now covers.

    463 GitHub stars~4.1k tokensUpdated 5 days ago
    Auto-check passed
  • Deep Research Team

    malob/nix-config

    Coordinates a team of researcher agents across several rounds, with a lead who triages findings, assigns follow-ups and cross-checks key claims.

    463 GitHub stars~5.8k tokensUpdated 5 days ago
    Auto-check passed
  • Homebrew Cask Creator

    malob/nix-config

    Coordinates specialist agents to create a Homebrew cask for a macOS app: pre-flight checks, download and inspection, a livecheck strategy and the remaining cask steps.

    463 GitHub stars~1.6k tokensUpdated 5 days ago
    Auto-check passed
  • Web Research Search Tips

    malob/nix-config

    Practical guidance for multi-source web research with Exa, the Firecrawl CLI and Reddit MCP tools: when to search, when to fetch and which tool to prefer.

    463 GitHub stars~2.4k tokensUpdated 5 days ago
    Auto-check passed

Works with

Categories

Questions about Nerd Font Icon Lookup

What does Nerd Font Icon Lookup do?

Works around Claude Code filtering private-use Unicode so agents can read and write Nerd Font icons in Starship, tmux and prompt configs. Claude Code filters characters in the Basic Multilingual Plane private use area, from U+E000 to U+F8FF, which includes most Nerd Font icons such as Powerline, Font Awesome, Devicons and Octicons. Icons in the supplementary range starting at U+F0000, such as the Material Design set, pass through and can be written directly.

When should I use Nerd Font Icon Lookup?

Nerd Font Icon Lookup fits situations like: editing a Starship config that contains Nerd Font glyphs; writing icons into a tmux theme or shell prompt; finding the right icon name for a status line; checking whether two icon characters are identical.

How do I install Nerd Font Icon Lookup in Claude Code?

Run `npx skills add malob/nix-config --skill icon-lookup -a claude-code`. Or copy the skill folder (configs/claude/plugins/pua-unicode/skills/icon-lookup in malob/nix-config) into .claude/skills/icon-lookup in your project. Claude Code loads it when a task matches its description.

How do I install Nerd Font Icon Lookup in Codex?

Run `npx skills add malob/nix-config --skill icon-lookup -a codex`. Or copy the skill folder (configs/claude/plugins/pua-unicode/skills/icon-lookup in malob/nix-config) into .agents/skills/icon-lookup in your project. Codex loads it when a task matches its description.

Can I use Nerd Font Icon Lookup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add malob/nix-config --skill icon-lookup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/icon-lookup, .gemini/skills/icon-lookup, .github/skills/icon-lookup and .opencode/skills/icon-lookup in your project.

What does Nerd Font Icon Lookup need to run?

Going by SKILL.md and its folder, Nerd Font Icon Lookup needs the command-line tools its instructions call (python3 and git). Our summary lists: Python 3 for the lookup and identify scripts; The plugin's PostToolUse hooks enabled.

Does Nerd Font Icon Lookup access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Nerd Font Icon Lookup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Nerd Font Icon Lookup use?

Nerd Font Icon Lookup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Nerd Font Icon Lookup use?

About 697 tokens (SKILL.md is roughly 2.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Nerd Font Icon Lookup?

Skills that share tags, products or a category with Nerd Font Icon Lookup: Claude Code Statusline Writer (lexler/skill-factory, 239 stars), Hns Moaiadk Dev Reference (modu-ai/moai-adk, 1.2k stars), LangBot Plugin Development (langbot-app/LangBot, 18k stars) and CLI Developer (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Nerd Font Icon Lookup?

malob (a GitHub user) maintains it in malob/nix-config, which has 463 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 4, 2026.

Source: malob/nix-config on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.