morning-briefing
Aggregates weather, game updates, and concert data into a daily markdown briefing. Triggered by 'morning briefing', 'daily briefing', 'run my briefing', 'wha...
Description
name: morning-briefing description: "Aggregates weather, game updates, and concert data into a daily markdown briefing. Triggered by 'morning briefing', 'daily briefing', 'run my briefing', 'what's new today'." metadata: openclaw: emoji: "🌅" os: [linux, darwin] requires: bins: [curl, jq]
morning-briefing
A pure aggregator skill that reads data produced by other skills, filters and formats it, and writes a composed markdown briefing to data/briefing.md.
Usage
-
Initialize config (first run only):
bash scripts/init_config.sh -
Run the briefing:
bash scripts/morning_briefing.shThe script outputs the path to the generated markdown file.
-
Read the file and present its contents verbatim to the user. Do not summarize, reformat, paraphrase, add commentary, or editorialize. Output the entire markdown file exactly as written — the markdown IS the briefing. Do not wrap it in a code block. Do not omit sections. Do not change heading levels or link formatting.
Data Sources
Weather is built-in (direct curl to wttr.in). Other sections are driven by external skills that write JSON data files:
- steam-games-updates — game news from Steam
- upcoming-metal-concerts — concert listings from concerts-metal.com
Each source has a jq template in assets/templates/<source-id>.jq that formats the raw JSON into markdown.
Customization
Edit ~/.openclaw/config/morning-briefing.json to:
- Toggle weather — set
weather.enabledtofalse - Change location — set
weather.location - Enable/disable a source — set
sources.<id>.enabled - Filter game updates — add
"games": ["CS2"]to steam-games-updates preferences - Filter concerts by city — edit
citiesarray in upcoming-metal-concerts preferences - Change concert window — edit
days_aheadin upcoming-metal-concerts preferences
Adding a New Source
- Add an entry to
sourcesin the config withdata_pathandpreferences - Create
assets/templates/<source-id>.jqthat accepts the source's JSON schema - The template receives
$preferences(argjson) and$today/$cutoff(arg) variables
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!