Skip to content

Daily Digest

atlcli digest shows, in one view, what changed in Jira and Confluence since your last look and what is waiting on you. It runs a fixed, small set of queries (about 20 requests with the defaults), so it is fast enough for a shell profile or a cron job.

  • An authenticated profile with Jira and Confluence access (atlcli auth login)
  • Jira permission: Browse Projects for the issues you work on
  • Confluence permission: View for the spaces you work in
  • For the sprint section: a scrum board, set with --board or global.board (kanban boards have no sprints and are skipped)
  • For the project overview: Jira project keys, set with --project or digest.projects
  • For --summarize: ANTHROPIC_API_KEY in the environment
  1. Run the digest:

    Terminal window
    atlcli digest

    The first run covers the last 24 hours. Each later run starts where the previous one ended (see The last-run marker).

  2. Look back over a fixed window instead, without moving the marker:

    Terminal window
    atlcli digest --since 7d
  3. Add an overview of whole projects, whoever worked on them:

    Terminal window
    atlcli digest --project GROW,VDS --since 2d

    To get the overview on every run, set digest.projects once (see Project overview).

  4. Paste the Markdown version into a standup note:

    Terminal window
    atlcli digest --markdown > standup.md
Product Section What it lists
Jira Waiting on you Unresolved issues assigned to you that are not in a done status, by priority
Jira Changed Issues you are assigned to, reported or watch that changed in the window, each with its changes (status: To Do → In Progress by Ann · 3h ago)
Jira Sprint Each active sprint of the board: progress bar, to do / in progress / done counts, your open issues, days left
Jira project Completed · Created · Changed Per project from --project or digest.projects: issues moved into a done status, issues created, and issues changed in the window, by anyone, with assignee and change lines
Jira Audit errors Error-level findings of the audit rules for those projects; only when the audit feature is enabled
Jira Team Per person in those projects: open issues, in progress, overdue, no update for N days, and the oldest issue in progress. Not limited to the window
Confluence Mentions Pages and comments that mention you
Confluence Comments on your pages New comments on your 50 most recently modified pages
Confluence Open inline comments Unresolved inline comments on your 10 most recently modified pages (--max-pages), oldest first. These are not limited to the window: they wait on you.
Confluence Your pages edited Your pages that someone else edited
Confluence Watched pages changed Pages and blog posts you watch that someone else edited
Confluence Recently changed in space Pages changed in --space (or global.space); only when a space is set

A page that matches several sections appears once, in the first one in this order: mentions, your pages, watched, recent. In --json output its entry lists the other sections in alsoIn.

Backlog reordering (Rank) is not a change line; an issue whose only change is its rank is not listed.

Your own edits and comments are left out. Pass --include-own to keep them; your own Jira changes are then marked (you).

Empty sections are not printed. If nothing changed, the digest says Nothing new since <window>.

Option Type Default Description
--since lastrun, <n>m, <n>h, <n>d, <n>w, today, yesterday, ISO date or datetime lastrun Start of the window. m means minutes here (in jira worklog it means months). today and yesterday start at local midnight. At most 30 days back.
--only jira or confluence both Run one product only
--space space key(s), comma-separated global.space Enables “Recently changed in space”
--board board id global.board Enables the sprint section (scrum boards only)
--project project key(s), comma-separated digest.projects Enables the project overview
--status-map "<status>=todo|wip|done,…" flow.statusMap Override status categories, see Status mapping
--limit integer ≥ 1 10 Items per section; a cut section is listed under warnings
--max-pages integer ≥ 1 10 Your pages checked for open inline comments
--include-own flag off Keep your own edits and comments
--no-mark flag off Never move the last-run marker
--markdown flag off Markdown output with ##/### headings and links
--json flag off JSON output (schemaVersion: "1"); every section key is present, [] when empty, and the queries are included
--summarize flag off Add a short summary from Anthropic, see Summaries
--verbose flag off Print every JQL/CQL query, the request count and the duration to stderr

The personal sections only show what concerns you. The project overview shows everything that happened in whole projects: per project, the issues completed (moved into a done status in the window), created and changed, by anyone, including you.

Set the projects once in ~/.atlcli/config.json, globally or per profile. A profile’s list replaces the global one, and --project replaces both:

{
"digest": { "projects": ["GROW"] },
"profiles": {
"work": { "digest": { "projects": ["GROW", "VDS", "ADMIN"] } }
}
}
Option Type Default Constraints
digest.projects string[] [] Jira project keys

The overview reads up to 200 changed issues across all projects in one search, plus one bulk changelog request. Each list is cut at --limit.

“Done” follows the Jira status category (To Do, In Progress, Done), not status names. If a workflow puts a done status in another category, map it with flow.statusMap or --status-map, e.g. "Fertig=done". The map also applies to “Waiting on you” and the sprint counts.

