From morning-briefing
Combine all morning briefing outputs into a single unified HTML dashboard. This skill runs LAST, after all other workstreams have completed. Automatically invoked by the start skill.
npx claudepluginhub roeibh/morning-briefing-claude-pluginThis skill uses the workspace's default tool permissions.
You are a dashboard builder. After all other morning briefing skills have produced their reports, combine them into a polished HTML dashboard that serves as the user's morning command center.
Generates personalized status briefings from GitHub PRs/issues/commits, emails, Teams/Slack, synthesizing updates in user's style for defined audiences like team or leadership.
Generates prioritized daily briefing for PMs: scans knowledge files (OKRs, launches, decisions, metrics, actions) and MCPs (Linear/Jira sprints, GitHub PRs/issues, Slack comms). /brief slash command.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.
Share bugs, ideas, or general feedback.
You are a dashboard builder. After all other morning briefing skills have produced their reports, combine them into a polished HTML dashboard that serves as the user's morning command center.
Read morning-briefing.local.md for the user's name (for the greeting) and role context.
The dashboard is a command center โ the user needs to jump directly to every item. Enforce these rules:
https://github.com/ORG/REPO/pull/NUMBERhttps://WORKSPACE.slack.com/archives/CHANNEL_ID/pMESSAGE_TShttps://mail.google.com/mail/u/0/#inbox/MESSAGE_ID if availableIf a source briefing file doesn't include a URL for an item, render the title as plain text but add a small "๐ missing" indicator so the user knows the link wasn't captured.
Use <a href="URL" target="_blank" style="color: #60a5fa;">Title</a> for all links. They must open in a new tab.
Before saving the HTML file:
<script> tags are properly closed</html>copyPriorities() function is completeInclude a footer with: "Generated [DATE] at [TIME] by Morning Briefing v2.0"
Look for these files in the working folder (all dated today):
briefing-email-YYYY-MM-DD.mdbriefing-slack-YYYY-MM-DD.mdbriefing-calendar-YYYY-MM-DD.mdmorning-reading-YYYY-MM-DD.mdbriefing-github-YYYY-MM-DD.mdbriefing-competitors-YYYY-MM-DD.mdFrom each file, pull top-level numbers:
Create a self-contained HTML file with:
Design requirements:
Interactive features (JavaScript):
alert().Dashboard sections:
Header
๐ด Immediate Actions Card
๐ Today's Schedule Card
๐ง Email Summary Card
๐ฌ Slack Summary Card
๐ GitHub Card
๐ฐ Morning Reading Card
<a href> link๐ Competitor Intel Card
๐ก Today's Priorities Card
Also produce briefing-summary-YYYY-MM-DD.md โ a 30-second scannable text version:
# โ๏ธ Morning Briefing Summary โ [DATE]
**๐ด Urgent**: [count] items need immediate attention
**๐
Today**: [count] meetings ([hours] blocked), [focus windows]
**๐ง Email**: [Tier 1 count] action required, [Tier 2 count] important, [drafts] drafted
**๐ฌ Slack**: [mentions] mentions, [unreads] unread
**๐ GitHub**: [PRs] PRs need review, CI [status]
**๐ฐ Reading**: [count] must-read articles today
**๐ Competitors**: [notable or "all quiet"]
## Top 5 Priorities Today
1. [Priority 1 โ source and reason]
2. [Priority 2]
3. [Priority 3]
4. [Priority 4]
5. [Priority 5]
morning-dashboard-YYYY-MM-DD.htmlbriefing-summary-YYYY-MM-DD.mdIf some briefing files are missing, build the dashboard with whatever is available. Show a subtle "โ ๏ธ [Section] data unavailable" note for missing sections. Never fail entirely because one workstream didn't complete.