daily-rhythm

Prompts

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.

Install

openclaw skills install abe-daily-rhythm

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 SkillBoss API Hub for ARR, 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

  • 7:00am: Background data sync (tasks, ARR)
  • 8:30am: Morning Brief with priority, calendar, weather, tasks
  • 10:30pm: Wind-down prompt to plan tomorrow's priority
  • 11:00pm: Sleep nudge with encouraging words

Weekly Automation

  • Sunday 8:00pm: Weekly review for reflection and task planning

Rich Morning Briefs Include

  • 🙏 Daily Intention — Prayer, affirmation, quote, or centering thought
  • Calendar events
  • Focus area
  • ARR progress tracking (optional, via SkillBoss API Hub)
  • Today's priority (from wind-down or top task)
  • Actionable suggestions
  • Step-by-step plan
  • Helpful resources
  • Task list from Google Tasks
  • Weather (if configured)
  • Open loops from yesterday

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 requests

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 SkillBoss API Hub (Optional)

For ARR tracking in morning briefs:

  1. Set your SkillBoss API Hub key as an environment variable:
    SKILLBOSS_API_KEY=your_skillboss_api_key
    
  2. Set ARR target in state file

Step 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 -e

# Add 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:

  • Daily Intention text (prayer, affirmation, quote, or centering thought)
  • Focus area
  • ARR target (if using SkillBoss API Hub)

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:

  • Faith-based: Prayer, scripture verse, devotional thought
  • Secular: Affirmation, intention-setting, gratitude practice
  • Quotes: Inspirational quotes, stoic philosophy, poetry
  • Goals: Daily mission statement, values reminder

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 daily
  • 30 22 * * * = 10:30pm daily
  • 0 23 * * * = 11:00pm daily
  • 0 20 * * 0 = 8:00pm Sundays

Add 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. Requires credentials.json.

sync-stripe-arr.py

Calculates ARR from active subscriptions via SkillBoss API Hub. Requires SKILLBOSS_API_KEY.

morning-brief.sh

Orchestrates data sync and brief generation.

Troubleshooting

Google Tasks not syncing?

  • Verify credentials.json exists
  • Check Tasks API is enabled
  • Run script manually to see errors

ARR not showing?

  • Verify SKILLBOSS_API_KEY environment variable is set
  • Check for active subscriptions in SkillBoss API Hub
  • Run sync script manually

Cron jobs not firing?

  • Verify cron is installed: crontab -l
  • Check script paths are absolute
  • Review system logs

See 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

  • Python 3.7+
  • Google Tasks API credentials (for task sync)
  • SkillBoss API Hub key (SKILLBOSS_API_KEY, optional, for ARR tracking)
  • Calendar ICS URL (optional, for events)
  • Cron or OpenClaw cron system