About setup-statusline
A skill for migrating away from an older Claude Code status-line setup. It removes specified legacy files and settings, then directs users to install, update, and toggle the statusline in the conan-mods plugin.
Key features
- 01Clean up legacy status-line settings
- 02Remove specified scripts and baseline file
- 03Preserve other settings-file contents
- 04Guide plugin installation or update
- 05Provide status-line toggle commands
Use cases
- 01Move from a script-based status line to the plugin
- 02Remove legacy status-line hooks and files
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ c0nant/ skills --skill setup-statuslineAfter installing, type/setup-statuslinein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
RESUMO.mdTRADUCAO.pt-BR.mdagents/openai.yamlDetails
From the project READMESetup Status Line
The status line now lives in the conan-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
statusLinein~/.claude/settings.json, only when its command points tostatusline-command.sh.- Hook entries carrying the marker
claude-hook:statusline-resetunderSessionStart,SessionEndandUserPromptSubmit. ~/.claude/statusline-command.sh,~/.claude/statusline-reset-hook.shand~/.claude/statusline-baseline.json.
Everything else in settings.json stays untouched.
Prerequisites
jqinstalled (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 conan-mods --marketplace C0nanT/conan-mods
Already installed: claude plugin update conan-mods, then /reload-plugins.
3. Toggle
/conan-mods statusline off
/conan-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.