runtime-monitor
$
npx mdskill add joelhooks/joelclaw/runtime-monitorMonitors real workloads across Redis, Restate, Dkron, and Inngest using joelclaw CLI and pi TUI for runtime health and async job tracking.
- Helps with checking system health, queue depth, and job statuses for operational insights.
- Integrates with joelclaw CLI, pi TUI extension, and depends on system-architecture and pi-tui-design skills.
- Recommends actions based on CLI commands like joelclaw jobs status for workload assessment.
- Presents results through CLI outputs and TUI dashboards for real-time monitoring.
SKILL.md
.github/skills/runtime-monitorView on GitHub ↗
---
name: runtime-monitor
displayName: Runtime Monitor
description: "Monitor ADR-0217 real workloads across Redis queue, Restate, Dkron, and transitional Inngest using joelclaw CLI plus the pi TUI monitor extension. Use when asked to monitor jobs, watch runtime health, keep an eye on async work, run a workload dashboard, or report back on system state. Always pair with `pi-tui-design` for TUI work and `system-architecture` for topology truth."
version: 0.1.0
author: Joel Hooks
tags: [runtime, monitor, queue, restate, dkron, inngest, tui, adr-0217]
---
# Runtime Monitor
Use this skill when the task is **real workload monitoring**, not vague status-checking.
The canonical operator surfaces are:
- `joelclaw jobs status`
- `joelclaw queue depth`
- `joelclaw queue control status`
- `joelclaw queue observe`
- `joelclaw restate status`
- `joelclaw restate cron status`
- pi extension tool: `runtime_jobs_monitor`
## Load order
Before doing runtime monitor work:
1. load `system-architecture`
2. load `pi-tui-design` if you are building or changing the monitor widget/TUI
3. load `joelclaw` for CLI operator flows
## What to use when
### First glance
```bash
joelclaw jobs status --hours 1 --count 10
```
This is the **first operator answer** to:
- can the system take more work right now?
- is the queue/runtime layer healthy?
- is Dkron alive?
- is Inngest still healthy during transition?
### Queue-specific investigation
```bash
joelclaw queue depth
joelclaw queue control status --hours 1
joelclaw queue observe --hours 1
joelclaw queue stats --since <iso|ms>
```
Use these once `jobs status` tells you the queue layer is the interesting bit.
### Runtime substrate investigation
```bash
joelclaw restate status
joelclaw restate cron status
joelclaw runs --count 20 --hours 1
```
Use these when the top-level surface says Restate, Dkron, or transitional Inngest needs a closer look.
## Async pi monitor
The loaded pi extension at `packages/pi-extensions/inngest-monitor/index.ts` exposes:
- `runtime_jobs_monitor`
- `inngest_send`
- `inngest_runs`
### Start
```json
{"action":"start","interval":5,"report":true}
```
Effects:
- polls `joelclaw jobs status` in the background
- paints a persistent TUI widget
- emits OTEL on runtime severity changes and meaningful workload-state changes
- sends hidden follow-up summaries when the runtime meaningfully changes or the monitor stops/times out
### Status
```json
{"action":"status"}
```
Returns the latest runtime snapshot:
- overall status/summary
- queue depth
- active pause count
- Restate / Dkron / Inngest state
### Stop
```json
{"action":"stop"}
```
Stops the background poller and sends a final follow-up summary.
## Rules
- `joelclaw jobs status` is the aggregated truth surface; do **not** rebuild the same picture by hand unless the command is wrong.
- If `jobs status` is noisy or misleading, fix it first. Don’t teach agents to ignore a lying operator surface.
- For TUI work, prefer compact status blocks with explicit severity and short summaries. No decorative sludge.
- Any runtime monitor widget line must be clamped to the active terminal width with pi-tui truncation (`truncateToWidth` / `visibleWidth`). Pi will crash narrow terminals if a custom widget emits over-wide lines.
- During transition, Inngest stays visible but must not dominate the runtime story when Restate + queue + Dkron are the real workload path.
- Report earned truth only. If the monitor compiles but hasn’t been dogfooded, say that.
More from joelhooks/joelclaw
- add-skillCreate new joelclaw skills with the idiomatic process — repo-canonical, symlinked, git-tracked, slogged. Triggers on 'add a skill', 'create skill', 'new skill', 'canonical skill', 'make a skill for', or any request to formalize a process or domain into a reusable skill.
- adr-skillCreate and maintain Architecture Decision Records (ADRs) optimized for agentic coding workflows. Use when you need to propose, write, update, accept/reject, deprecate, or supersede an ADR; bootstrap an adr folder and index; consult existing ADRs before implementing changes; or enforce ADR conventions. This skill uses Socratic questioning to capture intent before drafting, and validates output against an agent-readiness checklist.
- agent-discovery"Optimize websites, docs, and product surfaces for agent discoverability and operator UX. Use when working on agent SEO/AEO/GEO, crawl policy, markdown or JSON projections, llms.txt, sitemap.md, AGENTS.md guidance, content negotiation, accessibility for browser agents, or any request to make a site easier for pi, OpenCode, Claude Code, ChatGPT, Perplexity, or other agent harnesses to find and use."
- agent-loopStart, monitor, and cancel durable multi-agent coding loops via Inngest. Use when the user wants to run autonomous coding workloads, execute a PRD with multiple stories, kick off an AFK coding session, have agents implement features from a plan, or manage running loops. Triggers on "start a coding loop", "run this PRD", "implement these stories", "go AFK and code this", "check loop status", "cancel the loop", "joelclaw loop", or any request for autonomous multi-story code execution.
- agent-mail>-
- agent-workloads"Compatibility alias for the canonical `workflow-rig` front door. Use when older prompts mention `agent-workloads` or when you need the legacy workload-planning guidance; for new work, load `workflow-rig` first."
- clawmail>-
- cli-design"Design and build agent-first CLIs with HATEOAS JSON responses, context-protecting output, and self-documenting command trees. Use when creating new CLI tools, adding commands to existing CLIs (joelclaw, slog), or reviewing CLI design for agent-friendliness. Triggers on 'build a CLI', 'add a command', 'CLI design', 'agent-friendly output', or any task involving command-line tool creation."
- codex-prompting"Use this skill for any request to trigger, coordinate, or craft prompts for Codex. Use when user says 'send to codex', 'use codex', 'prompt codex', 'ask codex', 'delegate to codex', 'run in codex', or asks for a Codex-first execution handoff."
- content-publish"Publish content to joelclaw.com via the Convex-first pipeline. Covers the full lifecycle: draft → review → publish → revalidate → verify. Handles secret leasing, tag conventions, content types (article, tutorial, note, essay), and verification gates. Use when: 'write article about X', 'publish article <slug>', 'draft a tutorial', 'publish this', 'push to convex', or any content publishing task."