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.
Works around Claude Code filtering private-use Unicode so agents can read and write Nerd Font icons in Starship, tmux and prompt configs.
$ npx skills add malob/nix-config --skill icon-lookup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install malob/nix-config icon-lookup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "icon-lookup" agent skill from https://github.com/malob/nix-config/tree/master/configs/claude/plugins/pua-unicode/skills/icon-lookup into .claude/skills/icon-lookup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "icon-lookup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/malob/nix-config/tree/master/configs/claude/plugins/pua-unicode/skills/icon-lookupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add malob/nix-config --skill icon-lookup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install malob/nix-config icon-lookup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/malob/nix-config.git skills-src && mkdir -p .agents/skills && cp -r skills-src/configs/claude/plugins/pua-unicode/skills/icon-lookup .agents/skills/icon-lookup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "icon-lookup" agent skill from https://github.com/malob/nix-config/tree/master/configs/claude/plugins/pua-unicode/skills/icon-lookup into .agents/skills/icon-lookup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "icon-lookup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add malob/nix-config --skill icon-lookup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install malob/nix-config icon-lookup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/malob/nix-config.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/configs/claude/plugins/pua-unicode/skills/icon-lookup .cursor/skills/icon-lookup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "icon-lookup" agent skill from https://github.com/malob/nix-config/tree/master/configs/claude/plugins/pua-unicode/skills/icon-lookup into .cursor/skills/icon-lookup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "icon-lookup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/malob/nix-config.git --path configs/claude/plugins/pua-unicode/skills/icon-lookup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add malob/nix-config --skill icon-lookup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install malob/nix-config icon-lookup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/malob/nix-config.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/configs/claude/plugins/pua-unicode/skills/icon-lookup .gemini/skills/icon-lookup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "icon-lookup" agent skill from https://github.com/malob/nix-config/tree/master/configs/claude/plugins/pua-unicode/skills/icon-lookup into .gemini/skills/icon-lookup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "icon-lookup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install malob/nix-config icon-lookupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add malob/nix-config --skill icon-lookup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/malob/nix-config.git skills-src && mkdir -p .github/skills && cp -r skills-src/configs/claude/plugins/pua-unicode/skills/icon-lookup .github/skills/icon-lookup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "icon-lookup" agent skill from https://github.com/malob/nix-config/tree/master/configs/claude/plugins/pua-unicode/skills/icon-lookup into .github/skills/icon-lookup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "icon-lookup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add malob/nix-config --skill icon-lookup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install malob/nix-config icon-lookup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/malob/nix-config.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/configs/claude/plugins/pua-unicode/skills/icon-lookup .opencode/skills/icon-lookup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "icon-lookup" agent skill from https://github.com/malob/nix-config/tree/master/configs/claude/plugins/pua-unicode/skills/icon-lookup into .opencode/skills/icon-lookup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "icon-lookup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
icon-lookupWorks 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.
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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9cca0f4. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
python3gitFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from malob/nix-config at commit 9cca0f4, republished under its MIT licence (© malob). 212 words, ~697 tokens.
.claude/skills/icon-lookup/SKILL.md (or your agent's skills folder).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.
| 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-*) |
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.
When writing icons in the filtered BMP PUA range, use placeholder syntax:
{{ U+E0A0 }} (without the spaces){{ nf-fa-star }} (without the spaces)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 iconsIdentify 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 -If placeholders weren't converted (e.g., hook didn't run):
${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
Just SKILL.md in configs/claude/plugins/pua-unicode/skills/icon-lookup of malob/nix-config.
Open the folder on GitHubat commit 9cca0f4
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Nerd Font Icon Lookup this skillmalob/nix-config | 463 | — | ~697 | Automated safety check: Pass | MIT | |
| Claude Code Statusline Writerlexler/skill-factory | 239 | — | ~872 | Automated safety check: Pass | Apache-2.0 | |
| Hns Moaiadk Dev Referencemodu-ai/moai-adk | 1.2k | — | ~937 | Automated safety check: Pass | Apache-2.0 | |
| LangBot Plugin Developmentlangbot-app/LangBot | 18k | — | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| CLI DeveloperJeffallan/claude-skills | 12k | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Git History Bug Auditben-manes/caffeine | 18k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 |
lexler/skill-factory
Guides writing and debugging Claude Code status line scripts that read session JSON from stdin and print one line of text.
modu-ai/moai-adk
moai-adk-go local dev reference — version management/release process (sec 5), shell-script hook development (sec 7), build & dev commands (sec 10).
langbot-app/LangBot
Guides building, debugging and testing LangBot plugins: components, SDK calls, README and locale rules, SDK pitfalls and WebSocket-based testing.
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.
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.
obra/superpowers-lab
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…
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.
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.
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.
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.
Categories
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.