Skip to content
Back to skills

Ops Status

ASecurity

Lightweight green/red status panel for every configured integration. No gather, no actions.

  • 538 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
data-aigobashnodeawsgitapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-status --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ops Status?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ops Status
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lifecycle-innovations-limited-ops-status/badge)](https://www.skillsdirectory.com/skills/lifecycle-innovations-limited-ops-status)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ops-status
description: Lightweight green/red status panel for every configured integration. No gather, no actions.
argument-hint: "[--json]"
allowed-tools:
  - Bash
  - Read
  - Glob
  - AskUserQuestion
effort: low
maxTurns: 10
---

# OPS ► STATUS

Compact health panel for every configured integration. Much lighter than `/ops:go` — **no gathering, no actions, no heavy API probes.** Each row is tagged with `✓` (ok) / `○` (not configured) / `✗` (missing) / `─` (category unused).

## Runtime Context

Before rendering, load:

1. **Preferences**: `cat ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json` — determines which integrations are configured
2. **Daemon health**: `cat ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json` — tells the panel whether the daemon row should show `✓ running` or `○ not running`

Both are consumed by the `bin/ops-status` script internally — this skill does not parse them itself.

## CLI/API Reference

### bin/ops-status

| Command | Usage | Output |
|---------|-------|--------|
| `${CLAUDE_PLUGIN_ROOT}/bin/ops-status` | Render the pretty text panel | ASCII panel with one row per category |
| `${CLAUDE_PLUGIN_ROOT}/bin/ops-status --json` | Machine-readable output | Flat JSON: `{clis, channels, mcps, commerce, voice, monitoring, daemon, registry, generated_at}` |

Each integration resolves to one of four status strings:

| Status | Meaning | Rendered as |
|--------|---------|-------------|
| `ok` | Installed / credentialed / running | `✓` |
| `not-configured` | Known slot, no credential recorded | `○` |
| `missing` | Required but not resolvable | `✗` |
| `skipped` | User explicitly opted out via `/ops:setup` | `○` |

The script is designed to run in **under 1 second** with no network calls.

---

## What this skill does

1. Run the status script and print its output verbatim:

```!
${CLAUDE_PLUGIN_ROOT}/bin/ops-status $ARGUMENTS
```

2. If `$ARGUMENTS` contains `--json`, pass it through — the script emits machine-readable JSON instead of the pretty panel.

3. **Do NOT** probe any integration beyond what the script already did. **Do NOT** spawn a doctor / fix agent. **Do NOT** run API calls. If the user wants deeper checks, point them at:
   - `/ops:doctor` — full health check + auto-repair
   - `/ops:go` — full morning briefing with live data

---

## Example output

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS ► STATUS — Mon 14 Apr 2026 09:45 UTC
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 CLIs         ✓ gh   ✓ aws  ✓ jq   ✓ node   ✗ whatsapp-bridge
 Channels     ✓ gog   ✓ slack  ○ telegram   ✗ whatsapp
 MCPs         ✓ linear  ✓ sentry  ✓ vercel  ○ gmail
 Commerce     ○ shopify
 Voice        ─ (not configured)
 Monitoring   ✓ datadog  ○ newrelic
 Daemon       ✓ running (6 services, last-sync 2m ago)
 Registry     ✓ 3 projects
──────────────────────────────────────────────────────
```

## JSON shape

```json
{
  "clis": {"gh": "ok", "aws": "ok", "jq": "ok", "node": "ok", "whatsapp-bridge": "missing"},
  "channels": {"whatsapp": "ok", "slack": "ok", "telegram": "not-configured"},
  "mcps": {"linear": "ok", "sentry": "ok", "vercel": "ok", "gmail": "not-configured"},
  "commerce": {"shopify": "not-configured"},
  "voice": {},
  "monitoring": {"datadog": "ok", "newrelic": "not-configured"},
  "daemon": {"state": "ok", "services": 6, "last_sync": "2026-04-14T09:43:00Z"},
  "registry": {"state": "ok", "projects": 3},
  "generated_at": "2026-04-14T09:45:12Z"
}
```

## When to use this vs other skills

| If you want... | Use |
|----------------|-----|
| A quick "is everything connected?" glance | `/ops:status` |
| The full morning briefing with real data | `/ops:go` |
| Deep diagnostics + auto-repair | `/ops:doctor` |
| An interactive dashboard with hotkeys | `/ops:dash` |

## Integration with /ops:setup

`/ops:setup` (and its `--re-setup` flag) queries this skill for a per-section health map and uses it to filter the setup selector to only broken/unconfigured sections. The compact shape expected is:

```json
{
  "telegram": "green",
  "whatsapp": "missing",
  "email": "red",
  "slack": "green"
}
```

Maintain this contract when extending the status output — the setup wizard keys on section names like `telegram`, `whatsapp`, `email`, `slack`, `notion`, `calendar`, `doppler`, `vault`, `ecommerce`, `marketing`, `voice`, `revenue`, `discord`, `notifications`, `github`, `aws`, `sentry`, `linear`. A `--brief` (or equivalent JSON) mode that returns this map is the recommended integration surface.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.