by Nanako0129
🪸 Powerlevel10k-inspired statusline for Claude Code — paste one prompt and your AI interviews you, then installs it
# Add to your Claude Code skills
git clone https://github.com/Nanako0129/corallineGuides for using cli tools skills like coralline.
Last scanned: 6/15/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-06-15T10:24:02.886Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}coralline is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Nanako0129. 🪸 Powerlevel10k-inspired statusline for Claude Code — paste one prompt and your AI interviews you, then installs it. It has 481 GitHub stars.
Yes. coralline passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/Nanako0129/coralline" and add it to your Claude Code skills directory (see the Installation section above).
coralline is primarily written in Shell. It is open-source under Nanako0129 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh coralline against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
A Powerlevel10k-inspired statusline for Claude Code with one installer entrypoint for humans and AI: run it directly, or ask Claude to run it and handle the setup for you.

╭ ~/side-project/coralline ⬢ coralline ⎇ main+! ◆ Fable 5 ψ high ⬡ ▰▰▰▱▱ 62% ↑1.2M ↓45.6k 5h ▰▰▱▱▱ 41% ↺2h44m 7d ▰▰▰▰▱ 79% ↺1d11h +321 −87 $1.23 ✎ Explanatory ⧖ 47m ⚑ 1 ⊙ 02:45 pm ╮
| Segment | Shows |
|---|---|
dir |
current directory, long paths collapsed to ~/a/…/z |
project |
repo name (⬢), stable across every worktree; hidden outside a git repo |
git |
branch, staged + / modified ! / untracked ?, ahead ⇡ behind ⇣ |
node |
active Node version (Nerd Font nf-dev-nodejs_small) from .nvmrc / .node-version (or node on PATH with VL_RUNTIME_PROBE=1); hidden when undetected; opt-in |
python |
active Python env (Nerd Font nf-dev-python) — $VIRTUAL_ENV / conda (skips base) / .python-version (or python3 on PATH with VL_RUNTIME_PROBE=1); hidden when undetected; opt-in |
model |
active Claude model |
effort |
reasoning effort level (ψ) — low / med / high / xhigh / max |
ctx |
context-window gauge, input/output/cache token counts |
limit5h / limit7d |
rate-limit gauges with reset countdown |
burn |
range-to-empty: projected time until the binding limit (5h or 7d) hits 100% at the recent burn rate (↗); opt-in by adding burn to VL_SEGMENTS |
lines |
lines added/removed this session |
cost |
session cost in USD |
style |
active output style |
duration |
session wall-clock duration |
stash |
git stash count |
clock |
time, 12h or 24h |
Gauges change color as they fill: green → yellow at 50% → red at 75% (thresholds configurable).
Three ways to install, all driven by the same install.sh. Each one copies the renderer and
the setup wizard into ~/.claude/coralline and registers the status line in Claude Code, so
you can re-run the wizard later no matter which way you installed.
Requirements:
jqand a Nerd Font terminal. No Nerd Font? SetVL_ASCII=1in your config for a glyph-free rendering.
Paste this into Claude Code:
Please install coralline for me:
fetch https://raw.githubusercontent.com/Nanako0129/coralline/main/INSTALL.md
and follow the playbook in it.
Claude will read the playbook, use the same installer to bootstrap the runtime, interview you about the look, write the config, verify it, and remind you that you can rerun the visual wizard if the first result doesn't match your taste.
If your Claude flags the playbook and wants to inspect things first, that is the right instinct, not an obstacle: see Trust and security.
Run the installer in your terminal:
curl -fsSL https://raw.githubusercontent.com/Nanako0129/coralline/main/install.sh | bash
When run interactively it asks which version to install — the latest tagged release
(recommended) or main (latest development). To skip the prompt, pin one explicitly with
--ref, e.g. ... | bash -s -- --ref v0.9.1 or --ref main.
git clone https://github.com/Nanako0129/coralline ~/.claude/coralline-src
mkdir -p ~/.claude/coralline/themes
cp ~/.claude/coralline-src/statusline.sh ~/.claude/coralline/
cp ~/.claude/coralline-src/configure.sh ~/.claude/coralline/
cp ~/.claude/coralline-src/install.sh ~/.claude/coralline/
cp ~/.claude/coralline-src/themes/claude-coral.conf ~/.claude/coralline/themes/
Then add to ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "bash ~/.claude/coralline/statusline.sh",
"refreshInterval": 1
}
}
Note: the commands above copy only the
claude-coraltheme. The Ask-Claude and one-line installers bundle every theme; after a manual install, copy the rest of~/.claude/coralline-src/themes/*.confinto~/.claude/coralline/themes/to switch themes.
Two ways to update, both driven by the same installer. Either way your
~/.claude/coralline.conf is preserved and the previous statusline.sh is backed up
under ~/.claude/coralline/ (the 3 newest are kept).
Paste this into Claude Code:
Please update coralline for me:
fetch https://raw.githubusercontent.com/Nanako0129/coralline/main/UPGRADE.md
and follow the playbook in it.
Claude re-runs the installer, reads the "new since your installed copy" report, and offers to turn on any new opt-in features for you.
Re-run the installer — it prints a short "new since your installed copy" report when something new shipped:
curl -fsSL https://raw.githubusercontent.com/Nanako0129/coralline/main/install.sh | bash -s -- --install-only
The Ask-Claude install is a remote document that instructs an AI to run curl | bash and
touch ~/.claude/settings.json. That shape is exactly what a prompt-injection attack looks
like, so a Claude that red-flags it before proceeding is behaving correctly. The answer to
that skepticism is inspection, not trust:
statusLine key into settings.json, and
INSTALL.md is the playbook the AI follows. Have your Claude read both
before approving anything; that is the intended flow.... | bash -s -- --ref v0.9.1 installs a tagged release instead of
main, so what you audited is what you run. The interactive installer already offers the
latest tag by default.~/.claude/coralline/, your choices in
~/.claude/coralline.conf, and one statusLine entry merged into
~/.claude/settings.json (a timestamped settings.json.bak.* backup is created first).
Nothing else.statusline.sh renders on every prompt. It is pure bash and
makes zero network requests at runtime; the only external commands are one jq call and
one git call per render. Your prompts, keys, and usage data never leave the machine.rm -rf ~/.claude/coralline ~/.claude/coralline.conf
Then delete the statusLine block from ~/.claude/settings.json (or restore the newest
settings.json.bak.*). Nothing else is left behind.
Both paths use the same installer. Humans run it with no mode and get the visual setup. Claude
uses it with --install-only, then follows INSTALL.md to interview you and write config.
| Mode | Use when |
|---|---|
| Default | You want the coralline default immediately |
| Powerlevel10k import | You already have ~/.p10k.zsh and want to carry over its style, time format, and main colors |
| Visual wizard | You want to preview themes, style, segments, wrapping, clock, and font compatibility before writing config |
Running the installer yourself with no mode opens the interactive setup. Claude should not operate that TUI unless you explicitly ask for visual customization.
Every install path copies the wizard into ~/.claude/coralline, so you can rerun it anytime to
restyle:
bash ~/.claude/coralline/configure.sh
Point the installer at the same fork:
curl -fsSL https://raw.githubusercontent.com/YOU/coralline/main/install.sh | bash -s -- --repo YOU/coralline
Everything lives in ~/.claude/coralline.conf (plain bash, sourced by the script):
| Variable | Default | Meaning |
|---|---|---|
VL_STYLE |
pill |
pill: powerline pills · lean: flat colored text · classic: lean on a uniform dark bar (p10k classic) |
VL_LAYOUT |
fixed |
fixed: one line per VL_SEGMENTS* var · auto: responsive |
VL_MAX_LINES |
3 |
auto only — wrap into at most this many lines (1 = never wrap) |
VL_WRAP_MARGIN |
4 |
auto only — columns kept free on the right so segments never touch the edge |
VL_SEGMENTS |
dir git model ctx limit5h limit7d cost clock |
segments on line 1, in order (the full list in auto mode) |
VL_SEGMENTS2 / VL_SEGMENTS3 |
(empty) | fixed only — optional second/third line |
VL_CLOCK |
12h |
12h / 24h / off |
VL_CLOCK_SECONDS |
1 |
show seconds in the clock |
VL_BAR_WIDTH |
5 |
gauge width in cells |
VL_PATH_DEPTH |
4 |
collapse paths deeper than this |
VL_NAME_MAX |
0 |
max chars for the project / git names before … truncation (0 = off) |
VL_COST_DECIMALS |
2 |
decimal places for the cost segment |
VL_WARN_PCT / VL_HOT_PCT |
50 / 75 |
gauge color thresholds |
VL_ASCII |
0 |
1 disables Nerd Font glyphs |
VL_RUNTIME_PROBE |
0 |
node / python: 1 = also detect via node / python3 on PATH when no pin file (forks per render) |
VL_BG_* / VL_FG_* |
theme | colors — 256-color index or "R,G,B" |

Off by default. Add burn to VL_SEGMENTS to show a "range to empty" — the projected
time until whichever rate limit (5h or 7d) binds first, e.g. ↗ 5h ⇢ 1h58m. Keys:
CORALLINE_BURN_WINDOW (recent-slope lookback, default 600s), VL_BURN_GLYPH (default
↗), VL_BG_BURN (defaults to the 5h backg