ops digest
Daily digest generation, reporting, and task management. The digest system tracks project health over time and generates AI-powered summaries for standups and stakeholder communication.
ops digest is both a human reporting tool (standup, executive, weekly) and a dashboard data source (the api-* subcommands power the portfolio dashboard).
When to Use
Morning Standup
Run ops digest standup to get a 3-5 bullet AI summary of yesterday's commits — paste straight into Slack or speak it aloud with --voice.
Stakeholder Reporting
ops digest executive and ops digest weekly produce polished summaries that translate engineering work into business outcomes.
Planned-Work Tracking
Add tasks with add-task, dispatch them to ADO or Claude with dispatch, and let the runner poll for new work overnight.
Subcommands
Reporting
| Subcommand | Description |
|---|---|
standup | Generate daily standup summary (3-5 AI bullet points) |
daily | Generate daily digest for all projects |
show | Show a specific day's digest |
history | Show digest history and trends |
compare | Compare two days' digests |
trend | Show trend data for the portfolio |
executive | Generate executive summary for stakeholders |
weekly | Generate weekly accomplishments + plans summary |
Task Management
| Subcommand | Description |
|---|---|
add-task | Add a planned task |
tasks | Show tasks (defaults to open only) |
complete-task | Mark a task as completed |
delete-task | Delete a task permanently |
dispatch | Dispatch a task to ADO work item or local Claude Code CLI |
runner | Run overnight agent runner to poll and dispatch digest tasks |
sync-ado | Sync ADO work item statuses back to digest tasks |
API Endpoints (Dashboard)
These commands emit JSON for the portfolio dashboard. You usually do not invoke them directly — the dashboard does.
| Subcommand | Description |
|---|---|
api-status | Get portfolio status as JSON |
api-refresh | Force-refresh portfolio data |
poll-refresh | Poll for pending refresh requests |
api-trend | Get historical trend data as JSON |
api-latest | Get most recent digest with AI summary as JSON |
api-project | Get historical data for a specific project as JSON |
ops digest standup
Generate a daily standup summary. By default it grabs your commits from the last 24 hours (72 hours on Mondays to cover the weekend) and asks an LLM to produce 3-5 concise bullet points.
Flags
| Flag | Type | Description | Default |
|---|---|---|---|
--hours-h | INTEGER | Time period in hours | auto (72h Mon, 24h otherwise) |
--author-a | TEXT | Author email filter | kgray@wasteologygroup.com |
--save / --no-save | flag | Save digest to docs/digests/ | save |
--no-ai | flag | Skip AI summarization — just list raw commits | — |
--tasks-t | TEXT | Semicolon-separated planned tasks to include | — |
--json | flag | Output as JSON | — |
--voice / --no-voice | flag | Speak the AI summary aloud | no-voice |
--support | flag | Only support project commits | — |
--owned | flag | Only owned project commits | — |
Examples
--owned and --support are mutually exclusive lenses on the portfolio. Without either flag, both are included. Use ops project list to see how each project is categorized.
Daily and Historical Digests
Stakeholder Reports
ops digest weekly is designed to be run Friday afternoon or Monday morning. It reads the last 7 days of digests and any open tasks, then drafts a Mon-Fri narrative.
Task Management
The digest task system is a lightweight planning tool — every task has an integer ID, an open/done status, and an optional ADO work item link.
Dispatching Tasks
dispatch is the bridge between the digest's lightweight task list and where work actually happens — either an ADO work item or a local Claude Code session.
Digest task IDs (from ops digest tasks) and ADO work item IDs are separate numbering systems. They share no overlap. Use the human-style dispatch <task-id> to create the link.
Dashboard API Endpoints
These are machine-consumption endpoints that emit JSON. The portfolio dashboard polls them on a schedule; you generally invoke them by hand only when debugging.
api-status # Portfolio status as JSON
api-refresh # Force-refresh portfolio data
poll-refresh # Poll for pending refresh requests
api-trend # Historical trend data as JSON
api-latest # Most recent digest with AI summary as JSON
api-project # Historical data for a specific project as JSON
In production, the dashboard reads digest data straight from PostgreSQL (DIGEST_USE_DIRECT_DB=true). Locally it spawns these api-* commands as subprocesses. Either path returns identical JSON.