# Status

> Read-only preview of the next dev-loop cycle with no vault or git writes. Use for /dev-loop status or doctor.

- Skill: `karlorz/status` (Agent Skill)
- Install (CLI): `npx skillmds@latest add karlorz/status`
- Raw SKILL.md: https://api.skillmd.com/api/skills/karlorz/status/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: karlorz (https://skillmd.com/u/karlorz)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/karlorz/status

---


# Dev-Loop Status Mode

Operator observability for a complex orchestration skill: **preview only**, no writes.

## Invocation

Parent `dev-loop` sets `MODE = status` when args contain `status` or `doctor` (alias).
`doctor` here is **not** REFRESH `doctor-worker` — status reads
`~/.claude/dev-loop/last-doctor.json` when present.

```
/dev-loop status
/dev-loop status high
/dev-loop doctor
/dev-loop status --json
/dev-loop status --preview-mode investigate
/dev-loop status --preview-mode investigate --orchestration goal
```

## Pipeline

1. **REFRESH (read-only subset)** — config, `BACKEND_CAPS`, vault path, caps previews.
2. **PROBE** — `node skills/dev-loop/scripts/dev-loop-status.js` (see flags below).
3. **REPORT** — `dev-loop-status.v1` JSON + Markdown under `.claude/dev-loop/status/`
   (gitignored). Use `--no-write` for stdout-only.
4. **EXIT** — before WORK, SPEC, PLAN, EXECUTE, REVIEW, MERGE, SAVE, PUSH, DEPLOY.

The `dev-loop-status.v1` report keeps two independent dimensions:

- `health.state` (`healthy`, `degraded`, or `blocked`) and structured
  `health.reasons` explain environment and capability readiness. The report
  retains all observed optional gaps in `health.missing_optional`, but only
  gaps relevant to the configured preview operation appear in
  `health.relevant_missing_optional` and lower health.
- `lifecycle.state` (`idle` or `active`), `lifecycle.next_action`, and
  `lifecycle.reason` describe work selection and the requested preview. A
  blocked operation remains active while its health is blocked.

For compatibility, `overall.state`, `overall.next_action`, and `overall.reason`
project the corresponding health/lifecycle values. Consumers should prefer the
explicit fields for new integrations.

Optional isolation: `dev-loop:status-worker` per `agents/status-worker.md`.

## CLI flags (helper)

| Flag | Purpose |
|------|---------|
| `--repo <path>` | Project repo (required) |
| `--host auto\|codex\|claude\|unknown` | Active runtime for exact-version cache diagnosis |
| `--format markdown\|json\|both` | Output (default both) |
| `--no-write` | No files under `.claude/dev-loop/status/` |
| `--intensity normal\|high` | Idle / deep-research preview |
| `--preview-mode core\|prep\|investigate\|status` | Simulated next mode |
| `--orchestration attended\|goal` | Unattended `/goal` readiness simulation |
| `--vault <path>` | Vault override |
| `--project <slug>` | Slug override |

The cache probe is host-specific and exact-version-first. It never chooses a
cache by mtime. Codex remediation uses
`codex plugin add dev-loop@karlorz-agent-skills --json` plus a new session;
Claude remediation uses `claude plugin update
dev-loop@karlorz-agent-skills` plus restart. Unknown hosts fail closed, and no
status path copies into a cache or deletes session history.

## HUD / statusline

Read-only one-liner for ccstatusline, tmux, or shell polls (newest `*-status.json` under
`.claude/dev-loop/status/`, or `--probe` to refresh without writing files):

```bash
node skills/dev-loop/scripts/dev-loop-status-hud.js --repo .
node skills/dev-loop/scripts/dev-loop-status-hud.js --repo . --format json
node skills/dev-loop/scripts/dev-loop-status-hud.js --repo . --probe --project <slug>
```

Doctor compact HUD (separate): `~/.claude/dev-loop/last-doctor.json` from REFRESH doctor-worker.

## Related read-only helpers

- **Config lint:** `/dev-loop config-lint` → `dev-loop-config-lint.js`
- **Config migrate:** `dev-loop-config-migrate.js --repo .` (vault alias advisor)
- **Dashboard:** `dev-loop-dashboard.js --repo .` (aggregate status/lint/migrate/doctor)
- **One work item:** `dev-loop-why-skipped.js --project <slug> --work <folder>`

## Hard deny-list

No work-item creation, spec/plan edits, retros, `git commit`/`push`, PRs, deploy,
`bump_script`, tags, or vault SAVE/MERGE. Classify errors as `blocked`, `degraded`, or
`info` — do not swallow.

Full controller contract: parent `skills/dev-loop/SKILL.md` § Status pipeline.

