Morning summary and daily briefing. Triggers when the user says "morning briefing", "daily briefing", "what's on today", "what do I have today", "show me my day", "morning summary", "brief me", "catch me up", "what did I miss", "start my day", "good morning", or any request for a summary of today's schedule, pending tasks, and priorities. Also triggers at the start of a new day session if scheduled. Do NOT use for standalone email triage without morning briefing context (use email-triage directly), deep competitor analysis or competitive intelligence updates (use competitor-watch), full topic research on a specific subject (use topic-research), or afternoon and evening check-ins where the user wants task status rather than a morning digest (use daily-plan or task-manager).
From tandemnpx claudepluginhub binatrixai/tandem-marketplace --plugin tandemThis skill is limited to using the following tools:
evals/evals.jsonreferences/briefing-template.mdreferences/sources.mdtemplate.mdExecutes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Morning summary skill that compiles calendar events, pending tasks, follow-ups,
and recent memory entries into a structured briefing. Outputs follow template.md.
See METHODOLOGY.md language mirror rule. Reply in the user's language.
Gather information from these sources (skip any that are unavailable):
~/Tandem/tasks/kanban.md.
Parse "📝 To Do" and "🚀 In Progress" columns. Highlight tasks due today or overdue.~/Tandem/email/MEMORY.md
under "## Pending Follow-ups" if it exists.~/Tandem/memory/sessions/ for
entries from the last 1-2 days that provide relevant context.~/Tandem/meetings/prep-*.md to find existing
prep briefs. Cross-reference with today's calendar events to identify which
meetings have prep and which do not. Only flag meetings with external attendees
(attendees whose email domain differs from the user's domain, or who are not
found in ~/Tandem/memory/people/). Internal standups and 1:1s do not need
flagging.Silently read from all data sources listed above. Do not ask the user for information that is already available in their workspace files.
If no data sources are available (first time, no tasks yet, no calendar), acknowledge this gracefully:
I don't have much context yet for your briefing. Let's build it up!
AskUserQuestion:
- "Add some tasks first"
- "Connect my calendar"
- "Just give me a blank daily plan"
Structure the briefing using template.md:
Date and greeting — Personalized with user's name if known
Calendar section — Events in chronological order with times
Meeting Prep Status — If any upcoming meetings today have external attendees and no prep brief, list them with a prompt to run meeting-prep. Format:
Meetings needing prep:
If ALL external meetings are prepped, show: "All external meetings prepped." If there are NO external meetings today, omit this section entirely.
Tasks section — Grouped by priority, overdue items highlighted
Follow-ups section — Pending email follow-ups with age (days waiting)
Focus suggestion — 1-2 sentence recommendation on today's priority
Deliver the formatted briefing. Keep it scannable — use bullet points, bold for emphasis, and clear section headers.
Present next step options via AskUserQuestion:
That's your briefing for today. What would you like to do?
AskUserQuestion:
- "Create a daily plan with time blocks"
- "Triage my email"
- "Start working on the top priority task"
- "Prep for [meeting name]" <- only shown if unprepped external meetings exist
- "Skip — I'll take it from here"
If specific sources are unavailable, adapt gracefully:
/connectNever show empty sections — omit them entirely and note what's missing at the end of the briefing.
This skill can be set as a scheduled task (e.g., every morning at 7:00 AM or 9:00 AM). When run as a scheduled task, it should:
To set up scheduling:
Would you like to receive this briefing automatically every morning?
AskUserQuestion:
- "Yes — every weekday at 7:00 AM"
- "Yes — every weekday at 9:00 AM"
- "Yes — every day (including weekends)"
- "No — I'll ask for it when I need it"
After the briefing, suggest 1-2 relevant next steps:
If there are overdue tasks:
AskUserQuestion:
- "Let's tackle the overdue tasks first"
- "Reschedule overdue tasks to today"
- "Skip for now"
If the calendar is heavy:
AskUserQuestion:
- "Prepare for the [specific meeting] — notes and agenda"
- "Block focus time between meetings"
- "Skip for now"
If there are unprepped external meetings:
AskUserQuestion:
- "Prep for [specific meeting name]"
- "Prep all unprepped meetings"
- "Skip for now"
If there are pending follow-ups older than 3 days:
AskUserQuestion:
- "Draft follow-up emails for stale threads"
- "Review and close resolved follow-ups"
- "Skip for now"
Task format specification: tandem-skills/tasks/task-manager/references/kanban-format.md. When reading or moving tasks, preserve the existing format exactly.
After completing the workflow, append an entry to ~/Tandem/stats.json:
{
"type": "system",
"action": "briefing",
"count": 1,
"timeSavedMinutes": 15,
"description": "Morning briefing: 3 meetings, 5 tasks, 2 follow-ups",
"timestamp": "<current ISO 8601>"
}
If ~/Tandem/stats.json does not exist, create it as [<entry>]. If it exists, read it, parse the JSON array, append the new entry, and write it back.
After appending to stats.json, follow the /sync workflow from tandem-skills/core/sync/SKILL.md to rebuild ~/Tandem/dashboard.html with updated statistics. This keeps the dashboard current after every skill run. If /sync fails (e.g., dashboard.html does not exist yet), continue — the main skill workflow must complete successfully regardless of sync outcome.