Generate a daily planning dashboard that aggregates tasks from Slack, Linear, Gmail, daily notes, and the System context files. Creates an interactive HTML dashboard and a companion Markdown summary under 01_Daily/Tasks/ with today's date. Use this skill whenever Matteo asks to 'run daily plan', 'plan my day', 'morning dashboard', 'what's on my plate today', 'daily briefing', or any request to see an overview of today's tasks, emails, and Linear issues. Also trigger when Matteo mentions wanting to see unfinished Linear tasks, emails needing responses, or a combined view of his work streams.
This skill creates a comprehensive daily planning dashboard by pulling data from Matteo's connected services (Slack, Linear, Gmail) and his Obsidian vault, then generating both an interactive HTML dashboard and a companion Markdown summary.
Matteo is a founding scientist at Constellation, a neuro-AI startup. His vault lives in an Obsidian workspace with a specific folder structure (see below). The dashboard should respect the voice and formatting conventions defined in his Constitution and Laws — particularly that Claude's operational/system outputs use Claude's voice (this is appropriate here since dashboards are system artifacts, not Matteo's self-knowledge).
01_Daily/
Tasks/ ← Dashboard output goes here
Prompt Log.md
Mood & State Log.md
Reflections/
07_System/
Constitution.md
Laws.md
Current State.md
Functions/ ← Function definition lives here
Identity.md
Interaction Preferences.md
03_Projects/ ← Project context
05_Goals/ ← Goals context
When Matteo triggers this skill, follow these steps in order:
Read the following files to understand current priorities and state:
07_System/CLAUDE.md — governance and interaction rules (especially Session Protocol and Monitoring sections)01_Daily/Current State.md — active projects, this week's priorities, what's on his mind01_Daily/YYYY-MM-DD.md — today's daily note if it exists (Matteo's morning brain dump, AM EMA notes, intentions for the day)01_Daily/YYYY-MM-DD-1.md — yesterday's daily note for carryover context (if it exists)01_Daily/Reflections/ — most recent reflection file for context on yesterday's wrap-up01_Daily/Tasks/ — check the most recent task file for unfinished items to carry over01_Daily/Mood & State Log.md — most recent entries to gauge state and TRT cycle positionRun these data pulls in parallel where possible:
Linear (task management):
list_issues to get all issues assigned to Matteolist_cycles to check current sprint/cycle contextget_issue_status for status categoriesGmail:
gmail_search_messages to find:
is:unread newer_than:1dis:unread to:me newer_than:3dis:starred is:unreadgmail_read_message for emails that look particularly importantSlack:
slack_search_public_and_private to find:
to:me or search for his nameslack_read_channel for key channels if identifiable01_Daily/Mood & State Log.md for today's state entry (if any AM EMA was done)07_System/Current State.md for "This Week's Priorities" section01_Daily/Tasks/ for carryover items from yesterdayCreate an interactive HTML dashboard file at:
01_Daily/Tasks/Dashboard_YYYY-MM-DD.html
The dashboard should include these sections:
Header:
Priority Overview (cards):
Linear Tasks Panel:
Email Panel:
Slack Panel:
Carryover Tasks:
This Week's Priorities:
Design requirements:
Create a companion markdown file at:
01_Daily/Tasks/Tasks_YYYY-MM-DD.md
Format:
# Daily Plan — YYYY-MM-DD
## Top Priorities
- [ ] Priority 1 (source)
- [ ] Priority 2 (source)
- [ ] Priority 3 (source)
## Linear Tasks
### In Progress
- [ ] Task title — *Project* | Priority | [link if available]
### Todo
- [ ] Task title — *Project* | Priority
### Backlog (relevant only)
- [ ] Task title — *Project* | Priority
## Emails Needing Response
- [ ] **Sender** — Subject line (received: time)
- [ ] **Sender** — Subject line (received: time)
## Slack Threads
- [ ] **#channel** — Sender: message preview (time)
## Carryover from Yesterday
- [ ] Item from previous day's tasks
## This Week's Priorities
(pulled from Current State.md)
## Notes
(blank space for Matteo to add thoughts during the day)
After generating both files, present:
YYYY-MM-DD (e.g., 2026-04-10)