Generate a weekly summary from daily notes — time totals, meeting highlights, coding sessions, key decisions, and todo progress. Use when the user types /rollup or asks for a weekly summary.
Generate a weekly summary note from daily notes, aggregating time entries, meetings, coding sessions, decisions, and todo progress.
obsidian vault info=path to get the vault root./obsidian-weekly-rollup 2026-02-17), use the week containing that dateYYYY-WNN) for the output filename.Read all daily notes for the target week.
For each day that has a note:
obsidian read path="Daily Notes/{date}.md" and parse the structured bullet list at the top. Extract project, activity description, and hours for each line.obsidian links file="{date}" to get outgoing links. Filter for paths starting with Meetings/ and Coding/. Read each linked note to get its summary (first paragraph after # Title), project, and participants.obsidian tasks todo to get all open todos from project files. Run obsidian tasks done and filter for items where the completion date falls within the target week. Track which were completed (with date) vs still open.## Decisions sections.Build the weekly note content, then create it with obsidian create path="Weekly Notes/{YYYY}-W{NN}.md" content="{content}". If the file already exists and overwrite is approved, add the overwrite flag:
# Week of {Monday date}
## Time Summary
| Project | Hours | Activities |
|---------|-------|-----------|
| {Project} | {total} | {comma-separated activities} |
| ... | ... | ... |
**Total: {sum} hours**
## Meetings
### [[{Project}]]
- [[{Meeting Note Title}]] — {one-line summary}
## Coding Sessions
- [[{Coding Note Title}]] — {one-line summary}
## Key Decisions
- {decision} (from [[{Meeting Note}]])
## Todos
- Completed: {count} | Open: {count} | New this week: {count}
### Completed This Week
- [x] {todo text} ✅ {date} ([[Project]])
### Open
- [ ] {todo text} ([[Project]])
obsidian files folder="Weekly Notes"), show a diff of what would change and ask whether to overwrite or skip.obsidian create (with overwrite if replacing).