Skip to content
Back to skills

Briefing

ASecurity

Daily briefing: gathers calendar (gcalcli-calendar), active todos (todo-management), and weather (openmeteo-sh-weather-simple) into a concise summary.

  • 16 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 7, 2026
business

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned June 7, 2026

npx -y skills add modbender/skill-library-mcp --skill briefing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Briefing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Briefing
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-briefing/badge)](https://www.skillsdirectory.com/skills/modbender-briefing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Files in this skill

  • README.md4.9 KB
  • SKILL.md4.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.