daily-rhythm
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.
What this skill does
# 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 - **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 Stripe integration) - 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: ```bash 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](https://console.cloud.google.com/) 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](references/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 file ### Step 4: Configure Calendar Add ICS URL to `TOOLS.md`: ```markdown ### Calendar - **ICS URL:** `https://calendar.google.com/calendar/ical/...` ``` ### Step 5: Set Up Cron Jobs Option A: System Cron (Traditional) ```bash 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 Stripe) ## 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: ```markdown ### 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 Stripe subscriptions. Requires `.env.stripe`. ### 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 **Stripe ARR not showing?** - Verify `.env.stripe` with valid API key - Check for active subscriptions - 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](references/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) - Stripe API key (optional, for ARR tracking) - Calendar ICS URL (optional, for events) - Cron or OpenClaw cron system
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.