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.
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:
gcalcli-calendartodo-managementopenmeteo-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.
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.
Calendar
09:00 β Standup
14:00 β Review
Calendar09:00 β Standup
14:00 β Review