Knowledge Ops
affaan-m/ECC
Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).
Agent skill
by Lifecycle-Innovations-Limited in Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "statusline theme", "cockpit", or…
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-statusline -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-statusline --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "ops-statusline" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-statusline into .claude/skills/ops-statusline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-statusline", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-statuslineType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-statusline -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-statusline --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .agents/skills && cp -r skills-src/claude-ops/skills/ops-statusline .agents/skills/ops-statusline && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ops-statusline" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-statusline into .agents/skills/ops-statusline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-statusline", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-statusline -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-statusline --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/claude-ops/skills/ops-statusline .cursor/skills/ops-statusline && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ops-statusline" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-statusline into .cursor/skills/ops-statusline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-statusline", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Lifecycle-Innovations-Limited/claude-ops.git --path claude-ops/skills/ops-statusline--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-statusline -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-statusline --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/claude-ops/skills/ops-statusline .gemini/skills/ops-statusline && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ops-statusline" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-statusline into .gemini/skills/ops-statusline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-statusline", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-statuslineInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-statusline -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .github/skills && cp -r skills-src/claude-ops/skills/ops-statusline .github/skills/ops-statusline && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ops-statusline" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-statusline into .github/skills/ops-statusline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-statusline", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-statusline -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-statusline --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/claude-ops/skills/ops-statusline .opencode/skills/ops-statusline && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ops-statusline" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-statusline into .opencode/skills/ops-statusline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-statusline", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ops-statuslineOPS 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. 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.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ee9c784. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadWriteEditAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
jqshFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Write, Edit, AskUserQuestionAutomated 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.
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.
.claude/skills/ops-statusline/SKILL.md (or your agent's skills folder).Before any subcommand, resolve paths:
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"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 empty | Render a sample output at current terminal width |
config | Re-run the wizard: preset, theme, projects, gauge widths |
theme <name> | Switch theme in config |
doctor | Validate config, settings.json wiring, renderer path |
reset | Restore default config from template |
| (anything else) | Show help + current status |
Render the statusline using the current config against a built-in sample payload. Never touches real config or settings files.
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
)COLUMNS="$COLS" printf '%s' "$SAMPLE_PAYLOAD" | "$STATUSLINE_CMD" 2>/dev/nullIf $STATUSLINE_CMD is not executable, fall back to the template:
COLUMNS="$COLS" printf '%s' "$SAMPLE_PAYLOAD" | sh "${PLUGIN_ROOT}templates/statusline/statusline-command.sh" 2>/dev/nullPrint 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 doctorRe-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).
SUGGESTED=$("$SUGGEST_BIN" 2>/tmp/ops-statusline-suggest.log)Parse the _detected block to present context to the user:
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>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:
SUGGESTED=$("$SUGGEST_BIN" --preset "$CHOSEN_PRESET" 2>/dev/null)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:
SUGGESTED=$(printf '%s' "$SUGGESTED" | jq --arg t "$CHOSEN_THEME" '.theme = $t')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:
jq . "$STATUSLINE_CFG" >/dev/null 2>&1 && echo "✓ Config written to $STATUSLINE_CFG" || echo "✗ JSON validation failed"Use AskUserQuestion:
Config saved. Preview now?
[Yes — show preview] [No — done]On Yes, run the preview subcommand inline.
Switch the theme key in the existing config without touching other settings.
NEW_THEME="${ARGUMENTS#theme }"
NEW_THEME=$(printf '%s' "$NEW_THEME" | tr -d '[:space:]')Validate theme exists in themes.json:
VALID=$(jq -e --arg t "$NEW_THEME" '.[$t] // empty' "$THEMES_FILE" 2>/dev/null)If invalid, list available themes and error:
AVAILABLE=$(jq -r 'keys | join(", ")' "$THEMES_FILE" 2>/dev/null)
echo "Unknown theme '$NEW_THEME'. Available: $AVAILABLE"
exit 1If valid, merge into existing config:
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.
Validate that all statusline components are healthy. Check and report:
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'"
fiif [ -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"
fiif [ -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"
fiif [ -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"
fiPAYLOAD='{"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"
fiPrint final verdict: OK (all checks pass) or Issues found (with remediation steps).
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:
cp "${PLUGIN_ROOT}templates/statusline/statusline.config.default.json" "$STATUSLINE_CFG"
echo "✓ Config reset to defaults"Then run preview.
| Command | Effect |
|---|---|
/ops:statusline preview | Render sample output |
/ops:statusline config | Re-run wizard |
/ops:statusline theme cockpit|minimal|mono|nord | Switch theme |
/ops:statusline doctor | Validate all components |
/ops:statusline reset | Restore default config |
| File | Purpose |
|---|---|
~/.claude/statusline-command.sh | The renderer script |
~/.claude/statusline.config.json | User config (theme, widgets, projects) |
~/.claude/settings.json | Contains .statusLine.command wiring |
${PLUGIN_ROOT}templates/statusline/statusline-command.sh | Canonical renderer template |
${PLUGIN_ROOT}templates/statusline/themes.json | Available themes |
${PLUGIN_ROOT}templates/statusline/statusline.config.default.json | Default config |
${PLUGIN_ROOT}bin/ops-statusline-suggest | Registry-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
Just SKILL.md in claude-ops/skills/ops-statusline of Lifecycle-Innovations-Limited/claude-ops.
Open the folder on GitHubat commit ee9c784
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ops Statusline this skillLifecycle-Innovations-Limited/claude-ops | 542 | — | ~2.7k | Automated safety check: Notes | MIT | |
| Knowledge Opsaffaan-m/ECC | 276k | 2 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Research Opsaffaan-m/ECC | 276k | 2 repos | ~902 | Automated safety check: Pass | MIT | |
| Terminal Opsaffaan-m/ECC | 276k | 2 repos | ~750 | Automated safety check: Pass | MIT | |
| Messages Opsaffaan-m/ECC | 276k | 1 repos | ~724 | Automated safety check: Pass | MIT | |
| Email Opsaffaan-m/ECC | 276k | 1 repos | ~1.1k | Automated safety check: Pass | MIT |
affaan-m/ECC
Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).
affaan-m/ECC
Evidence-first current-state research workflow for ECC. An agent skill from affaan-m/ECC.
affaan-m/ECC
Evidence-first repo execution workflow for ECC. An agent skill from affaan-m/ECC.
affaan-m/ECC
Evidence-first live messaging workflow for ECC. An agent skill from affaan-m/ECC.
affaan-m/ECC
Evidence-first mailbox triage, drafting, send verification, and sent-mail-safe follow-up workflow for ECC.
affaan-m/ECC
GitHub repository operations, automation, and management. An agent skill from affaan-m/ECC.
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "ops dashboard", "pixel HQ", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "go to market", "GTM plan", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "klaviyo", "ads spend", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "tweet", "post to linkedin", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "yolo mode", "run the business today"…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "datadog", "APM alerts", or…
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.
Ops Statusline fits situations like: asks to statusline theme.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.