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
- Configure data sources (Google Tasks, optional Stripe, Calendar)
- Set up cron jobs for automation
- Customize your focus area and Daily Intention (prayer, affirmation, quote, or centering thought)
- 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:
CODEBLOCK0
Step 2: Configure Google Tasks
- 1. Go to Google Cloud Console
- Create project → Enable Tasks API
- Create OAuth 2.0 credentials (Desktop app)
- Download
credentials.json to INLINECODE1 - Run once to authenticate: INLINECODE2
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 file
Step 4: Configure Calendar
Add ICS URL to TOOLS.md:
CODEBLOCK2
Step 5: Set Up Cron Jobs
Option A: System Cron (Traditional)
CODEBLOCK3
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)
- Reading wind-down priority from INLINECODE8
- Fetching calendar from ICS URL
- Fetching weather (if configured)
- Compiling all sections into formatted message
Wind-Down Response Flow
When user replies to 10:30pm prompt:
- 1. Parse their tomorrow priority
- Generate actionable suggestions
- Break into steps
- Identify resources
- Ask confirmation
- Save to INLINECODE9
- Include in next morning's brief
Weekly Review Flow
Sunday 8pm prompt asks reflection questions. When user replies:
- 1. Summarize their week
- Identify key priorities
- Create tasks in Google Tasks
- 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:
CODEBLOCK4
Adjust Timing
Modify cron expressions:
- -
30 8 * * * = 8:30am daily - INLINECODE11 = 10:30pm daily
- INLINECODE12 = 11:00pm daily
- INLINECODE13 = 8:00pm Sundays
Add Custom Sections
Modify scripts/morning-brief.sh to include additional data sources.
File Structure
CODEBLOCK5
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: INLINECODE19
- 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
- Keep tasks updated in Google Tasks
- Do weekly reviews to stay aligned with goals
- Customize focus as priorities change
- 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
日常节奏
一个全面的日常规划与反思系统,可自动执行晨间简报、晚间放松、睡眠提醒和每周回顾,帮助用户保持专注、追踪进度并维持工作与生活的平衡。
快速开始
- 1. 安装技能并确保脚本可执行
- 配置数据源(Google Tasks、可选Stripe、日历)
- 设置定时任务以实现自动化
- 自定义你的专注领域和日常意图(祈祷、肯定语、名言或中心思想)
- 享受自动化的每日简报和提示
功能特性
每日自动化
- - 早上7:00:后台数据同步(任务、ARR)
- 早上8:30:包含优先级、日历、天气、任务的晨间简报
- 晚上10:30:规划明日优先事项的放松提示
- 晚上11:00:带有鼓励话语的睡眠提醒
每周自动化
- - 周日晚上8:00:用于反思和任务规划的每周回顾
丰富的晨间简报包含
- - 🙏 日常意图 — 祈祷、肯定语、名言或中心思想
- 日历事件
- 专注领域
- ARR进度追踪(可选Stripe集成)
- 今日优先事项(来自放松提示或首要任务)
- 可操作建议
- 分步计划
- 有用资源
- Google Tasks任务列表
- 天气(如已配置)
- 昨日的未完成事项
设置指南
第一步:安装依赖
确保已安装Python 3和所需包:
bash
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client stripe
第二步:配置Google Tasks
- 1. 前往Google Cloud Console
- 创建项目 → 启用Tasks API
- 创建OAuth 2.0凭据(桌面应用)
- 将credentials.json下载到~/.openclaw/google-tasks/
- 运行一次以完成认证:python3 scripts/sync-google-tasks.py
详细步骤请参见CONFIGURATION.md。
第三步:配置Stripe(可选)
用于晨间简报中的ARR追踪:
- 1. 在工作区根目录创建.env.stripe:
STRIPEAPIKEY=sklive...
- 2. 在状态文件中设置ARR目标
第四步:配置日历
将ICS URL添加到TOOLS.md:
markdown
日历
- - ICS URL: https://calendar.google.com/calendar/ical/...
第五步:设置定时任务
选项A:系统Cron(传统方式)
bash
crontab -e
添加以下行:
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 每周回顾时间
30 22
* cd /path/to/workspace && echo 放松时间
0 23
* cd /path/to/workspace && echo 睡眠提醒
选项B:OpenClaw Cron(如可用)
使用cron工具创建带有agentTurn负载的任务,以生成并发送简报。
第六步:创建HEARTBEAT.md
将assets/HEARTBEAT_TEMPLATE.md中的模板复制到工作区根目录并进行自定义:
- - 日常意图文本(祈祷、肯定语、名言或中心思想)
- 专注领域
- ARR目标(如使用Stripe)
工作流程详情
晨间简报生成
简报通过以下步骤生成:
- 1. 同步最新数据(任务、ARR)
- 从memory/YYYY-MM-DD.md读取放松优先事项
- 从ICS URL获取日历
- 获取天气(如已配置)
- 将所有部分编译为格式化消息
放松回复流程
当用户回复晚上10:30的提示时:
- 1. 解析他们的明日优先事项
- 生成可操作建议
- 分解为步骤
- 识别资源
- 请求确认
- 保存到memory/YYYY-MM-DD.md
- 包含在次日晨间简报中
每周回顾流程
周日晚上8点的提示询问反思问题。当用户回复时:
- 1. 总结他们的一周
- 识别关键优先事项
- 在Google Tasks中创建任务
- 预览周一的简报
自定义设置
更改日常意图
晨间简报以可自定义的中心部分开始:
示例:
- - 信仰类:祈祷、经文、灵修思考
- 世俗类:肯定语、意图设定、感恩练习
- 名言类:励志名言、斯多葛哲学、诗歌
- 目标类:每日使命宣言、价值观提醒
在HEARTBEAT.md中编辑或修改晨间简报生成。
更改专注领域
在HEARTBEAT.md中更新默认专注领域:
markdown
专注
你的主要专注领域(例如:产品增长和客户获取)
调整时间
修改cron表达式:
- - 30 8 = 每天早上8:30
- 30 22 = 每天晚上10:30
- 0 23 = 每天晚上11:00
- 0 20 * 0 = 每周日晚上8:00
添加自定义部分
修改scripts/morning-brief.sh以包含额外的数据源。
文件结构
workspace/
├── memory/
│ ├── YYYY-MM-DD.md # 放松回复
│ ├── google-tasks.json # 同步的任务
│ ├── stripe-data.json # ARR数据
│ └── heartbeat-state.json # 状态追踪
├── skills/daily-rhythm/
│ ├── scripts/
│ │ ├── sync-google-tasks.py
│ │ ├── sync-stripe-arr.py
│ │ └── morning-brief.sh
│ ├── references/
│ │ └── CONFIGURATION.md
│ └── assets/
│ └── HEARTBEAT_TEMPLATE.md
└── HEARTBEAT.md # 你的自定义日程
脚本参考
sync-google-tasks.py
将Google Tasks同步到本地JSON。需要credentials.json。
sync-stripe-arr.py
从活跃的Stripe订阅计算ARR。需要.env.stripe。
morning-brief.sh
协调数据同步和简报生成。
故障排除
Google Tasks无法同步?
- - 验证credentials.json是否存在
- 检查Tasks API是否已启用
- 手动运行脚本查看错误
Stripe ARR未显示?
- - 验证.env.stripe包含有效的API密钥
- 检查是否有活跃订阅
- 手动运行同步脚本
定时任务未触发?
- - 验证cron是否已安装:crontab -l
- 检查脚本路径是否为绝对路径
- 查看系统日志
详细故障排除请参见CONFIGURATION.md。
最佳实践
- 1. 回复放松提示以获得最佳晨间简报体验
- 保持任务更新在Google Tasks中
- 进行每周回顾以保持与目标一致
- 根据优先级变化自定义专注领域
- 调整时间以匹配你的节奏
系统要求
- - Python 3.7+
- Google Tasks API凭据(用于任务同步)
- Stripe API密钥(可选,用于ARR追踪)
- 日历ICS URL(可选,用于事件)
- Cron或OpenClaw cron系统