Generates a daily morning briefing and delivers it three ways:
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionmorning-briefingExecute the skills CLI command in your project's root directory to begin installation:
Fetches morning-briefing from krishagel/geoffrey and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate morning-briefing. Access via /morning-briefing in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
0
total installs
0
this week
4
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
4
stars
Generates a daily morning briefing and delivers it three ways:
Execute these data gathering steps:
cd /Users/hagelk/non-ic-code/geoffrey/skills/google-workspace && bun calendar/list_events.js psd --today
Returns JSON with today's events including:
Account: Use psd for work calendar
osascript -l JavaScript /Users/hagelk/non-ic-code/geoffrey/skills/morning-briefing/scripts/get_due_flagged.js
Returns tasks that are:
# Get yesterday's date in Gmail query format
YESTERDAY=$(date -v-1d +%Y/%m/%d)
cd /Users/hagelk/non-ic-code/geoffrey/skills/google-workspace && bun gmail/list_messages.js psd --query "in:inbox after:$YESTERDAY" --max 15
Returns recent inbox messages with:
Filtering: Only show emails still in inbox (not already labeled/processed).
Philosophy: Any email still in inbox from last 24 hours needs attention, read or not.
Account: Use psd for work email
bun /Users/hagelk/non-ic-code/geoffrey/skills/freshservice-manager/scripts/list_tickets.js '{"workspace_id": 2, "filter": "new_and_my_open"}'
Returns open tickets assigned to or created by user in Technology workspace.
bun /Users/hagelk/non-ic-code/geoffrey/skills/freshservice-manager/scripts/get_approvals.js requested
Returns service requests awaiting approval.
Use WebSearch:
Gig Harbor WA weather today forecast
Extract:
Use WebSearch:
K-12 education technology news past 24 hours January 2026
For each article found (3-5 articles):
Freshness check: Verify article dates before including. Only include articles published within the last 24 hours. Skip older articles even if they appear in results.
Topics to cover:
Use WebSearch:
artificial intelligence news past 24 hours January 2026 latest
For each article found (3-5 articles):
Freshness check: Verify article dates before including. Only include articles published within the last 24 hours. Skip older articles even if they appear in results.
Topics to cover:
Use WebSearch:
K-12 school leadership superintendent news past 24 hours January 2026
For each article found (2-3 articles):
Freshness check: Verify article dates before including. Only include articles published within the last 24 hours. Skip older articles even if they appear in results.
Topics to cover:
Use WebSearch:
K-12 school safety security news past 24 hours January 2026
For each article found (3 articles):
Freshness check: Verify article dates before including. Only include articles published within the last 24 hours. Skip older articles even if they appear in results.
Topics to cover:
Get end-of-day check-in messages from the Technology Staff space:
cd /Users/hagelk/non-ic-code/geoffrey/skills/google-workspace && bun chat/get_eod_messages.js psd spaces/AAAAxOtpv10 last-business-day
CRITICAL - NO HALLUCINATION:
sender field of the script outputBefore extracting team data:
sender values returnedCRITICAL: Extract FULL details from each team member's EOD message. Look for messages that contain "Today:" prefix - these are the detailed EOD summaries.
For each team member who posted an EOD summary:
sender field)Example extraction from raw message:
Brad White:
- Location: TSD (Tech Services)
- Accomplished: Packaged Cinema 4D plugin for deployment, fixed OAuth blocking for Maxon App sign-in, created SwiftDialog notification for plugin installs, used Claude Code for first time to create Installomator label for Godot game engine
- Notable: Working on Unity deployment troubleshooting, burning comp time leaving early
Note: If today is Monday, "last business day" = Friday (or Thursday if Friday was a holiday).
Get end-of-day check-in messages from the Safety & Security Staff space:
cd /Users/hagelk/non-ic-code/geoffrey/skills/google-workspace && bun chat/get_eod_messages.js psd spaces/AAAAFpQaAnA last-business-day
Space: PSD Safety & Security Team
CRITICAL - NO HALLUCINATION:
sender field of the script outputBefore extracting team data:
sender values returnedExtract using same format as Technology Team - names, locations, accomplishments, issues.
Note: If today is Monday, "last business day" = Friday (or Thursday if Friday was a holiday).
Get tickets closed by the Technology team on the last business day:
# First get the last business day
LAST_BIZ_DAY=$(bun /Users/hagelk/non-ic-code/geoffrey/skills/morning-briefing/scripts/get_last_business_day.js | jq -r '.date')
# Then get daily summary for that date
bun /Users/hagelk/non-ic-code/geoffrey/skills/freshservice-manager/scripts/get_daily_summary.js "$LAST_BIZ_DAY"
CRITICAL - NO HALLUCINATION:
byAgent section of script outputBefore reporting ticket stats:
get_daily_summary.jsbyAgent fieldReturns:
Workspace: Technology (workspace_id: 2)
Compare last business day to previous days for trends:
# Get last 5 business days of summaries for trend analysis
# The get_daily_summary.js script supports date parsing
bun /Users/hagelk/non-ic-code/geoffrey/skills/freshservice-manager/scripts/get_daily_summary.js "last monday"
bun /Users/hagelk/non-ic-code/geoffrey/skills/freshservice-manager/scripts/get_daily_summary.js "last tuesday"
# etc.
Analyze for:
Get open tickets in the Software Development workspace:
bun /Users/hagelk/non-ic-code/geoffrey/skills/freshservice-manager/scripts/search_tickets.js "status:2 OR status:3" 13
Returns all open (status:2) and pending (status:3) tickets in the Software Development workspace.
Workspace ID: 13 (Software Development) Note: This is the user's internal software development bug tracker for AI Studio and other PSD applications.
Get K-12 education bills with activity since the last business day:
# Get lookback info and bills to check
bun /Users/hagelk/non-ic-code/geoffrey/skills/legislative-tracker/scripts/get_recent_bill_activity.js --last-business-day
This returns:
Workflow:
get_recent_bill_activity.jsOn Monday: Lookback starts on Friday (or earlier if Friday was a holiday), so includes all weekend activity (hearings, votes, committee actions).
Example URLs to WebFetch:
https://app.leg.wa.gov/billsummary?BillNumber=1020&Year=2025https://app.leg.wa.gov/billsummary?BillNumber=5038&Year=2025Note: Only include bills that actually had activity. If no bills moved, output "No legislative activity since [date]".
Review gathered data and identify:
Use this structure:
# Daily Briefing - [DATE]
## Weather
[Current conditions, high/low, precipitation]
## Today's Calendar
| Time | Event | Location |
|------|-------|----------|
| ... | ... | ... |
**Conflicts/Notes**: [any issues]
## Priority Tasks
### Due Today
- [ ] Task 1
- [ ] Task 2
### Flagged
- [ ] Task 3
### Overdue
- [ ] Task 4 (due [date])
## Recent Emails (Last 24h)
[X emails in inbox from last 24 hours]
### Needs Response
- From: [sender] - [subject] (snippet)
- From: [sender] - [subject] (snippet)
### FYI/Notifications
- [sender] - [subject]
## Freshservice
### Technology Tickets: [count] open
[Top 3-5 tickets by priority/age]
### Software Development Tickets: [count] open
[List tickets in Software Dev workspace]
### Pending Approvals: [count]
[List with ticket #, requester, summary]
## Team Activity (Last Business Day: [DAY, DATE])
**Data Source Verification (REQUIRED):**
- Technology EOD script returned: [X] messages from [list exact sender names from JSON]
- Safety & Security EOD script returned: [X] messages from [list exact sender names from JSON]
Make data-driven prioritization decisions faster
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Prerequisites
Time Estimate
30-60 minutes to see productivity improvements
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid when
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
mattpocock/skills
parcadei/continuous-claude-v3
cursor/plugins
ailabs-393/ai-labs-claude-skills
pproenca/dot-skills
mattpocock/skills
morning-briefing has been reliable in day-to-day use. Documentation quality is above average for community skills.
Solid pick for teams standardizing on skills: morning-briefing is focused, and the summary matches what you get after install.
Useful defaults in morning-briefing — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
We added morning-briefing from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
Keeps context tight: morning-briefing is the kind of skill you can hand to a new teammate without a long onboarding doc.
Registry listing for morning-briefing matched our evaluation — installs cleanly and behaves as described in the markdown.
morning-briefing is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
Useful defaults in morning-briefing — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
Keeps context tight: morning-briefing is the kind of skill you can hand to a new teammate without a long onboarding doc.
I recommend morning-briefing for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
showing 1-10 of 62