OPS on-demand: This skill should be used when the user asks to "statusline theme", "cockpit", or…

MITAuto-check: notes

Install Ops Statusline

skills CLI
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-statusline -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-statusline --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude-ops/skills/ops-statusline .claude/skills/ops-statusline && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ops-statusline
GitHub stars
542
Token cost
~2.7k tokens
SKILL.md length
466 words
Files
1
Skills in repo
67
Repo updated
First seen
Licence
MIT

At a glance

OPS on-demand: This skill should be used when the user asks to "statusline theme", "cockpit", or…

  • Works in 7 steps: Build sample payload → Run renderer → Run suggest engine → …
  • Asks to statusline theme
  • SKILL.md covers Runtime Context, Subcommand: preview, Subcommand: config and Subcommand: theme, plus 3 more sections
  • Calls jq and sh

What it does

Ops Statusline is an agent skill from Lifecycle-Innovations-Limited/claude-ops. OPS on-demand: This skill should be used when the user asks to "statusline theme", "cockpit", or…

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Business operating system for Claude Code — 57 skills, 21 agents, smart daemon. Unified inbox (WhatsApp/Email/Slack/Telegram), autonomous PR merge, full-AWS monitoring, revenue… The licence is MIT.

When your agent uses it

  • Asks to statusline theme

Example prompts

  • “statusline theme”
  • “cockpit”
  • “/ops-statusline”

Requirements

  • Pre-approved tools (allowed-tools): Bash, Read, Write, Edit, AskUserQuestion

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Build sample payload
  2. Run renderer
  3. Run suggest engine
  4. Preset selection
  5. Theme selection
  6. Write config
  7. Offer preview

What it can do on your machine

Read from SKILL.md and the folder at commit ee9c784. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • Edit
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • jq
    • sh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ops Statusline loads about 2.7k tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 466 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~28
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, Edit, AskUserQuestion

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Lifecycle-Innovations-Limited/claude-ops at commit ee9c784, republished under its MIT licence (© Lifecycle-Innovations-Limited). 466 words, ~2,705 tokens.

