Daily Rhythm
by @anthonyfrancis
Automated daily planning and reflection system with morning briefs, wind-down prompts, sleep nudges, and weekly reviews. Use when the user wants to set up a structured daily routine, morning briefings, evening reflection prompts, or weekly planning sessions. Triggers include requests for daily schedules, morning briefs, wind-down routines, sleep reminders, weekly reviews, productivity systems, or daily planning automation.
clawhub install daily-rhythmπ About This Skill
name: daily-rhythm description: Automated daily planning and reflection system with morning briefs, wind-down prompts, sleep nudges, and weekly reviews. Use when the user wants to set up a structured daily routine, morning briefings, evening reflection prompts, or weekly planning sessions. Triggers include requests for daily schedules, morning briefs, wind-down routines, sleep reminders, weekly reviews, productivity systems, or daily planning automation.
Daily Rhythm
A comprehensive daily planning and reflection system that automates morning briefs, evening wind-downs, sleep nudges, and weekly reviews to help users stay focused, track progress, and maintain work-life balance.
Quick Start
1. Install the skill and ensure scripts are executable 2. Configure data sources (Google Tasks, optional Stripe, Calendar) 3. Set up cron jobs for automation 4. Customize your focus area and Daily Intention (prayer, affirmation, quote, or centering thought) 5. Enjoy automated daily briefings and prompts
Features
Daily Automation
Weekly Automation
Rich Morning Briefs Include
Setup Instructions
Step 1: Install Dependencies
Ensure Python 3 and required packages:
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client stripe
Step 2: Configure Google Tasks
1. Go to Google Cloud Console
2. Create project β Enable Tasks API
3. Create OAuth 2.0 credentials (Desktop app)
4. Download credentials.json to ~/.openclaw/google-tasks/
5. Run once to authenticate: python3 scripts/sync-google-tasks.py
See CONFIGURATION.md for detailed steps.
Step 3: Configure Stripe (Optional)
For ARR tracking in morning briefs:
1. Create .env.stripe in workspace root:
STRIPE_API_KEY=sk_live_...
2. Set ARR target in state fileStep 4: Configure Calendar
Add ICS URL to TOOLS.md:
### Calendar
ICS URL: https://calendar.google.com/calendar/ical/...
Step 5: Set Up Cron Jobs
Option A: System Cron (Traditional)
crontab -eAdd these lines:
0 7 * * * cd /path/to/workspace && python3 skills/daily-rhythm/scripts/sync-stripe-arr.py
30 8 * * * cd /path/to/workspace && python3 skills/daily-rhythm/scripts/morning-brief.sh
0 20 * * 0 cd /path/to/workspace && echo "Weekly review time"
30 22 * * * cd /path/to/workspace && echo "Wind-down time"
0 23 * * * cd /path/to/workspace && echo "Sleep nudge"
Option B: OpenClaw Cron (If Available)
Use the cron tool to create jobs with agentTurn payloads that generate and send briefs.
Step 6: Create HEARTBEAT.md
Copy the template from assets/HEARTBEAT_TEMPLATE.md to workspace root and customize:
Workflow Details
Morning Brief Generation
The brief is generated by:
1. Syncing latest data (tasks, ARR)
2. Reading wind-down priority from memory/YYYY-MM-DD.md
3. Fetching calendar from ICS URL
4. Fetching weather (if configured)
5. Compiling all sections into formatted message
Wind-Down Response Flow
When user replies to 10:30pm prompt:
1. Parse their tomorrow priority
2. Generate actionable suggestions
3. Break into steps
4. Identify resources
5. Ask confirmation
6. Save to memory/YYYY-MM-DD.md
7. Include in next morning's brief
Weekly Review Flow
Sunday 8pm prompt asks reflection questions. When user replies: 1. Summarize their week 2. Identify key priorities 3. Create tasks in Google Tasks 4. Preview Monday's brief
Customization
Change Daily Intention
The morning brief opens with a centering section you can customize:
Examples:
Edit in HEARTBEAT.md or modify the morning brief generation.
Change Focus Area
Update default focus in HEARTBEAT.md:
### Focus
Your primary focus (e.g., "Product growth and customer acquisition")
Adjust Timing
Modify cron expressions:
30 8 * * * = 8:30am daily30 22 * * * = 10:30pm daily0 23 * * * = 11:00pm daily0 20 * * 0 = 8:00pm SundaysAdd Custom Sections
Modify scripts/morning-brief.sh to include additional data sources.
File Structure
workspace/
βββ memory/
β βββ YYYY-MM-DD.md # Wind-down responses
β βββ google-tasks.json # Synced tasks
β βββ stripe-data.json # ARR data
β βββ heartbeat-state.json # State tracking
βββ skills/daily-rhythm/
β βββ scripts/
β β βββ sync-google-tasks.py
β β βββ sync-stripe-arr.py
β β βββ morning-brief.sh
β βββ references/
β β βββ CONFIGURATION.md
β βββ assets/
β βββ HEARTBEAT_TEMPLATE.md
βββ HEARTBEAT.md # Your custom schedule
Scripts Reference
sync-google-tasks.py
Syncs Google Tasks to local JSON. Requirescredentials.json.sync-stripe-arr.py
Calculates ARR from active Stripe subscriptions. Requires.env.stripe.morning-brief.sh
Orchestrates data sync and brief generation.Troubleshooting
Google Tasks not syncing?
credentials.json existsStripe ARR not showing?
.env.stripe with valid API keyCron jobs not firing?
crontab -lSee CONFIGURATION.md for detailed troubleshooting.
Best Practices
1. Reply to wind-down prompts for best morning brief experience 2. Keep tasks updated in Google Tasks 3. Do weekly reviews to stay aligned with goals 4. Customize focus as priorities change 5. Adjust timing to match your rhythms
Requirements
π‘ Examples
1. Install the skill and ensure scripts are executable 2. Configure data sources (Google Tasks, optional Stripe, Calendar) 3. Set up cron jobs for automation 4. Customize your focus area and Daily Intention (prayer, affirmation, quote, or centering thought) 5. Enjoy automated daily briefings and prompts
π Tips & Best Practices
1. Reply to wind-down prompts for best morning brief experience 2. Keep tasks updated in Google Tasks 3. Do weekly reviews to stay aligned with goals 4. Customize focus as priorities change 5. Adjust timing to match your rhythms