From dev
Modular status line for Claude Code. Displays path, context tokens, git info, battery, memory, API usage, and session cost. Supports configurable profiles (minimal, standard, developer, full, classic) and individual module toggles. Use when setting up or customizing the Claude Code status line.
npx claudepluginhub leobrival/topographic-plugins-officialThis skill is limited to using the following tools:
Modular status line system for Claude Code with configurable profiles and 7 display modules.
scripts/statusline/biome.jsonscripts/statusline/bun.lockbscripts/statusline/config/default.jsonscripts/statusline/config/profiles/classic.jsonscripts/statusline/config/profiles/developer.jsonscripts/statusline/config/profiles/full.jsonscripts/statusline/config/profiles/minimal.jsonscripts/statusline/config/profiles/standard.jsonscripts/statusline/package.jsonscripts/statusline/src/cli.tsscripts/statusline/src/index.tsscripts/statusline/src/lib/config-manager.tsscripts/statusline/src/lib/context.tsscripts/statusline/src/lib/formatters.tsscripts/statusline/src/lib/modules/base.tsscripts/statusline/src/lib/modules/battery.tsscripts/statusline/src/lib/modules/context.tsscripts/statusline/src/lib/modules/cost.tsscripts/statusline/src/lib/modules/git.tsscripts/statusline/src/lib/modules/memory.tsGenerates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Modular status line system for Claude Code with configurable profiles and 7 display modules.
This skill provides a customizable status line that displays real-time information during Claude Code sessions.
| Module | Information | Default |
|---|---|---|
path | Current working directory (full/relative/short) | On |
context | Token count and context window usage % | On |
git | Branch name, changed files, additions/deletions | Off |
battery | Battery percentage and charging state (macOS) | On |
memory | RAM usage percentage and pressure level (macOS) | On |
usage | API usage with progress bar (OAuth + Anthropic API) | On |
cost | Session cost in USD and duration | Off |
scripts/statusline/
├── src/
│ ├── index.ts # Main entry point (reads stdin HookInput)
│ ├── cli.ts # CLI argument parser
│ └── lib/
│ ├── types.ts # HookInput interface, type definitions
│ ├── config-manager.ts # Profile loading, deep merge, config resolution
│ ├── context.ts # Standalone context token counter
│ ├── formatters.ts # ANSI colors, progress bars, path formatting
│ ├── usage-limits.ts # OAuth token retrieval, Anthropic API usage
│ └── modules/
│ ├── base.ts # BaseStatusModule abstract class
│ ├── path.ts # PathModule
│ ├── context.ts # ContextModule (transcript parsing)
│ ├── git.ts # GitModule (branch, changes, diff stats)
│ ├── battery.ts # BatteryModule (pmset, macOS)
│ ├── memory.ts # MemoryModule (vm_stat, macOS)
│ ├── usage.ts # UsageModule (API usage bars)
│ └── cost.ts # CostModule (session cost + duration)
├── config/
│ ├── default.json # Default module configuration
│ └── profiles/
│ ├── minimal.json # Path + context only
│ ├── standard.json # Balanced with usage
│ ├── developer.json # All modules including git + cost
│ ├── full.json # Everything enabled
│ └── classic.json # Block-style progress bars
├── statusline.config.ts # Legacy config interface
├── package.json
├── tsconfig.json
└── biome.json
cd ~/.claude/plugins/marketplaces/topographic-plugins-official/plugins/dev/skills/statusline/scripts/statusline
bun install
Add or update the statusLine entry in ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "bun ~/.claude/plugins/marketplaces/topographic-plugins-official/plugins/dev/skills/statusline/scripts/statusline/src/index.ts",
"padding": 0
}
}
Restart Claude Code. The status line should appear at the bottom of the terminal.
To test manually:
echo '{"session_id":"test","transcript_path":"/tmp/test","cwd":"/tmp","model":"claude-sonnet-4-20250514"}' | bun ~/.claude/plugins/marketplaces/topographic-plugins-official/plugins/dev/skills/statusline/scripts/statusline/src/index.ts
Switch profiles via CLI argument or by editing config/default.json.
| Profile | Modules Enabled | Use Case |
|---|---|---|
minimal | path, context | Low distraction |
standard | path, context, battery, memory, usage | Balanced (default) |
developer | path, context, git, battery, memory, usage, cost | Full dev info |
full | All modules, all features | Maximum information |
classic | Same as standard, block-style bars | Retro look |
Edit the statusLine command in settings.json to pass --profile:
{
"statusLine": {
"type": "command",
"command": "bun ~/.claude/plugins/marketplaces/topographic-plugins-official/plugins/dev/skills/statusline/scripts/statusline/src/index.ts --profile developer",
"padding": 0
}
}
| Flag | Description |
|---|---|
--profile <name> | Load a profile (minimal, standard, developer, full, classic) |
--modules <list> | Comma-separated list of modules to enable |
--separator <char> | Custom separator between modules (default: •) |
--no-progress-bar | Disable progress bars |
--debug | Enable debug output |
--list-profiles | List available profiles |
--help | Show help |
Edit config/default.json to customize individual modules:
{
"modules": {
"path": { "enabled": true, "mode": "full" },
"git": { "enabled": true, "showBranch": true, "showChanges": true },
"usage": { "enabled": true, "progressBarStyle": "braille" }
}
}
Add a JSON file in config/profiles/:
{
"modules": {
"path": { "enabled": true, "mode": "short" },
"context": { "enabled": true },
"git": { "enabled": true }
},
"separator": " | "
}
The battery and memory modules use macOS-specific commands:
pmset -g batt (power management)vm_stat (virtual memory statistics)These modules gracefully degrade on non-macOS systems (disabled or show fallback).
settings.json points to the correct locationbun is in PATH--debug flag to the commandThe usage module requires OAuth authentication with Anthropic. It reads the token from macOS Keychain (security find-generic-password). If not authenticated, the module shows no data.
Check config/default.json — modules must have "enabled": true to appear.