| name | veda-wrap |
| model | claude-sonnet-4-6 |
| description | VEDA end-of-day wrap. Scans today's journal for unfiled captures, files them, writes a structured EOD summary, and runs the session close protocol. Use when the user says /wrap, "end of day", "VEDA wrap up", "signing off", "that's it for today", or says goodbye. |
End of Day Wrap
Close out the day. Scan for anything not yet filed, write the EOD summary to the journal, and run session close.
Filesystem-First Principle
Use grep and find to locate and extract data. Only use Read on files already identified as relevant. Never read through directories file-by-file.
Step 1: Load Today's State
These files are always read in full — they are small and always needed:
journal/YYYY/MM/YYYY-MM-DD.md — today's journal
actions/OPEN.md
MEMORY.md
Step 2: Scan for Unfiled Captures
Extract all wikilinks from today's journal to find person mentions:
grep -oE '\[\[[a-z-]+\]\]' journal/YYYY/MM/YYYY-MM-DD.md | sort -u
For each person slug found, check whether a VEDA profile exists:
find people/ -name "SLUG.md" -type f
For profiles that exist, check whether today's journal content is reflected in the person file — grep for today's date in their profile:
grep "YYYY-MM-DD" people/SLUG.md
If the date is absent, the interaction is unfiled — update the person's profile.
Extract all ACT-IDs referenced in today's journal:
grep -oE 'ACT-[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]+' journal/YYYY/MM/YYYY-MM-DD.md | sort -u
For each ACT-ID, check whether it's in OPEN.md or CLOSED.md:
grep -F "ACT-XXXX-XX-XX-XXX" actions/OPEN.md actions/CLOSED.md
Any action item referenced in the journal but absent from both files must be added to OPEN.md.
If everything is already filed: note "All captured."
Step 3: Identify What Got Done
From today's journal, extract meeting records created this session:
grep -oE '\[\[meetings/[^\]]+\]\]' journal/YYYY/MM/YYYY-MM-DD.md
Extract ACT-IDs closed this session from CLOSED.md entries dated today:
awk '/## YYYY-MM-DD/,/^---/' actions/CLOSED.md | grep "^| ACT-"
Build a 3–5 bullet factual list: meetings processed, ACTs closed, decisions made, project status changes.
Step 4: Identify What Slipped
Find items due today that are still open:
grep "YYYY-MM-DD" actions/OPEN.md
Cross-reference against what appeared in the morning briefing (if one exists in today's journal) to identify items that were flagged but not addressed.
Step 5: Identify Tomorrow's Top 3
From actions/OPEN.md, find items due tomorrow or past due:
grep -E "TOMORROW_DATE|past" actions/OPEN.md | head -10
Supplement with hot items from MEMORY.md. Pick the 3 most important for tomorrow — prefer overdue over due-soon, items blocking others over solo items.
Step 6: Write EOD Wrap to Journal
Append to today's journal under ## End of Day Wrap. Use exactly this format — same sections, same order, every time:
## End of Day Wrap
*Generated HH:MM PT*
### What Got Done
- [factual bullet]
- [factual bullet]
- [factual bullet]
### What Slipped
- **ACT-ID** — Description *(reason if known)*
*(Nothing slipped.)* if empty.
### Captures to Process
- [item → where it should go]
*(All captured.)* if empty.
### Tomorrow's Top 3
1. [most important thing]
2. [second most important]
3. [third]
Step 7: Session Close Protocol
- Verify
actions/OPEN.md reflects all changes made this session.
- Update
MEMORY.md — add anything that should persist. Remove stale entries.
- Update the
updated frontmatter on all modified files.
- If any project status changed, update the Active Projects table in
CLAUDE.md:
grep -l "status:" projects/*.md | xargs grep -l "updated: YYYY-MM-DD"
- If any project was discussed, check whether its brief needs updating:
grep -oE '\[\[projects/[^\]]+\]\]' journal/YYYY/MM/YYYY-MM-DD.md | sed 's|\[\[projects/||; s|\]\]||'
For each project slug found, check projects/SLUG-brief.md and update if project status materially changed.
Step 8: Friday Addition
If today is Friday, also write a ## Week Ahead section after the EOD wrap. Use the same format as the /morning skill's Week Ahead section.
Step 9: Confirm
Wrapped. Written to journal/YYYY/MM/YYYY-MM-DD.md. Session close complete.
Surface any items that need the user's input before closing (e.g., decision records that need confirmation).