lextoumbourou/lex-skills/morning-routine

Claude Code and agent skill by lextoumbourou/lex-skills

Trust tier 3
  • community
Source check pending

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-routine

SKILL.md

Morning Routine

The morning flow has two halves, split around when the user wakes:

  1. 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.
  2. 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 from daily/template.md if 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 oura skill) — 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:

markdown
---
date: YYYY-MM-DD HH:mm
modified: YYYY-MM-DD HH:mm
morning_weight:
sleep_score:
steps:
calories_consumed:
---
# Daily: YYYY-MM-DD
< [Daily: YYYY-MM-DD](YYYY-MM-DD) | [Daily: YYYY-MM-DD](YYYY-MM-DD) >
## Goals
## Macros
## Journal
  • ## Sleep & Recovery is inserted between ## Goals and ## Suggestions at wake time (not by the cron).
  • ## Suggestions is created by the cron (before ## Macros) and refined at wake time.
  • Leave ## Goals, ## Macros, ## Journal empty — the user fills them through the day.
  • Update modified whenever editing any daily note.

Phase 1 — early cron

  1. Create today's note at daily/YYYY-MM-DD.md per the structure above (fix yesterday's broken forward-nav link if it pointed at a then-nonexistent note).
  2. 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.
  3. Gather the brief (no wearable calls) from the configured sources: tasks due today/soon, hard deadlines, upcoming birthdays, budget flags, today's workout.
  4. Add `## Suggestions` to the note (between ## Goals and ## Macros): 2–4 prioritized bullets based on deadlines, todo items, and the workout day. Recovery-based adjustments come later (Phase 2).
  5. 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):

  1. 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.)
  2. Fetch wearable data via the configured skill: sleep score, readiness, detailed sleep metrics for today, and yesterday's steps (written to YESTERDAY's frontmatter).
  3. Insert `## Sleep & Recovery` after ## Goals:

```markdown ## Sleep & Recovery

MetricValue
ReadinessNN
Sleep ScoreNN
Total SleepNh NNm
Deep SleepNh NNm
REMNh NNm
EfficiencyNN%
Avg HRVNN
Lowest HRNN
BedtimeH:MMpm -> H:MMam

```

  • No daily scores? (e.g. the wearable only recorded a short nap, not a full night): leave sleep_score empty 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.
  1. 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.
  2. Run any configured aggregations (e.g. the weight script from vault-metrics).
  3. 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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/lextoumbourou/lex-skills/morning-routine/badge)](https://verified-skill.com/skills/lextoumbourou/lex-skills/morning-routine)

Something wrong with this skill or its page? Tell us.