lextoumbourou/lex-skills/morning-routine
Claude Code and agent skill by lextoumbourou/lex-skills
- community
Checking that the SKILL.md file is still in the repository.
Two-phase morning flow for an always-on assistant — an early cron prepares the daily note and sends a short brief; wearable data is fetched later, when the user's first message of the day proves they're awake and their device has synced.
Install
npx vskill@latest install lextoumbourou/lex-skills/morning-routineSKILL.md
Morning Routine
The morning flow has two halves, split around when the user wakes:
- Early cron (e.g. 4am) — prepare the daily note and send a short task brief. No wearable calls: the user is usually still asleep and the device hasn't synced, so sleep data doesn't exist yet.
- Wake signal — the user's first message of the day (a morning weight report works well as a convention). They're awake and their phone has just synced the wearable. Fetch ALL health data now.
Configuration
Adapt these to the vault and setup:
- Vault root and daily notes at
daily/YYYY-MM-DD.md, created fromdaily/template.mdif one exists - Brief sources (pick what exists): a todo note for tasks/deadlines, a birthdays note, a budget tool, a workout log for determining today's session
- Messaging channel for the brief (WhatsApp, Telegram, etc. — keep it short, no markdown tables)
- Wearable skill for sleep/readiness/steps (e.g. the
ouraskill) — optional; skip Phase 2's fetch without one - Rollover targets (optional): a calorie log to append yesterday's totals to; a weight aggregation script (see
vault-metrics)
Note structure
Follow the vault's daily template exactly. A canonical shape:
## Sleep & Recoveryis inserted between## Goalsand## Suggestionsat wake time (not by the cron).## Suggestionsis created by the cron (before## Macros) and refined at wake time.- Leave
## Goals,## Macros,## Journalempty — the user fills them through the day. - Update
modifiedwhenever editing any daily note.
Phase 1 — early cron
- Create today's note at
daily/YYYY-MM-DD.mdper the structure above (fix yesterday's broken forward-nav link if it pointed at a then-nonexistent note). - Roll over yesterday's totals (if a calorie log is configured): read yesterday's Macros total and append a row. If nothing was logged, add the row with a note saying so.
- Gather the brief (no wearable calls) from the configured sources: tasks due today/soon, hard deadlines, upcoming birthdays, budget flags, today's workout.
- Add `## Suggestions` to the note (between
## Goalsand## Macros): 2–4 prioritized bullets based on deadlines, todo items, and the workout day. Recovery-based adjustments come later (Phase 2). - Send the brief on the messaging channel. Short — a few lines. Say nothing about sleep; it comes with the wake exchange.
Phase 2 — wake signal
When the user sends their first message of the day (e.g. their morning weight):
- Write any reported metrics (e.g.
morning_weight) to today's frontmatter. (If today's note doesn't exist — cron failed — create it per Phase 1 first.) - Fetch wearable data via the configured skill: sleep score, readiness, detailed sleep metrics for today, and yesterday's steps (written to YESTERDAY's frontmatter).
- Insert `## Sleep & Recovery` after
## Goals:
```markdown ## Sleep & Recovery
| Metric | Value | |
|---|---|---|
| Readiness | NN | |
| Sleep Score | NN | |
| Total Sleep | Nh NNm | |
| Deep Sleep | Nh NNm | |
| REM | Nh NNm | |
| Efficiency | NN% | |
| Avg HRV | NN | |
| Lowest HR | NN | |
| Bedtime | H:MMpm -> H:MMam |
```
- No daily scores? (e.g. the wearable only recorded a short nap, not a full night): leave
sleep_scoreempty and write a one-line Sleep & Recovery note explaining it instead of the table. Never invent a score. - No data at all? Device hasn't synced — tell the user and retry when they next message.
- Refine `## Suggestions` in light of recovery: if readiness/sleep is poor, adjust (e.g. swap a hard session for rest, defer non-urgent work); if strong, note it's a good day to push. Edit the existing bullets — don't append a second list.
- Run any configured aggregations (e.g. the weight script from
vault-metrics). - Reply with a brief sleep/recovery summary (readiness, total sleep, anything notable vs recent days) and any change made to the suggestions.
Rationale (why the split)
Fetching sleep data at cron time never works: the user's sleep often ends after the cron fires, and most wearables only sync when their companion app opens. The first message of the day is a reliable "awake + synced" signal. Keeping the cron vault-only also means it can't fail on external auth. Keep this skill as the single source of truth — the cron message should stay a one-line pointer here, or it will drift from the template.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/assistant/morning-routine/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/lextoumbourou/lex-skills/morning-routine)