Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    dwmkerr

    claude-code-statusline-development

    dwmkerr/claude-code-statusline-development
    Coding
    5
    1 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    This skill should be used when the user asks to "create a statusline", "customize the status line", "add a custom prompt", or mentions Claude Code statusline...

    SKILL.md

    Claude Code Statusline Development

    Create custom status lines that display contextual information at the bottom of Claude Code.

    Quick Reference

    You MUST read the reference files for detailed schemas and examples:

    • JSON Schema - Complete input structure documentation
    • Example: Simple - Basic bash statusline
    • Example: Git-Aware - Git branch and status
    • Example: Context Usage - Context window percentage
    • Example: Cost Tracking - Session costs and tokens

    Configuration

    Add to .claude/settings.json:

    {
      "statusLine": {
        "type": "command",
        "command": "~/.claude/statusline.sh",
        "padding": 0
      }
    }
    

    How It Works

    • Status line updates when conversation messages change
    • Updates run at most every 300ms
    • First line of stdout becomes the status line text
    • ANSI color codes supported
    • JSON context passed via stdin

    JSON Input (Quick Reference)

    Field Description
    model.display_name Model name (e.g., "Opus")
    workspace.current_dir Current working directory
    workspace.project_dir Original project directory
    cost.total_cost_usd Session cost in USD
    cost.total_lines_added Lines added this session
    cost.total_lines_removed Lines removed this session
    context_window.context_window_size Max context tokens
    context_window.current_usage Current token usage object

    See JSON Schema for complete structure.

    Script Template

    #!/bin/bash
    input=$(cat)
    
    # Extract values using jq
    model=$(echo "$input" | jq -r '.model.display_name')
    dir=$(echo "$input" | jq -r '.workspace.current_dir')
    
    # Colors via tput
    blue=$(tput setaf 4)
    reset=$(tput sgr0)
    
    echo "${blue}[$model]${reset} ${dir##*/}"
    

    Make executable:

    chmod +x ~/.claude/statusline.sh
    

    Tips

    • Keep output concise - single line only
    • Use tput for portable ANSI colors
    • Test with mock JSON: echo '{"model":{"display_name":"Test"}}' | ./statusline.sh
    • Cache expensive operations (git status) if needed

    Important

    After creating or modifying statuslines, inform the user:

    No restart needed. Statusline changes take effect immediately - Claude Code reads settings fresh on each update.

    Attribution

    Based on Claude Code Status Line Configuration.

    Recommended Servers
    Vercel Grep
    Vercel Grep
    Microsoft Learn MCP
    Microsoft Learn MCP
    GitHub
    GitHub
    Repository
    dwmkerr/claude-toolkit
    Files