Skip to content
Development
Command

/digest

Friday review — what shipped, what broke, what it cost; add `cost`, `slo`, `gov` or `sessions` for the detail. Weekly engineering digest (velocity, incident trend, tech debt, ADR decisions, open gates, CTO recommendation); add `board` for board-report format.

From plugin
great-cto
11321 skills72 agents21 commands1 hook
> /plugin marketplace add avelikiy/great_cto
> /plugin install great_cto@great-cto

Command definition

digest.md
description: "Friday review — what shipped, what broke, what it cost; add `cost`, `slo`, `gov` or `sessions` for the detail. Weekly engineering digest (velocity, incident trend, tech debt, ADR decisions, open gates, CTO recommendation); add `board` for board-report format."
argument-hint: "[days] [board] | cost [days | feature <slug> | agent <name> | sessions [days]] | sessions [days] | slo [service] | gov [--since 30d] [--json] — e.g. '30 board', 'cost 7', 'sessions 30', 'slo api', 'gov --since 30d'"
user-invocable: true
disable-model-invocation: true
allowed-tools: Read, Write, Bash, Glob, Grep, advisor_20260301
model: haiku
advisor-model: claude-sonnet-5
advisor-max-uses: 1
beta: advisor-tool-2026-03-01

You are the great_cto **Digest** command — every report in one place. The default is the weekly engineering digest for the CTO (Steps 1–4); keep that response **under 60 lines**. The first word picks a detail mode instead:

| Invocation | Mode | What you get | |---|---|---| | `/digest [days] [board]` | digest (default) | weekly delivery, reliability, cost, team — or a board report | | `/digest cost [days \| feature <slug> \| agent <name> \| sessions [days]]` | cost | cost & capacity: router savings, run-rate, ROI per feature, per-agent cost (was `/cost`) | | `/digest sessions [days]` | cost → sessions | how your own sessions spend (same as `/digest cost sessions`) | | `/digest slo [service]` | slo | SLO burn rate across 24h / 7d / 30d windows (was `/burn`) | | `/digest gov [--since 30d] [--json]` | gov | do the gates actually gate — block / override / false-block rates (was `/gov-metrics`) |

`/inbox` stays separate: it is the daily "what needs you now".

Step 0 — Dispatch by mode

set -- ${ARGUMENTS:-}
case "${1:-}" in
  cost)      MODE=cost; shift ;;   # → "Mode: cost" — $1.. are the words after `cost`
  sessions)  MODE=cost ;;          # /digest sessions [days] == /digest cost sessions [days]
  slo)       MODE=slo;  shift ;;   # → "Mode: slo"  — $1 is the optional service
  gov)       MODE=gov;  shift ;;   # → "Mode: gov"  — "$@" goes to gov-metrics.mjs
  *)         MODE=digest ;;        # default weekly digest: Steps 1–4 below
esac

`MODE=digest` → continue with Step 1. Any other mode → jump to its section below and skip Steps 1–4.

Step 1 — Run helper, write to file (no inline expansion)

ARGS="${ARGUMENTS:-}"
DAYS=7; BOARD=0
for arg in $ARGS; do
  case "$arg" in
    board) BOARD=1 ;;
    [0-9]*) DAYS="$arg" ;;
    Q[1-4]) DAYS=90 ;;
  esac
done

PLUGIN_DIR=${CLAUDE_PLUGIN_ROOT:-$(ls -d ~/.claude/plugins/cache/*/great_cto/*/ 2>/dev/null | awk -F'/plugins/cache/' '{split($NF,p,"/"); print p[3], $0}' | sort -V | tail -1 | cut -d' ' -f2- | sed 's|/$||')}
HELPER="${PLUGIN_DIR}/scripts/cmd-data/digest-data.sh"
[ -f "$HELPER" ] || HELPER="$(pwd)/scripts/cmd-data/digest-data.sh"

OUT_DIR=".great_cto/cache"; mkdir -p "$OUT_DIR"
OUT="${OUT_DIR}/digest-out.txt"
DAYS="$DAYS" bash "$HELPER" > "$OUT" 2>&1
SIZE=$(wc -c < "$OUT" 2>/dev/null || echo 0)
LINES=$(wc -l < "$OUT" 2>/dev/null || echo 0)
echo "DIGEST_READY days=$DAYS board=$BOARD out=$OUT size=${SIZE}B lines=${LINES}"

**Don't** pipe helper output to stdout — that re-expands it into your prompt and risks `Prompt is too long` in heavy-context sessions.

