recent-changes
Obsidian-git auto-commits every few minutes with identical messages (vault backup: 2026-04-19 00:18:44), so commit-message summaries are worthless. This skill works from the file-level diff between a cutoff point and HEAD, not from commit messages.
When to use
- Before
reconcile— this is the primary caller. Reconcile scopes its work to the set of changed pages. - User asks “what changed” — “what happened this week”, “what did I work on”, “what’s been going on in the vault”.
- Before a substantive edit — if you’re about to edit a page, knowing whether it was touched recently (and by whom — the user directly, or a prior agent run) changes how carefully you should proceed.
- Before
crystallizeorconsolidate— recency is one of the bar checks.
When NOT to use
- Finding when a specific file changed —
git log --follow <path>is more direct. - Getting vault structure — use
vault-tree. Recent-changes shows a delta, not the whole.
How
Run the helper:
bash 7_Agent/skills/recent-changes/recent-changes.shFlags:
--days N— window in days (default 7).--with-diff— append a unified diff at the end, gated by size.--diff-limit N— cap on diff lines when--with-diffis set (default 2000). Above the cap, the diff is omitted with a note.
Examples:
# Default: last 7 days, no diff body
bash 7_Agent/skills/recent-changes/recent-changes.sh
# Two-week window
bash 7_Agent/skills/recent-changes/recent-changes.sh --days 14
# Include diff when it's small
bash 7_Agent/skills/recent-changes/recent-changes.sh --with-diff
# Wider diff cap for a heavier read
bash 7_Agent/skills/recent-changes/recent-changes.sh --with-diff --diff-limit 5000Output shape
# Recent changes — last 7 days
Range: abc1234..HEAD (2026-04-12 → 2026-04-19, 187 commits)
## Summary
- Added: 5
- Modified: 12
- Deleted: 1
- Renamed: 2
## By folder
- 0_Inbox: 3 (A=2, D=1)
- 2_Areas: 6 (A=1, M=5)
- 7_Agent: 8 (A=2, M=6)
## Files
A 0_Inbox/transcripts/foo.md
A 2_Areas/Photography/techniques/x.md
M 2_Areas/Photography/_index.md
R100 2_Areas/Old Path.md 2_Areas/New Path.md
D 0_Inbox/bar.md
...
The By folder block is the fastest orientation — it tells you at a glance which PARA areas saw action. The Files block is the full delta.
How this handles the two known quirks
- Auto-commit noise. The script ignores commit messages entirely. It computes one diff between the pre-window commit and HEAD; the 187 auto-commit messages don’t leak through.
- Refactors / folder moves. Rename detection is on (
git diff -M). A folder move shows asRentries with old → new paths instead of a flood of D + A pairs. If you need the full patch for a large refactor, the--with-diffcap protects you — the script will note when the diff is too large and skip it, and you can then usegit showon specific files.
Rules
- Read-only. This skill never edits files.
- File-level first, diff body second. Always start from the file list; only pull the diff when you need to reason about content changes.
- Don’t re-run for every sub-question. Cache the output for a session — the window doesn’t change in the middle of a task.
- Bigger windows are fine. The cost scales with the diff, not the commit count, and the script is deliberately cheap.