mcpField
S
setup-statusline

setup-statusline

github.com/c0nantAgent workflows358 installsUpdated today
Repository

About setup-statusline

setup-statusline is a cleanup skill for Claude Code that removes the legacy shell-based status line setup and directs users to the c-mods plugin for the replacement.

Key features

  1. 01Removes legacy status line configuration
  2. 02Deletes marked reset hooks
  3. 03Removes obsolete scripts and baseline file
  4. 04Preserves unrelated settings.json entries
  5. 05Provides c-mods install and toggle commands

Use cases

  1. 01Replacing a shell-based Claude Code status line
  2. 02Removing old status line hooks and files
  3. 03Switching to the c-mods statusline plugin

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/c0nant/c-skills --skill setup-statusline

After installing, type/setup-statuslinein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

RESUMO.md
TRADUCAO.pt-BR.md
agents/
openai.yaml

Details

From the project README

Setup Status Line

The status line now lives in the c-mods plugin (statusline function): model, effort, context usage, session duration, rate limit and git branch, with no bash script, jq or baseline file. This skill no longer installs anything. It removes the old shell-based model from the machine and points to the plugin.

What gets removed

  • statusLine in ~/.claude/settings.json, only when its command points to statusline-command.sh.
  • Hook entries carrying the marker claude-hook:statusline-reset under SessionStart, SessionEnd and UserPromptSubmit.
  • ~/.claude/statusline-command.sh, ~/.claude/statusline-reset-hook.sh and ~/.claude/statusline-baseline.json.

Everything else in settings.json stays untouched.

Prerequisites

  • jq installed (used only for this cleanup)

Steps

1. Clean the old setup
SETTINGS="$HOME/.claude/settings.json"

if [ -s "$SETTINGS" ] && jq -e . "$SETTINGS" >/dev/null 2>&1; then
  jq '
    (if ((.statusLine.command // "") | test("statusline-command\\.sh")) then del(.statusLine) else . end)
    | reduce ("SessionStart","SessionEnd","UserPromptSubmit") as $ev (.;
        if .hooks[$ev] then
          .hooks[$ev] |= map(select((.hooks // []) | map(.command // "") | any(test("claude-hook:statusline-reset")) | not))
          | if (.hooks[$ev] | length) == 0 then del(.hooks[$ev]) else . end
        else . end)
    | if (.hooks // null) == {} then del(.hooks) else . end
  ' "$SETTINGS" > "$SETTINGS.tmp" && mv "$SETTINGS.tmp" "$SETTINGS"
else
  echo "settings.json missing or not valid JSON: nothing to clean"
fi

rm -f "$HOME/.claude/statusline-command.sh" \
      "$HOME/.claude/statusline-reset-hook.sh" \
      "$HOME/.claude/statusline-baseline.json"
2. Install the plugin

Tell the user to run, inside Claude Code:

/plugin install c-mods --marketplace C0nanT/c-mods

Already installed: claude plugin update c-mods, then /reload-plugins.

3. Toggle
/c-mods statusline off
/c-mods statusline on

The reset clock uses the machine's local timezone. If auto-detect is wrong, set STATUSLINE_TZ (IANA name, e.g. America/Sao_Paulo) in ~/.claude/settings.json env.

Comments

Markdown supported