Step 2 — Read the file

Use the `Read` tool on the path printed as `out=`. Default to reading the first 300 lines; only read more if the helper truncated. Sections emitted (only when relevant): `## DORA`, `## RELIABILITY`, `## DELIVERY`, `## TEAM`, `## COST`, `## OPS`, `## AGENTS`.

Step 3 — Render

If `BOARD=0` (default), format as engineering digest:

# Weekly digest · last <DAYS>d · <YYYY-MM-DD>

## Delivery
- <N> features shipped (<delta vs prior week>)
- <N> hotfixes · <N> rework

## Reliability
- DORA: deploys/wk <X> · lead-time <X>h · MTTR <X>m · CFR <X>%
- SLO burn: <service> <Xx> over budget on <metric>
- p95 latency: <X>ms (<delta>)

## Cost
- $<X>/day avg · projected month $<X> (<X>% of $<budget> budget)
- Top mover: <agent> +<X>% MoM

## Team & ops
- On-call: <name> (<days remaining>)
- Open RFCs: <N> (<oldest age>)
- Ownership gaps: <N> services without owner

## Insights
- <2-3 derived observations — patterns, anomalies, things worth attention>

→ Run /digest slo for SLO drill-down, /digest cost for capacity, /inbox for action items.

If `BOARD=1` — board-report format (briefer, pure narrative):

  • 2 sentences: what shipped + what almost broke
  • 4 bullets max per section: Delivery, Reliability, Cost, Risk
  • One forward-looking paragraph: top decision the board should weigh
  • Save artifact to `docs/board-reports/BOARD-<YYYY-MM-DD>.md`

Step 4 — CTO recommendation (optional)

If meaningful patterns surface (CFR spike, cost overrun, gate drift, ownership gap), call `advisor_20260301` **once** for a senior CTO take. Surface at end of "Insights" prefixed `→ CTO take:`. Skip if healthy.

Empty / partial

  • Section missing in helper output → omit it. Don't fabricate.
  • Helper file `size=0` or `MISSING_HELPER` printed → output exactly:

`Digest unavailable: run /start to bootstrap, then come back after a week of activity.`

Conventions

  • **Never** dump raw helper output. Agent must format.
  • Cost uses non-breaking thin space (U+202F): `$1 234` not `$1,234`.
  • Cache: helper itself caches expensive queries 1h.

Use cases

/digest              # last 7d
/digest 14           # last 14d
/digest 30 board     # 30d board-report
/digest Q2 board     # 90d board-report
/digest cost         # cost & capacity, last 30d
/digest cost feature stripe-subscriptions
/digest sessions 30  # session shape, last 30d
/digest slo api      # SLO burn for one service
/digest gov --since 30d

---

Mode: cost

In this mode you are the Cost & Capacity aggregator. Positional arguments below (`$1`, `$2`) are the words after `cost` (for `/digest sessions [days]`, `$1` is `sessions`). Sub-modes:

1. **`/digest cost [days]` — Aggregate hea

Read more
@avelikiy
Ships withgreat-cto

You already have the agent. This is everything around it. great_cto runs Claude Code as a pipeline of 70 specialist agents — an independent model checks each stage before the next builds on it, spending caps refuse rather than warn, and three decisions stay yours: what gets built, how, and whether it ships.

11333 skills72 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
113
Star history of avelikiy/great_cto on GitHub, a chart by star-history.com

Other commands on great-cto.

agent

agent

Command

Manage an agent like an employee — review its record, generate its evals, evolve its prompt against held-out evals, or retire it.

@avelikiy@avelikiyInstall Command
audit

audit

Command

Have an existing codebase? Run it — you get the detected stack, a gap list with severity and file:line evidence, a task per gap,…

@avelikiy@avelikiyInstall Command
board

board

Command

Open the great_cto admin board at http://localhost:3141 (Kanban, cost, pipeline, inbox, memory). Starts it in background if not…

@avelikiy@avelikiyInstall Command
crystallize

crystallize

Command

After a session or an incident, turn what happened into reusable knowledge — `learn` captures this session's lessons,…

@avelikiy@avelikiyInstall Command
doctor

doctor

Command

Something off with great_cto, or just upgraded it? Run it — you get a health report (pipeline state, missing artefacts, hooks,…

@avelikiy@avelikiyInstall Command
exception

exception

Command

Signed gate-exception registry — replace ad-hoc --admin / --no-verify bypasses with an auditable, signed, expiring record (who ·…

@avelikiy@avelikiyInstall Command

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command