---
name: daily-review
working-mode: spec-driven
description: Generates a RedSkills operational review for a requested period. Default period is yesterday midnight to now (one day); pass `--period week` for a six-day window. Opens with the drain-end Attention audit, then covers delivered work, local AFK workers, cycle times, HITL/blocker challenges, and — for the week — Standing orders recurring across drains as CLAUDE.md promotion candidates. Use when the user invokes `/daily-review`, `/weekly-review`, asks for daily or weekly delivery numbers, issues/PRs/commits/diffstat, worker attempts, token spend, or why tasks needed HITL.
argument-hint: "[--period day|week] [--json] [--human]"
disable-model-invocation: true
---

# /daily-review

<what-to-do>

**Client of the `rs_dev` MCP — the review tools are the primary surface.**
Call the read tool matching the requested period — `daily_review` (default) or
`weekly_review`, both `{}` — and present the structured TOON report; the tool
surface and host prefix rule live in [`../afk/MCP.md`](../afk/MCP.md).

| Period flag | Tool |
| --- | --- |
| `--period day` (default) | `daily_review` |
| `--period week` | `weekly_review` |

When the MCP is unreachable, name that and repair it — the daemon or the plugin
load, per [`_report-runtime/WRAPPER.md`](./../_report-runtime/WRAPPER.md), which
also carries the output-format rules. ADR 0147 rule 1 left no second
implementation of this report to fall back to.

</what-to-do>

<supporting-info>

## Intervals

**day (default):** local midnight at the start of yesterday through the exact
generation time. Example: if now is `2026-06-06 14:25`, the interval is
`2026-06-05 00:00` through `2026-06-06 14:25`.

**week:** local midnight six calendar days before today through the exact
generation time. Example: if now is `2026-06-06 14:25`, the interval is
`2026-05-31 00:00` through `2026-06-06 14:25`.

## Output format detail

The TOON wire format renders the `workers`, `challenges`, and cycle-time tables
as one column header plus bare CSV rows; big-number aggregates are pre-computed;
empty tables use the definitive `key[0]:` empty state.

## Report Sections

- Attention (**first, before the numbers**): the drain-end **Attention audit** —
  the latest drain's **Decision trail** read against its outcomes by an identity
  on a different model family than the drain's Workers. It names weak evidence
  (an `evidence` field holding prose instead of a pointer), unproven claims (a
  `verified-unit` row for an issue the drain never landed), and unlogged pivots
  (more re-entries than the trail has pivot/revert rows). A window with no drain
  end says so; a clean drain says so; the section is never silently absent.
- Big numbers: issues created/closed, PRs created/closed/merged, commits, lines
  added/removed, local workers, local attempts, local worker time, token spend
  when retained runner logs expose usage fields.
- Local workers: worker id, attempts, issues, runner, duration, and terminal
  events from the `.red/state/castle/history.toonl` TOONL lane plus live local
  worker state. `tq` is pinned by `/red-setup` and is the only documented
  reader for RedSkills-owned TOONL lanes; there is no jq fallback.
- Challenges: HITL/blocker/no-sentinel/merge-conflict evidence from issue
  labels, issue bodies/comments, and local AFK history reasons.
- Issue and PR cycle times: closed-in-interval rows include items opened before
  the interval, so old work closed in the review window remains visible.
- Standing order promotion candidates (**week only**): Standing orders appended
  under more than one of the week's drains, each naming the drains it recurred
  in. One drain is that drain's correction; two are a pattern worth carrying in
  the repo. **The report writes nothing** — it neither edits CLAUDE.md nor
  touches the register, because promotion is a human PR. An order stamped
  outside the window, or carrying no usable timestamp, is left out and counted
  in the warnings rather than attributed to a drain nobody can name.

## Notes

Token spend is best-effort. Current AFK artifacts do not guarantee usage fields;
the report says `n/a` and emits a warning when no retained local log has token
data.

</supporting-info>