Download SKILL.mdSave it as .claude/skills/ops-statusline/SKILL.md (or your agent's skills folder).
name
ops-statusline
description
OPS on-demand: This skill should be used when the user asks to "statusline theme", "cockpit", or…
allowed-tools
Bash, Read, Write, Edit, AskUserQuestion
argument-hint
[preview|config|theme <name>|doctor|reset]
effort
low
maxTurns
20

Runtime Context

Before any subcommand, resolve paths:

bash
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-$(ls -d "$HOME/.claude/plugins/cache/ops-marketplace/ops"/*/ 2>/dev/null | sort -V | tail -1)}"
STATUSLINE_CMD="$HOME/.claude/statusline-command.sh"
STATUSLINE_CFG="$HOME/.claude/statusline.config.json"
THEMES_FILE="${PLUGIN_ROOT}templates/statusline/themes.json"
SETTINGS_FILE="$HOME/.claude/settings.json"
SUGGEST_BIN="${PLUGIN_ROOT}bin/ops-statusline-suggest"

OPS ► STATUSLINE

Load ops-rules before acting. Public repo (no personal data). Outbound: one draft → one approval → one send. If AskUserQuestion / Workflow are missing, follow Rule 10 in ops-rules (Hermes: numbered options / two-turn Telegram card; delegate_task).

Manages the Claude Code cockpit statusline — a 3-line terminal status bar showing context-window health, quota gauges, burn rate, git branch, fleet state, sys metrics, and per-project ops badges.

Parse $ARGUMENTS and route:

Argument (first word)Action
preview or emptyRender a sample output at current terminal width
configRe-run the wizard: preset, theme, projects, gauge widths
theme <name>Switch theme in config
doctorValidate config, settings.json wiring, renderer path
resetRestore default config from template
(anything else)Show help + current status

Subcommand: preview

Render the statusline using the current config against a built-in sample payload. Never touches real config or settings files.

Step 1 — Build sample payload
bash
COLS="${COLUMNS:-$(tput cols 2>/dev/null || echo 120)}"
SAMPLE_PAYLOAD=$(cat <<'JSON'
{
  "workspace": { "current_dir": "/home/user/Projects/my-app" },
  "model": { "display_name": "Claude Sonnet 4.6" },
  "rate_limits": {
    "five_hour":  { "used_percentage": 42, "resets_at": 0 },
    "seven_day":  { "used_percentage": 18, "resets_at": 0 }
  },
  "context_window": { "used_percentage": 31 },
  "cost": { "total_cost_usd": 0.14, "total_lines_added": 120, "total_lines_removed": 40 },
  "session_id": "preview-sample",
  "transcript_path": ""
}
JSON
)
Step 2 — Run renderer
bash
COLUMNS="$COLS" printf '%s' "$SAMPLE_PAYLOAD" | "$STATUSLINE_CMD" 2>/dev/null

If $STATUSLINE_CMD is not executable, fall back to the template:

bash
COLUMNS="$COLS" printf '%s' "$SAMPLE_PAYLOAD" | sh "${PLUGIN_ROOT}templates/statusline/statusline-command.sh" 2>/dev/null

Print the rendered output between ruler lines so the user sees the actual width context:

──────────────────────────────────────── (preview at 120 cols)
<rendered lines>
────────────────────────────────────────

If rendering fails (exit non-zero), print:

○ Preview failed — renderer returned non-zero.
  Check: /ops:statusline doctor

Subcommand: config

Re-run the wizard — preset, theme, projects, and gauge widths. Calls the suggest engine to seed a recommended config, then lets the user confirm or adjust each section. Writing to ~/.claude/statusline.config.json (never touches the real settings.json statusLine wiring — that is only changed by /ops:setup).

Step 1 — Run suggest engine
bash
SUGGESTED=$("$SUGGEST_BIN" 2>/tmp/ops-statusline-suggest.log)

Parse the _detected block to present context to the user:

bash
PROJ_COUNT=$(printf '%s' "$SUGGESTED" | jq -r '._detected.projects_found // 0')
INTEGRATIONS=$(printf '%s' "$SUGGESTED" | jq -r '._detected.integrations | to_entries | map(select(.value)) | map(.key) | join(", ") // "none"')

Print detection summary:

Detected N projects · integrations: <list>
Step 2 — Preset selection

Use AskUserQuestion (max 4 options per CLAUDE.md Rule 1):

Which preset?
  [cockpit — full color, all widgets (Recommended)]
  [minimal — essentials only, low noise]
  [full — all metrics, widest gauges]
  [Keep current preset]

Re-run suggest with chosen preset:

bash
SUGGESTED=$("$SUGGEST_BIN" --preset "$CHOSEN_PRESET" 2>/dev/null)
Step 3 — Theme selection

Use AskUserQuestion:

Which theme?
  [cockpit — rich color, graded gauges (Default)]
  [minimal — two shades, no color grading]
  [nord — cool blues]
  [mono — bold only, no color]

Patch the suggested config with chosen theme:

bash
SUGGESTED=$(printf '%s' "$SUGGESTED" | jq --arg t "$CHOSEN_THEME" '.theme = $t')
Show full SKILL.md (188 more words)Show less
Step 4 — Write config
bash
TMP=$(mktemp)
printf '%s\n' "$SUGGESTED" | jq 'del(._comment, ._detected)
  | . + {"_comment": "Configured by /ops:statusline config on '"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'."}' > "$TMP"
mv "$TMP" "$STATUSLINE_CFG"

Validate the written JSON:

bash
jq . "$STATUSLINE_CFG" >/dev/null 2>&1 && echo "✓ Config written to $STATUSLINE_CFG" || echo "✗ JSON validation failed"
Step 5 — Offer preview

Use AskUserQuestion:

Config saved. Preview now?
  [Yes — show preview]  [No — done]

On Yes, run the preview subcommand inline.


Subcommand: theme

Switch the theme key in the existing config without touching other settings.

bash
NEW_THEME="${ARGUMENTS#theme }"
NEW_THEME=$(printf '%s' "$NEW_THEME" | tr -d '[:space:]')

Validate theme exists in themes.json:

bash
VALID=$(jq -e --arg t "$NEW_THEME" '.[$t] // empty' "$THEMES_FILE" 2>/dev/null)

If invalid, list available themes and error:

bash
AVAILABLE=$(jq -r 'keys | join(", ")' "$THEMES_FILE" 2>/dev/null)
echo "Unknown theme '$NEW_THEME'. Available: $AVAILABLE"
exit 1

If valid, merge into existing config:

bash
TMP=$(mktemp)
if [ -f "$STATUSLINE_CFG" ]; then
  jq --arg t "$NEW_THEME" '.theme = $t' "$STATUSLINE_CFG" > "$TMP"
else
  jq -n --arg t "$NEW_THEME" '{"theme": $t}' > "$TMP"
fi
mv "$TMP" "$STATUSLINE_CFG"
echo "✓ Theme set to '$NEW_THEME'"

Run a quick preview automatically after switching.


Subcommand: doctor

Validate that all statusline components are healthy. Check and report:

Check 1 — Renderer exists and is executable
bash
if [ -x "$STATUSLINE_CMD" ]; then
  echo "✓ Renderer: $STATUSLINE_CMD"
else
  echo "✗ Renderer not found at $STATUSLINE_CMD"
  echo "  Fix: /ops:setup → Statusline section, or run:"
  echo "  cp '${PLUGIN_ROOT}templates/statusline/statusline-command.sh' '$STATUSLINE_CMD' && chmod +x '$STATUSLINE_CMD'"
fi
Check 2 — settings.json statusLine wiring
bash
if [ -f "$SETTINGS_FILE" ]; then
  SL_CMD=$(jq -r '.statusLine.command // empty' "$SETTINGS_FILE" 2>/dev/null)
  if [ -n "$SL_CMD" ]; then
    echo "✓ settings.json statusLine.command: $SL_CMD"
    # Verify it points at an executable
    eval SL_EXPANDED="$SL_CMD"
    [ -x "$SL_EXPANDED" ] || echo "  ⚠ command path is not executable — may need /ops:setup statusline"
  else
    echo "○ settings.json has no statusLine.command — statusline not wired"
    echo "  Fix: /ops:setup → Statusline section"
  fi
else
  echo "○ ~/.claude/settings.json not found — statusline not wired"
fi
Check 3 — Config JSON validity
bash
if [ -f "$STATUSLINE_CFG" ]; then
  if jq . "$STATUSLINE_CFG" >/dev/null 2>&1; then
    THEME=$(jq -r '.theme // "cockpit"' "$STATUSLINE_CFG")
    PROJ_COUNT=$(jq -r '(.projects // []) | length' "$STATUSLINE_CFG")
    echo "✓ Config: $STATUSLINE_CFG (theme=$THEME, projects=$PROJ_COUNT)"
  else
    echo "✗ Config JSON invalid: $STATUSLINE_CFG"
    echo "  Fix: /ops:statusline reset"
  fi
else
  echo "○ No config at $STATUSLINE_CFG — using built-in defaults"
fi
Check 4 — Themes file present
bash
if [ -f "$THEMES_FILE" ]; then
  THEMES=$(jq -r 'keys | join(", ")' "$THEMES_FILE" 2>/dev/null)
  echo "✓ Themes: $THEMES"
else
  echo "⚠ themes.json missing at $THEMES_FILE — theme switching may fail"
fi
Check 5 — Quick render smoke test
bash
PAYLOAD='{"model":{"display_name":"Test"},"rate_limits":{},"context_window":{},"cost":{}}'
RESULT=$(printf '%s' "$PAYLOAD" | COLUMNS=80 "$STATUSLINE_CMD" 2>/dev/null)
if [ -n "$RESULT" ]; then
  echo "✓ Render smoke test: PASS ($(printf '%s' "$RESULT" | wc -l | tr -d ' ') lines)"
else
  echo "✗ Render smoke test: FAIL — no output"
fi

Print final verdict: OK (all checks pass) or Issues found (with remediation steps).


Subcommand: reset

Restore ~/.claude/statusline.config.json from the default template.

Use AskUserQuestion:

Reset statusline config to defaults?
  [Yes — overwrite ~/.claude/statusline.config.json]  [Cancel]

On Yes:

bash
cp "${PLUGIN_ROOT}templates/statusline/statusline.config.default.json" "$STATUSLINE_CFG"
echo "✓ Config reset to defaults"

Then run preview.


CLI/API Reference

CommandEffect
/ops:statusline previewRender sample output
/ops:statusline configRe-run wizard
/ops:statusline theme cockpit|minimal|mono|nordSwitch theme
/ops:statusline doctorValidate all components
/ops:statusline resetRestore default config
Key files
FilePurpose
~/.claude/statusline-command.shThe renderer script
~/.claude/statusline.config.jsonUser config (theme, widgets, projects)
~/.claude/settings.jsonContains .statusLine.command wiring
${PLUGIN_ROOT}templates/statusline/statusline-command.shCanonical renderer template
${PLUGIN_ROOT}templates/statusline/themes.jsonAvailable themes
${PLUGIN_ROOT}templates/statusline/statusline.config.default.jsonDefault config
${PLUGIN_ROOT}bin/ops-statusline-suggestRegistry-driven config generator

© Lifecycle-Innovations-Limited, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in claude-ops/skills/ops-statusline of Lifecycle-Innovations-Limited/claude-ops.

Open the folder on GitHubat commit ee9c784

Compare with similar skills

Ops Statusline next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ops Statusline compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ops Statusline this skillLifecycle-Innovations-Limited/claude-ops542—~2.7kAutomated safety check: NotesMIT
Knowledge Opsaffaan-m/ECC276k2 repos~1.7kAutomated safety check: PassMIT
Research Opsaffaan-m/ECC276k2 repos~902Automated safety check: PassMIT
Terminal Opsaffaan-m/ECC276k2 repos~750Automated safety check: PassMIT
Messages Opsaffaan-m/ECC276k1 repos~724Automated safety check: PassMIT
Email Opsaffaan-m/ECC276k1 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Knowledge Ops

    affaan-m/ECC

    Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).

    276k GitHub starsUsed in 2 repos~1.7k tokens
    Knowledge ManagementAuto-check passed
  • Research Ops

    affaan-m/ECC

    Evidence-first current-state research workflow for ECC. An agent skill from affaan-m/ECC.

    276k GitHub starsUsed in 2 repos~902 tokens
    Research & ScienceAuto-check passed
  • Terminal Ops

    affaan-m/ECC

    Evidence-first repo execution workflow for ECC. An agent skill from affaan-m/ECC.

    276k GitHub starsUsed in 2 repos~750 tokens
    Testing & QAAuto-check passed
  • Messages Ops

    affaan-m/ECC

    Evidence-first live messaging workflow for ECC. An agent skill from affaan-m/ECC.

    276k GitHub starsUsed in 1 repo~724 tokens
    Productivity & AutomationAuto-check passed
  • Email Ops

    affaan-m/ECC

    Evidence-first mailbox triage, drafting, send verification, and sent-mail-safe follow-up workflow for ECC.

    276k GitHub starsUsed in 1 repo~1.1k tokens
    Writing & ContentAuto-check passed
  • GitHub Ops

    affaan-m/ECC

    GitHub repository operations, automation, and management. An agent skill from affaan-m/ECC.

    276k GitHub starsUsed in 2 repos~1.5k tokens
    DevelopmentAuto-check: warnings

More from Lifecycle-Innovations-Limited/claude-ops

All 67 skills in this repo
  • Ops Dash

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "ops dashboard", "pixel HQ", or…

    542 GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Ops Gtm

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "go to market", "GTM plan", or…

    542 GitHub stars~3.7k tokensUpdated today
    Auto-check: notes
  • Ops Marketing

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "klaviyo", "ads spend", or…

    542 GitHub stars~3.5k tokensUpdated today
    Auto-check: notes
  • Ops Socials

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "tweet", "post to linkedin", or…

    542 GitHub stars~3.6k tokensUpdated today
    Auto-check: notes
  • Ops Yolo

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "yolo mode", "run the business today"…

    542 GitHub stars~4k tokensUpdated today
    Auto-check: notes
  • Ops Monitor

    Lifecycle-Innovations-Limited/claude-ops

    OPS on-demand: This skill should be used when the user asks to "datadog", "APM alerts", or…

    542 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check: notes

Questions about Ops Statusline

What does Ops Statusline do?

OPS on-demand: This skill should be used when the user asks to "statusline theme", "cockpit", or…. Ops Statusline is an agent skill from Lifecycle-Innovations-Limited/claude-ops.

When should I use Ops Statusline?

Ops Statusline fits situations like: asks to statusline theme.

How do I install Ops Statusline in Claude Code?

Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-statusline -a claude-code`. Or copy the skill folder (claude-ops/skills/ops-statusline in Lifecycle-Innovations-Limited/claude-ops) into .claude/skills/ops-statusline in your project. Claude Code loads it when a task matches its description.

How do I install Ops Statusline in Codex?

Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-statusline -a codex`. Or copy the skill folder (claude-ops/skills/ops-statusline in Lifecycle-Innovations-Limited/claude-ops) into .agents/skills/ops-statusline in your project. Codex loads it when a task matches its description.

Can I use Ops Statusline in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-statusline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ops-statusline, .gemini/skills/ops-statusline, .github/skills/ops-statusline and .opencode/skills/ops-statusline in your project.

What does Ops Statusline need to run?

Going by SKILL.md and its folder, Ops Statusline needs the command-line tools its instructions call (jq and sh). Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, AskUserQuestion.

Does Ops Statusline access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Ops Statusline safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Ops Statusline use?

Ops Statusline is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ops Statusline use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ops Statusline?

Skills that share tags, products or a category with Ops Statusline: Knowledge Ops (affaan-m/ECC, 276k stars), Research Ops (affaan-m/ECC, 276k stars), Terminal Ops (affaan-m/ECC, 276k stars) and Messages Ops (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ops Statusline?

Lifecycle-Innovations-Limited (a GitHub organization) maintains it in Lifecycle-Innovations-Limited/claude-ops, which has 542 GitHub stars. The repository holds 67 skills in this directory. The repository was last updated on October 10, 2026.

Source: Lifecycle-Innovations-Limited/claude-ops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.