🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Briefing (Calendar Agenda, Weather, Pending To-Dos)

by @lstpsche

Daily briefing: gathers today's calendar, active todos, and local weather from available workspace tools, then composes a concise summary.

Versionv2.1.0
Downloads2,330
Installs10
Stars⭐ 1
TERMINAL
clawhub install briefing

πŸ“– About This Skill


name: briefing description: "Daily briefing: gathers calendar (gcalcli-calendar), active todos (todo-management), and weather (openmeteo-sh-weather-simple) into a concise summary." metadata: {"openclaw":{"emoji":"πŸ“‹"}} user-invocable: true

Briefing

Compose a daily briefing using companion skills. Each source is optional β€” skip it if the skill is not available.

Sources

Three companion skills. Skip any that are not in the available skills list:

  • Calendar β€” gcalcli-calendar
  • Todos β€” todo-management
  • Weather β€” openmeteo-sh-weather-simple (requires a default city/country in session context)
  • If none of the three are available β€” tell the user you have nothing to build a briefing from and stop. Do not fabricate a briefing.

    Briefing day

    Decide whether the user's day is effectively over based on current time and today's remaining calendar events.

  • Day still active -> briefing covers today.
  • Day winding down -> briefing covers tomorrow.
  • Todos are not date-bound β€” always show active items.

    Gather

    For each available source, read its SKILL.md before calling any commands.

    Calendar

    1. Read gcalcli-calendar SKILL.md. 2. Fetch the briefing day's agenda. 3. If no events β€” note it.

    Todos

    1. Read todo-management SKILL.md. 2. List active/pending items. 3. If none β€” note it.

    Weather

    1. Get the briefing day's conditions and forecast. Use the user's default city/country from session context. 2. Commands (always use --llm): - Today: openmeteo weather --current --forecast-days=1 --city="{city}" --llm - Tomorrow: openmeteo weather --current --forecast-days=2 --forecast-since=2 --city="{city}" --llm

    On errors

    If a command fails, skip that section and mention the failure briefly. Do not retry more than once. Never fabricate data.

    Compose

    Build a single message. Include only sections whose skill was available. If a skill returned no data, still include the section with a one-line note.

    Structure

    1. Title line β€” compact: date, day-of-week, time. E.g. Π‘Ρ€ΠΈΡ„ΠΈΠ½Π³ 14.02 (ΠΏΡ‚, 8:12). If briefing day is tomorrow, say so. 2. Weather β€” 1–2 lines: temperature, sky, anything notable. 3. Calendar β€” briefing day's events, chronologically. Format: HH:MM β€” Title. All-day events first. If empty: one line noting no events. 4. Upcoming β€” next 2-3 days' notable events (if any), one line per day. Omit if nothing notable. 5. Todos β€” active items, briefly. Higher priority first if supported. If empty: one line noting no todos.

    Example output

    Follow this format exactly in the user's language:

    Briefing 14.02 (Sat, 8:12)

    🌀 Weather (London, UK) +2°C, cloudy, wind 11 km/h. Daytime to -3°C, light rain.

    πŸ“… Calendar 09:00 β€” Standup 14:00 β€” Sprint review 18:30 β€” Driving school

    πŸ”œ Upcoming β€’ 15.02: Free day. β€’ 16.02: Daily standup 12:00, Driving school 18:30.

    βœ… Todos β€’ [work] Debug feature X. β€’ [personal] Book a doctor's appointment.

    Note: bold header β†’ content immediately on next line (zero blank lines); one blank line between sections; no trailing question or CTA.

    Formatting rules (strict)

    These rules are critical for readability on mobile. Follow them exactly.

  • Between sections: exactly one empty line.
  • Between a section header and its content: zero empty lines. Content starts on the very next line.
  • Right:
  • Calendar
    09:00 β€” Standup
    14:00 β€” Review
    
  • Wrong:
  • Calendar

    09:00 β€” Standup 14:00 β€” Review

  • When briefing day is tomorrow, calendar and weather headers should reflect that.
  • Do not shorten the user's city name.
  • Match the language of the user's request.
  • Simple formatting β€” optimize for mobile chat. Bold section headers, short lines.
  • Concise, skimmable, no filler.
  • Strict prohibitions

  • No preamble β€” dive straight in.
  • No call to action or question at the end. The briefing ends after the last section. No "What's next?", "What's first?", or similar.
  • Never invent events, todos, or weather data. Only report what tools returned.