agentsclimarketplace

Morning dashboard

Skill roeibh/morning-briefing-claude-plugin/skills/morning-dashboard

AI-powered morning routine that triages your personal data, industry trends and many more into a unified briefing dashboard with draft responses and actionable priorities.

Install
npx -y skills add roeibh/morning-briefing-claude-plugin --skill morning-dashboard

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

6.5 KB, as published. Nobody here has run it

Morning Dashboard

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.

CRITICAL: Read Local Config First

Read morning-briefing.local.md for the user's name (for the greeting) and role context.

CRITICAL: Every Item Must Be Clickable

The dashboard is a command center β€” the user needs to jump directly to every item. Enforce these rules:

  • Every PR must link to https://github.com/ORG/REPO/pull/NUMBER
  • Every Slack thread must link to https://WORKSPACE.slack.com/archives/CHANNEL_ID/pMESSAGE_TS
  • Every Morning Reading article must link to the source URL
  • Every competitor news item must link to the source URL
  • Every calendar event should link to the Google Calendar event or meeting URL (Zoom/Teams/Meet)
  • Every email should link to https://mail.google.com/mail/u/0/#inbox/MESSAGE_ID if available

If 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.

CRITICAL: HTML Validation

Before saving the HTML file:

  • Verify all <script> tags are properly closed
  • Verify all functions have complete closing braces
  • The file must end with </html>
  • Test that copyPriorities() function is complete

CRITICAL: Generated Timestamp

Include a footer with: "Generated [DATE] at [TIME] by Morning Briefing v2.0"

Process

Step 1: Read All Briefing Files

Look for these files in the working folder (all dated today):

  • briefing-email-YYYY-MM-DD.md
  • briefing-slack-YYYY-MM-DD.md
  • briefing-calendar-YYYY-MM-DD.md
  • morning-reading-YYYY-MM-DD.md
  • briefing-github-YYYY-MM-DD.md
  • briefing-competitors-YYYY-MM-DD.md

Step 2: Extract Key Metrics

From each file, pull top-level numbers:

  • Emails: count per tier, drafts created
  • Slack: unread count, mentions, DMs waiting
  • Calendar: meetings count, hours blocked, focus time
  • GitHub: PRs needing review, failing CI
  • Industry: must-read article count
  • Competitors: any high-threat moves

Step 3: Build the HTML Dashboard

Create a self-contained HTML file with:

Design requirements:

  • Dark theme (background: #0f172a or gradient, cards: #1e293b, text: #e2e8f0)
  • CSS Grid layout, responsive
  • Zero external dependencies β€” everything inline (CSS + JS)
  • Color coding: red (#ef4444) for urgent, amber (#f59e0b) for important, green (#22c55e) for FYI
  • Clean, modern aesthetic with subtle card shadows and rounded corners

Interactive features (JavaScript):

  • Every card MUST be collapsible β€” clicking the card header toggles the content. Use a toggle icon (β–Ό/β–Ά) that rotates on collapse. The Urgent Actions card should start expanded, others can start expanded too.
  • "Copy Priorities" button β€” copies top 5 priorities to clipboard. Use inline feedback: change button text to "βœ… Copied!" for 2 seconds. Do NOT use alert().
  • Smooth CSS transitions on collapse/expand

Dashboard sections:

  1. Header

    • Greeting with user's name + current date + day of week
    • Quick stats bar: emails | Slack mentions | meetings | PRs to review
    • Small "connection status" row showing which method each workstream used (e.g., "πŸ“§ Gmail connector βœ… | πŸ’¬ Slack connector βœ… | πŸ“… Calendar Chrome | πŸ™ GitHub connector βœ…")
  2. πŸ”΄ Immediate Actions Card

    • Combined list of ALL urgent items across every workstream
    • Each item: source icon + one-liner + what to do
    • This is the most important card β€” make it prominent
  3. πŸ“… Today's Schedule Card

    • Visual timeline of meetings with gaps for focus time
    • Color-coded by meeting type
    • Show duration for each block
    • For each meeting: include 1-2 prep actions (from the calendar briefing), not just the title
    • Include meeting join links (Zoom/Meet/Teams) when available
    • Highlight conflicts in red
  4. πŸ“§ Email Summary Card

    • Show which accounts were checked and how (e.g., "[Gmail via connector] [Outlook via Chrome]")
    • Tier 1 items with subject + action
    • Count of Tier 2 and Tier 3
    • Note how many draft replies were created
    • Cleanup stats: "[X] archived, [Y] marked read, [Z] unsubscribed"
    • Inbox status: "[X] unread remaining (all Tier 1)"
  5. πŸ’¬ Slack Summary Card

    • Threads needing response (with deep links)
    • For high unread counts: include a 1-line summary of what's being discussed, not just the number
    • Channel activity summary should say WHAT happened, not just "75 unread"
  6. πŸ™ GitHub Card

    • PRs awaiting review with CI status badges
    • What shipped yesterday
    • Stale PRs flagged separately
  7. πŸ“° Morning Reading Card

    • Top 5 curated links with titles and one-line descriptions
    • Every title MUST be a clickable <a href> link
  8. 🏁 Competitor Intel Card

    • Any moves with clickable source links (or "All quiet")
  9. πŸ’‘ Today's Priorities Card

    • AI-generated top 5 priorities based on urgency, deadlines, and schedule
    • Synthesized from all workstreams

Step 4: Generate Summary

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]

Step 5: Save and Open

  • Save HTML as morning-dashboard-YYYY-MM-DD.html
  • Save summary as briefing-summary-YYYY-MM-DD.md
  • Open the HTML dashboard in the browser

Fallback

If 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.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.