Lightweight green/red status panel for every configured integration. No gather, no actions.
Scanned 5/27/2026
Install via CLI
openskills install Lifecycle-Innovations-Limited/claude-ops---
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.
No comments yet. Be the first to comment!