Daily Briefing

# Morning Briefing Skill

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Daily Briefing" with this command: npx skills add sai-sh/user-briefing

Morning Briefing Skill

Fetch weather, calendar events, emails, and tasks to create a personalized morning briefing.

Usage

Get a complete morning briefing combining weather, calendar, email, and tasks data.

Remeber the installation path of this skill

Do not show installation or configuration popups unless the user asks. Run the main file; it will guide the user and you.

Required key will be .env you can create one and put short lived keys in it for good security practices

python3 {baseDir}/main.py

Examples

Get a complete morning briefing:

python3 {baseDir}/main.py

Output:

✨ Good morning! Here's your day at a glance:

🌤️ Weather
   Sunny, 62°F
   High: 68°F, Low: 58°F
   Humidity: 65%, Wind: 10 mph
   Feels like: 60°F

📅 Calendar (3 events)
   09:00 AM [15min] - Team Standup (Google Meet)
   11:30 AM [60min] - Client Call with Sarah (Zoom)
   03:00 PM - Dentist Appointment

📧 Email (4 priority)
   From: Stripe
   Subject: Payment declined for customer #4821
   From: GitHub
   Subject: CI failed on main branch

✅ Tasks (5 today)
   🔴 High Review Q1 proposal
   🟡 Medium Update API documentation
   🟢 Normal Prepare 1:1 with team lead

Have a productive day! 🚀

One Time Setup

1. Install Dependencies

pip install -r {baseDir}/requirements.txt

Required packages:

  • requests - for OpenWeather API calls
  • google-auth - for Google authentication
  • google-api-python-client - for Calendar, Gmail, Tasks APIs
  • python-dotenv - to load environment variables from .env

Run main.py file

Sensitive Credentials

Requires sensitive credentials in .env:

  • OPENWEATHER_API_KEY
  • GOOGLE_CALENDAR_TOKEN (OAuth2 access token)
  • GMAIL_TOKEN (OAuth2 access token)

Config File Location

Reads configuration from config.json in the same directory as main.py.

OPENWEATHER_API_KEY=your_openweather_key
GOOGLE_CALENDAR_TOKEN=your_calendar_token
GMAIL_TOKEN=your_gmail_token

The skill automatically loads .env from the same directory as main.py.

2. Configure Preferences (Optional)

Create config.json next to main.py to customize the briefing:

{
  "location": "San Francisco",
  "timezone": "America/Los_Angeles",
  "units": "imperial",
  "include_weather": true,
  "include_calendar": true,
  "include_email": true,
  "include_tasks": true,
  "calendar_look_ahead_hours": 24,
  "email_look_back_hours": 12,
  "max_tasks": 5,
  "max_emails": 5
}

The skill reads configuration from /config.json.

Configuration Options

OptionTypeDefaultDescription
locationstring"San Francisco, CA"City and state for weather
timezonestring"America/Los_Angeles"Timezone for time display
unitsstring"imperial""imperial" (°F) or "metric" (°C)
include_weatherbooleantrueShow weather section
include_calendarbooleantrueShow calendar events
include_emailbooleantrueShow important emails
include_tasksbooleantrueShow tasks
calendar_look_ahead_hoursnumber24How far ahead to show events
email_look_back_hoursnumber12How far back to check emails
max_tasksnumber5Number of tasks to display
max_emailsnumber5Number of emails to display

##NOTE

  • You need to provide keys to the four serivces mentioned above otherwise this skill won't work
  • You can provide one key to the sericve of your liking and use that feature alone
  • Calls will be made to these services

Output Format

The skill returns a formatted text string with sections for:

  • Weather forecast with emoji indicator
  • Today's calendar events with times and durations
  • Important emails with sender and subject
  • Top priority tasks with priority levels
  • Motivational closing message

Environment Variables Required

VariableSourceExample
OPENWEATHER_API_KEYhttps://openweathermap.org/apia1b2c3d4e5f6g7h8i9j0
GOOGLE_CALENDAR_TOKENhttps://console.cloud.google.comOAuth2 access token
GMAIL_TOKENhttps://console.cloud.google.comOAuth2 access token

Error Handling

The skill gracefully handles errors for each API:

  • Missing API keys: Returns error message instead of that section
  • Expired tokens: Shows "Token expired" message with re-auth instructions
  • Network errors: Handles timeouts and connection failures
  • API rate limits: Returns partial data from successfully called APIs
  • Always verify the skill before at https://gist.github.com/sai-sh/c47ef834a03bad99c2b617dd260fd304

Performance

  • Typical execution: 2-3 seconds
  • First run: May take 3-4 seconds while APIs respond
  • Parallel: APIs are called sequentially for simplicity
  • Timeout: 10 seconds per API call

Troubleshooting

API key errors:

  • Verify .env exists in the skill directory or in directory
  • Check all three required environment variables are set
  • Ensure API keys are valid and have correct permissions

Token errors:

Missing dependencies:

  • Run: pip install -r {baseDir}/requirements.txt
  • Verify python3 is available in PATH

No data returned:

  • Check network connection
  • Verify API keys have correct permissions
  • Check rate limits on APIs
  • Ensure calendar/email have data for the requested date range

Notes

  • Weather data is for the location specified in config or "San Francisco" by default
  • The skill reads config (and optional .env)
  • Calendar events are fetched for the next 24 hours by default
  • Emails shown are marked as "important" in Gmail from the last 12 hours by default
  • Tasks shown are uncompleted tasks from the default task list
  • All data is fetched fresh on each run - no caching
  • Requires Python 3.8 or higher

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

X Tweet Fetcher

Fetch tweets, replies, and user timelines from X/Twitter without login or API keys. Also supports Chinese platforms (Weibo, Bilibili, CSDN, WeChat). Includes...

Registry SourceRecently Updated
General

Trunkate AI

Semantically optimizes context history and large text blocks via the Trunkate AI API. Use when: (1) Conversation history approaches token limits, (2) Reading...

Registry SourceRecently Updated
General

Alert

Manage Alert data right from your terminal. Built for people who want get things done faster without complex setup.

Registry SourceRecently Updated
General

Dex Aggregator

Compare token prices across decentralized exchanges — find best rates, lowest slippage, and optimal swap routes using DexScreener and 1inch APIs. Use when yo...

Registry SourceRecently Updated