End of Day Reflection
Structured evening review — what went well, what to improve, energy levels, and tomorrow's top 3 priorities
End of Day Reflection
A structured evening journaling skill that guides you through a five-minute daily review covering accomplishments, lessons, energy assessment, gratitude, and tomorrow's top three priorities. Integrates with calendar apps, task managers, and journaling platforms to pull context and store reflections for long-term pattern analysis.
Supported Platforms & Integrations
| Platform | Setup Method | Auth Type | Notes |
|---|---|---|---|
| Apple Calendar / Google Calendar | CalDAV or OAuth2 | OAuth2 | Pulls today's meetings and events for context |
| Todoist / Things 3 | API token | REST API | Shows tasks completed and remaining today |
| Day One | JSON export path | Local file | Stores reflections as journal entries |
| Notion | Integration token | OAuth2 | Appends daily entries to a reflection database |
| Apple Health | Shortcuts export | Local file | Imports step count, exercise, and sleep data |
| Obsidian | Local vault path | None | Writes daily notes in your vault's daily notes folder |
When to Use This Skill
- Use this every evening as the final action of your workday to close mental loops
- Use this when you feel like days blur together and you cannot recall what you accomplished
- Use this when you want to build a daily journaling habit but struggle with blank-page syndrome
- Use this when tomorrow always feels chaotic and you want to start each day with clear priorities
- Use this when you want to detect energy patterns across weeks to optimize your schedule
- Consider alternatives when you need deep emotional processing — this is a structured review, not therapy journaling
- Consider alternatives when you want morning-specific routines — use a morning routine optimizer instead
Quick Start
# ~/.claude/skills/end-of-day-reflection.yaml trigger_time: "18:00" sections: - accomplishments - lessons_learned - energy_level - gratitude - tomorrow_priorities task_source: todoist calendar_source: google_calendar journal_output: obsidian obsidian_vault: ~/Documents/Obsidian/Personal energy_scale: 1-10 priorities_count: 3 history_file: ~/.reflection/daily_history.json
First Run Example
claude skill end-of-day-reflection
Expected Output
End of Day Reflection — Saturday, March 15, 2026
==================================================
Today's Context (auto-pulled):
Calendar: 3 meetings (standup, design review, 1:1 with manager)
Tasks completed: 7 of 9
Tasks remaining: 2 (carried to tomorrow)
Steps: 8,420 | Exercise: 35 min run
--- REFLECTION PROMPTS ---
1. ACCOMPLISHMENTS: What did you complete or move forward today?
> Shipped the search feature PR, got approval in design review,
> had a productive career conversation in my 1:1
2. LESSONS: What did you learn or what would you do differently?
> The design review went long because I didn't prepare the
> prototype in advance. Next time: share async before the meeting.
3. ENERGY LEVEL: Rate your energy today (1-10)
> 7
Trend: Your average this week is 6.4 (down from 7.2 last week)
4. GRATITUDE: One thing you're grateful for today
> Manager gave specific feedback on my growth areas — rare and helpful
5. TOMORROW'S TOP 3:
Priority 1: Finish API integration (carried from today)
Priority 2: Prepare quarterly review slides
Priority 3: 30-min run (maintain streak)
--- SAVED ---
Reflection written to: ~/Documents/Obsidian/Personal/2026-03-15.md
Streak: 12 consecutive days
Advanced Configuration
Platform-Specific Setup
Obsidian Daily Notes
obsidian: enabled: true vault_path: ~/Documents/Obsidian/Personal daily_notes_folder: "Daily Notes" template: "reflection" filename_format: "YYYY-MM-DD" append_mode: true tags: ["reflection", "daily"]
Google Calendar Context
google_calendar: enabled: true calendar_ids: - primary - "work@company.com" show_meeting_count: true show_meeting_hours: true exclude_all_day_events: false
Full Options Reference
| Parameter | Type | Default | Description |
|---|---|---|---|
| trigger_time | string | 18:00 | When to prompt for the evening reflection |
| sections | list | all five | Which reflection sections to include |
| task_source | string | none | todoist, things3, or none for manual entry |
| calendar_source | string | none | google_calendar, apple_calendar, or none |
| journal_output | string | local | obsidian, notion, day_one, or local markdown |
| energy_scale | string | 1-10 | Scale for daily energy rating |
| priorities_count | int | 3 | Number of priorities to set for tomorrow |
| history_file | string | ~/.reflection/daily_history.json | Path for storing reflection data |
| streak_tracking | bool | true | Track consecutive reflection days |
| weekly_summary | bool | true | Generate summary every 7 days |
| energy_trend_days | int | 7 | Rolling window for energy trend calculation |
| include_health_data | bool | false | Pull steps and exercise from health apps |
| notification | bool | true | System notification at trigger time |
Core Concepts
| Concept | Purpose | How It Works |
|---|---|---|
| Context Pull | Removes recall effort | Auto-imports calendar, tasks, and health data to jog memory |
| Five-Minute Format | Prevents journaling fatigue | Five focused prompts keep the reflection brief and sustainable |
| Energy Tracking | Detects burnout patterns | Daily 1-10 rating reveals weekly and monthly energy trends |
| Priority Bridging | Connects today to tomorrow | Setting three priorities in the evening makes mornings decisive |
| Streak Motivation | Builds the daily habit | Visible streak counter creates gentle accountability |
Architecture
Evening Trigger (cron or manual)
|
v
+-------------------+ +------------------+
| Context Gatherer |---->| Calendar API |
| (tasks, calendar, | | Task Manager API |
| health data) | | Health Export |
+-------------------+ +------------------+
|
v
+-------------------+
| Reflection Engine |<----> User responses to 5 prompts
+-------------------+
|
v
+-------------------+ +------------------+
| Journal Writer |---->| Obsidian/Notion/ |
| (formats + saves) | | Day One/Local |
+-------------------+ +------------------+
|
v
+-------------------+
| Trend Analyzer |----> Energy trends, streaks, weekly summary
+-------------------+
Workflow Examples
Scenario 1: Regular Weekday Evening
Input: Normal workday with 4 meetings and 6 tasks completed
Processing:
- Pulls calendar: 4 meetings (2.5 hours total)
- Pulls Todoist: 6 of 8 tasks completed
- Pulls steps: 6,200 (below 8,000 goal)
- Presents five reflection prompts sequentially
Output:
Reflection saved to Obsidian daily note
Energy: 6/10 (meeting-heavy day drained focus time)
Tomorrow's priorities set: 2 carry-over tasks + 1 new initiative
Note: 3rd day in a row below 7 energy — consider lighter schedule
Scenario 2: Weekly Summary Generation
Input: Sunday evening, 7 days of reflections complete
Processing:
- Aggregates 7 daily reflections
- Calculates average energy: 6.4/10
- Identifies top accomplishments across the week
- Counts priorities completed vs set
Output:
Weekly Reflection Summary — March 9-15, 2026:
Average energy: 6.4/10 (down from 7.2 last week)
Priorities set: 21 | Completed: 16 (76% completion rate)
Top accomplishment: Shipped search feature
Recurring lesson: Meetings without agendas waste time
Energy pattern: Highest on Tue/Wed, lowest on Thu/Fri
Suggestion: Schedule deep work on Tue/Wed, lighter Fridays
Scenario 3: Low Energy Streak Alert
Input: Energy rated below 5 for four consecutive days
Processing:
- Detects sustained low energy pattern
- Cross-references with calendar (meeting density), sleep, exercise
- Checks if specific events correlate with energy drops
Output:
ENERGY ALERT: 4 consecutive days rated 4 or below
Possible factors detected:
- Sleep average this week: 5.8 hours (well below 7.5 target)
- Meeting hours: 4+ per day (up from usual 2.5)
- Exercise: 0 sessions in 4 days (broke routine)
Recommendation: Block tomorrow morning for exercise, decline one
optional meeting, and set a hard bedtime of 10:30 PM tonight.
Best Practices
-
Do it at the same time every day — Consistency matters more than perfection. Whether 5 PM or 9 PM, pick a time and anchor it to an existing habit like dinner cleanup or changing into evening clothes.
-
Keep responses brief — This is not a long journal entry. Two sentences per section is enough. The value comes from daily consistency, not individual entry depth.
-
Set tomorrow's priorities before closing — The single most valuable part of this reflection is the three priorities for tomorrow. Without them, mornings start reactive instead of intentional.
-
Be honest about energy — Do not inflate your energy score. The trend data only works if it reflects reality. A week of honest 4s and 5s is more useful than inflated 7s.
-
Review weekly summaries on Sunday — The daily entries are ephemeral. The weekly summary is where patterns emerge. Spend five minutes each Sunday reading the weekly summary and adjusting your approach.
Common Issues
-
Reflection feels like a chore after two weeks — Reduce to three sections (accomplishments, energy, tomorrow's priorities) instead of all five. The habit matters more than comprehensiveness.
-
Calendar or task data not pulling correctly — Verify API tokens have not expired. Most OAuth tokens need periodic refresh. Run
claude skill end-of-day-reflection --test-connectionsto diagnose. -
Obsidian daily note conflicts with existing template — Use
append_mode: trueto add the reflection to the bottom of an existing daily note rather than overwriting it.
Privacy & Data Handling
All reflections and energy data are stored locally in ~/.reflection/daily_history.json or written to your personal Obsidian vault or Notion workspace. No journal content, energy ratings, or personal reflections are transmitted to external services. Calendar and task data is pulled read-only from your own accounts and processed in memory. API tokens for Google Calendar, Todoist, or Notion are stored in your local Claude configuration only. You can delete all reflection history by removing the ~/.reflection/ directory.
Reviews
No reviews yet. Be the first to review this template!
Similar Templates
Full-Stack Code Reviewer
Comprehensive code review skill that checks for security vulnerabilities, performance issues, accessibility, and best practices across frontend and backend code.
Test Suite Generator
Generates comprehensive test suites with unit tests, integration tests, and edge cases. Supports Jest, Vitest, Pytest, and Go testing.
Pro Architecture Workspace
Battle-tested skill for architectural, decision, making, framework. Includes structured workflows, validation checks, and reusable patterns for development.