The retrospective bookend to the morning brief. Brief tells you what to do today; what-changed-today tells you what happened yesterday — cases modified, new activities logged, new uploads filed. Weekend-aware: Monday reaches back to Friday so the weekend doesn’t disappear from the picture. Thirty seconds.
At the prompt:
aaicase> what changed today
aaicase> what's new
aaicase> changes since yesterday
About thirty seconds later you have a three-section summary: the cases that were modified since the lookback date, the activities logged in that window, and the new uploads filed (or unfiled). Grouped by case where possible so the attorney sees which cases had the most action and which need attention.
The skill is intentionally a quick “what did I miss” overview — not a complete daily report. If you came back from vacation, run which cases need attention too. If you just stepped away for a meeting, what-changed-today is enough to catch up.
| What changed today | Morning brief | |
|---|---|---|
| Direction | Backward — what happened | Forward — what’s coming |
| Window | Since yesterday (or Friday on Mondays) | This week (hearings, QMEs, deadlines) |
| Scope | Cases modified, activities, uploads | Danger-scored cases with prep status |
| Cadence | Start of day, after lunch, end of day | Once per morning |
| Output shape | Three-section listing | Triage with scores |
Both run in a minute or two. Both touch overlapping endpoints. The difference is intent: morning brief surfaces what needs decisions; what-changed-today surfaces what got entered into the system. They’re used at different moments and answer different questions.
The lookback date depends on what day of the week you run it:
| Run day | Looks back to | Reason |
|---|---|---|
| Tuesday–Friday | Yesterday | Normal case |
| Saturday or Sunday | Previous Friday | Weekend — show what happened before the weekend |
| Monday | Previous Friday | Weekend catch-up — Sunday would lose the weekend |
Each weekend-aware case prints a clarifying line at the top of the output:
Showing changes since Friday (weekend catch-up).
This avoids the most common confusion with daily-summary tools: “what changed today” on a Monday returning nothing because nothing was entered on Sunday. The skill knows that’s not the question the attorney is actually asking.
Three parallel fetches:
/caseFiles/index?modified[gte]=YYYY-MM-DD → cases touched since the lookback date
/activities/index → recent activities (global slice)
/uploads/index → recent uploads (global slice)
Required: cases — that’s the “what changed” core. Optional: activities and uploads. If either optional endpoint fails, the corresponding section reports empty with a NOTE explaining the limitation; the rest of the output proceeds.
Everything lands in a per-run mktemp -d directory locked to chmod 700, deleted at the end. The activity and upload feeds are filtered client-side to entries since the lookback epoch — the global slice is broad enough that the firm’s relevant window almost always fits.
| Section | What it shows | Source |
|---|---|---|
| CASES MODIFIED | Every case whose modified timestamp is after the lookback date. Lists case file number, name, and current status ID. | /caseFiles/index?modified[gte]=... |
| RECENT ACTIVITIES | Up to 20 most-recent activities since the lookback date. Date, case ID, first 60 chars of description (HTML stripped). | /activities/index filtered by date |
| NEW UPLOADS | Up to 15 most-recent uploads since the lookback date. Case ID (or “no-case” if unprocessed), filename or description. | /uploads/index filtered by date_created |
The cap on the activity and upload lists is intentional. The point is “what stands out,” not “every single entry.” If there were 70 activities yesterday, the attorney doesn’t want all 70 — they want the top 20 sorted newest first to see what’s noteworthy. The full feed is available via timeline on a specific case.
When the same case has multiple changes — modified, with new activities, with new uploads — the skill groups them together in the output rather than scattering across sections. The result reads as:
Doe, Jane v. Sample Co. (#[FILE-#])
✓ Case modified at 14:22
✓ 3 new activities (latest: "Phone call with Dr. Sample")
✓ 1 new upload ("2026-05-27-qme-rebuttal-doe.pdf")
So the attorney sees at a glance that Doe had three things happen, not three separate sections of the same case across the report. Cases that show up in only one section are listed in that section as a single line.
The new-uploads section labels orphans as “no-case” instead of a case ID. If there are unprocessed uploads, the skill suggests running process mail:
3 new uploads have no case assignment. Run process mail to file them.
This catches the most common end-of-day question: “did the new mail get filed?” If the count is zero, mail is processed. If the count is non-zero, there’s work to do.
WHAT CHANGED — since 2026-05-26 (yesterday)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CASES MODIFIED: 12
Doe, Jane v. Sample County Agency (#[FILE-#])
✓ Case modified at 14:22
✓ 3 new activities
2026-05-26 16:08 Phone call with Dr. Sample re QME
2026-05-26 13:45 Letter sent — TD demand to Sample Insurance
2026-05-26 11:02 Hearing notes — MSC continued to 6/15
✓ 1 new upload
2026-05-26 "2026-05-26-qme-rebuttal-doe.pdf"
Roe, Maria v. Sample Industries (#[FILE-#])
✓ Case modified at 11:18
✓ 1 new activity
2026-05-26 11:18 Subpoena served — Sample Medical Group
Sample, Alex v. Sample Distribution (#[FILE-#])
✓ Case modified at 09:50
✓ 2 new activities
✓ 1 new upload
[...9 more cases listed compactly]
RECENT ACTIVITIES: 31 entries since 2026-05-26
(top 20 above, grouped by case; full list via "timeline on [case]")
NEW UPLOADS: 8 since 2026-05-26
7 filed to cases (above)
⚠ 1 upload has no case assignment — run "process mail" to file
NEXT STEPS:
1. Run "process mail" to file the 1 unprocessed upload
2. Review TD demand response if Sample Insurance replies today
3. Confirm Roe subpoena service receipt was received
The modified[gte] filter depends on Merus updating the case’s modified field when activities/uploads are added. If activities were added but the case’s modified timestamp didn’t update (Merus behavior may vary), the case won’t show in the modified-cases list, but its activities will still appear in the RECENT ACTIVITIES section. Cross-check there.
The global /activities/index slice is capped at ~2,700 entries across the firm. On a high-volume firm, the slice may not include everything from today if there’s been heavy activity elsewhere. Run timeline on [case] on the case you suspect — the per-case endpoint isn’t capped.
That would be a bug — the weekend rule should only fire on Saturday/Sunday/Monday. Check the system date.
The skill counts uploads where case_file_id is null. If your firm uses a placeholder case for unfiled mail (some firms do), those uploads aren’t technically “no-case” even though they need processing. Match the skill’s “no-case” count against the actual processing queue in your firm.
That shouldn’t happen — the grouping logic combines case-modified + activity + upload into a single entry per case. If you see duplicates, file a bug; in the meantime read the duplicated entries as a single block.
Part of AAI for MerusCase — code-guarded AI case intelligence for California Workers’ Comp attorneys.