With the audit feature enabled (atlcli flag set audit true --global), the digest also runs the audit rules for its projects and lists what is still at error after the baseline. It uses the same baseline as atlcli audit jira and the same rules file, except one in the current directory’s .atlcli/: the digest reads only the profile and global rules files. It runs only the rules that can reach error, and leaves out flow/stuck-wip and flow/status-aging, which read the done issues and their history, unless the rule sets digest: true.

The section reads up to 300 open issues across the projects; beyond that, a warning says the list is a lower bound. With the default rules, the section costs a few requests: one search for open issues, one for resolved issues outside Done, one bulk changelog request, and one field list for the Flagged field.

Jira
Audit errors (2)
GROW-60 [In Progress] HR marketing — hygiene/overdue: Due 2025-12-31, 294 d overdue.
GROW-1343 [In Progress] Meetups — hygiene/stale: Not updated for 157 d.

With projects (--project or digest.projects), the digest lists everyone with open issues in them, busiest first, and the unassigned issues last:

Jira
Team (3)
Thomas Schindler open 4 · in progress 4 · no update 30d+ 4 · oldest in progress 469d
Roman Binshtok open 2 · in progress 0 · no update 30d+ 2
(unassigned) open 56 · in progress 7 · no update 30d+ 55 · oldest in progress 486d
Figure Meaning
open Issues not in a done status, after flow.statusMap
in progress In an In Progress status, after the map
overdue Due date before today
no update Nd+ Not updated for N days or more: the first value of audit.jira.staleDays (default 30)
oldest in progress Days since the longest-waiting issue in progress was last updated

The section costs one search (up to 300 open issues across the projects; beyond that, a warning says the counts are a lower bound). --summarize sends these names and counts too.

The marker lives in ~/.atlcli/profiles/<profile>/digest-state.json, with one entry per product:

{
"schemaVersion": 2,
"jira": { "lastRunAt": "2026-10-22T07:58:12.311Z" },
"confluence": { "lastRunAt": "2026-10-22T07:58:12.311Z" }
}
  • A product’s marker moves to the start of the run, so changes made while the digest ran are not lost.
  • It moves only when --since was not given (or was lastrun), none of that product’s sections failed and --no-mark was not passed. Peeking with --since 7d never moves it.
  • Each product starts from its own marker. If Confluence was down yesterday, today’s run catches up on Confluence while Jira stays current.
  • The window starts 5 minutes before the marker, because search indexes trail writes. Items in that overlap can show up twice across two runs.

--summarize sends the rendered Markdown digest to Anthropic in one model call and prints a short summary above the digest (in --json, in the summary field).

  • The key is read from ANTHROPIC_API_KEY only. Flags such as --api-key are refused.
  • Without a key, or if the call fails, the digest is still printed with a warning, and the exit code stays 0.
  • The model treats titles as data, never as instructions.

Minimal:

Terminal window
atlcli digest

Jira only, last week, with the sprint of board 42:

Terminal window
atlcli digest --only jira --since 7d --board 42

A standup note every weekday at 8:45, with a summary:

Terminal window
# crontab -e
45 8 * * 1-5 ANTHROPIC_API_KEY=... atlcli digest --markdown --summarize > ~/notes/standup.md 2>/dev/null

Debug which queries run:

Terminal window
atlcli digest --since 2h --verbose --json > /dev/null

Each section is fetched on its own. A failing section is listed under Warnings and the rest is still printed.

Situation Exit code Marker
Everything succeeded 0 Moves for both products
Some sections failed 0 Moves only for products without a failed section
Every section failed 1 Unchanged

A fresh mention or comment is missing. Confluence search can trail writes by up to a minute. The next lastrun digest picks it up, because its window overlaps the previous one by 5 minutes.

“Changed” lists issues without any change lines. On Jira Data Center there is no bulk changelog API, so the digest lists the issues without change details.

The marker did not move. A section of that product failed (see the warnings), or the run used --since or --no-mark.

truncated: jira.waiting under warnings. More items matched than --limit. Raise --limit, or use atlcli jira my for the full list.

Finished issues show up in “Waiting on you”, or “Completed” stays empty. The workflow puts a done status into the To Do or In Progress category. Map it: --status-map "Fertig=done" or flow.statusMap. Better still, move the status to the Done category in the Jira workflow.

truncated: jira.projects under warnings. More than 200 issues changed in the projects during the window. Narrow --since or the project list.

The digest reaches back only 30 days. That is the upper bound, to keep queries cheap after a long break. A warning says so.

Jira and Confluence are trademarks of Atlassian Corporation Plc. atlcli is not affiliated with, endorsed by, or sponsored by Atlassian.