Job ID: 76ce033272c7
Run Time: 2026-06-29 16:09:55
Schedule: 0 16 *
[IMPORTANT: The user has invoked the "news-briefings" skill, indicating they want you to follow its instructions. The full skill content is loaded below.]
name: news-briefings
description: "Research current events and deliver formatted news briefings to the user's messaging platform (Telegram/WhatsApp). Covers one-shot news queries and recurring cron-based news briefings — aggregating from RSS feeds via curl, structuring summaries by region/topic, and delivering to the user's preferred channel."
version: 1.3.0
metadata:
hermes:
tags: [news, current-events, rss, briefing, delivery, telegram, whatsapp, cron]
prerequisites: {}
Research and deliver current-events briefings to the user's messaging platform. Supports two modes:
When the user asks for news/current events, gather from multiple RSS feeds using curl (browser dependency may be unavailable). Good free RSS sources:
BBC World: https://feeds.bbci.co.uk/news/world/rss.xml
NYT World: https://rss.nytimes.com/services/xml/rss/nyt/World.xml
Le Monde: https://www.lemonde.fr/international/rss_full.xml
France Info: https://www.francetvinfo.fr/monde.rss (⚠️ /monde/rss → 404, utiliser .rss)
France 24: https://www.france24.com/fr/rss
Hacker News: https://news.ycombinator.com/
Apple Newsroom: https://www.apple.com/newsroom/
The Guardian: https://www.theguardian.com/tone/news
⚠️ Avoid sources with aggressive anti-bot protection — Some sites (Reuters/DataDome, Google News, DuckDuckGo, Bing, Searx) are systematically blocked from certain server IPs. When curl hits these, the connection may get a TCP reset that propagates as a "Broken pipe" (Errno 32) crash, killing the whole agent run — far worse than a simple HTTP error. For one-shot queries, if these fail, just skip them. For cron jobs, remove them from the prompt entirely — a runtime error crashes the agent, and "skip and continue" won't help if curl itself segfaults on a blocked domain.
Use delegate_task for heavier research (multiple feeds → extraction → structured summary) so the main thread stays responsive. Pass toolsets=["terminal"] for simple RSS parsing.
For parallel research on multiple topics, use the tasks= array form:
delegate_task(tasks=[
{"goal": "Research {topic A}", "toolsets": ["terminal"]},
{"goal": "Research {topic B}", "toolsets": ["terminal"]},
])
This runs up to 3 subagents concurrently.
Pitfall: delegate_task is for ONE-SHOT queries only. Do NOT use it in cron job prompts — cron agents cannot use delegate_task.
Format with clear sections by region/topic. Use emoji markers per region:
Each section: 2-3 bullet points max. Bold the headline item (not the emoji). Include source attribution at end.
Check the user's preferred delivery platform:
The send_message(action='list') may not show platforms even when they're configured. If the platform is defined in .env (TELEGRAM_BOT_TOKEN, etc.), try send_message(target='telegram') directly — it routes to the home channel.
Set up automated daily/weekly briefings that deliver directly to the user's messaging platform on a schedule.
Use cronjob(action='create') with:
skills=["news-briefings"] to load this skill automatically"0 16 " for daily at 16h, "0 16 * 0" for Sundays"origin" (default) — auto-routes to the conversation's origin platform (Telegram/WhatsApp if the conversation came from there, CLI otherwise)"telegram:CHAT_ID" — explicit Telegram delivery (e.g., "telegram:8818654814")"local" — no delivery, saved locally"whatsapp:PHONE" — explicit WhatsApp deliveryExample with explicit Telegram delivery:
cronjob(
action='create',
name='Veille quotidienne d\'actualités',
prompt="Génère un briefing quotidien en français...",
schedule='0 16 * * *',
skills=['news-briefings'],
deliver='telegram:8818654814',
)
delegate_task — cron sessions cannot spawn subagentsexecute_code — cron sessions cannot use execute_code (blocked for security). Use write_file or terminal for file operations instead.clarify — cron agents cannot ask the user questionssend_message needed — the job's final response auto-delivers to the target platformIf cronjob(action='list') shows the job as state: scheduled but last_run_at stays null even after next_run_at has passed:
hermes gateway start or hermes gateway installhermes gateway status — if not running, the scheduler is not activeEven feeds classified as "reliable" (BBC, Le Monde, France 24) can intermittently trigger a Broken pipe (Errno 32) crash in cron context. This happens when a CDN or reverse proxy intermittently sends a TCP reset — the curl subprocess crashes before any "skip on error" logic runs.
no_agent=False, script=path) that curl-fetches feeds sequentially in a single bash script with || true fallbacks, then let the LLM summarize the collected data. This isolates the crash risk to the script layer.delegate_task(tasks=[...], toolsets=["terminal"]). Fetch the feeds in parallel subagents (max 3), each handles its own curl failure gracefully. Then compose and deliver the briefing manually. This bypasses the Broken pipe crash because each subagent's curl crash is isolated.last_status: "error" with delivery error about "cannot schedule new futures"When last_status: "error" AND the delivery error contains "cannot schedule new futures after interpreter shutdown" or "Broken pipe" appears in the output log:
curl to a blocked domain (DataDome/Cloudflare) causes a TCP reset → "Broken pipe" (Errno 32)execute_code in cron) ls ~/.hermes/profiles/<profile>/cron/output/<job_id>/
The most recent YYYY-MM-DD_HH-MM-SS.md file often contains the ## Script Output section with collected RSS data, even if the final delivery failed. Extract the data and proceed.
execute_code calls with write_file or terminalcronjob(action='run', job_id='...') to test the fixWhen a cron job shows last_status: "error" but last_delivery_error: null:
cronjob(action='run', job_id='...') to re-kick the job manuallyEach cron briefing can also save a copy locally for historical reference, alongside Telegram delivery.
Pattern: Add an instruction at the end of the cron prompt to write the briefing content to a file:
❗ À la fin, archive le briefing dans un fichier : écris le contenu exact du briefing dans /home/sebastien/.hermes/memory/modules/veille_actualite/daily/YYYY-MM-DD.md (remplace YYYY-MM-DD par la date du jour). Crée le fichier avec la commande d'écriture appropriée.
Use a dedicated module structure under ~/.hermes/memory/modules/:
veille_actualite/daily/ — for daily briefingsveille_actualite/weekly/ — for weekly geopolitics briefingsPre-create the directories before setting up the cron — the cron agent has file-write tools but directory creation is more reliable when done ahead of time:
mkdir -p ~/.hermes/memory/modules/veille_actualite/{daily,weekly}
Updating existing cron jobs to add archiving: use cronjob(action='update', job_id='JOB_ID', prompt='...') with the original prompt + the archive instruction appended. Always read the existing prompt from ~/.hermes/cron/jobs.json first so you preserve the full content.
| Frequency | Cron expression |
|---|---|
| Daily at 16h | 0 16 * |
| Daily at 9h | 0 9 * |
| Weekly Sunday 16h | 0 16 0 |
| Every 2 hours | every 2h |
curl for RSS feeds over browser toolssend_message(action='list') can return empty even with configured platforms — try direct targetingdelegate_task with toolsets=["terminal"] rather than doing curl calls in the main thread — keeps context cleanhttps://www.france24.com/fr/rss) is a reliable French-language source for international news — include it for francophone briefings import urllib.request, json
url = f"https://api.telegram.org/bot{TOKEN}/getMe"
resp = urllib.request.urlopen(url)
data = json.loads(resp.read()) # {"ok":true, "result":{...}}
.env via terminal heredoc may corrupt them (redaction system replaces characters). Always verify with xxd after writing. Use printf '\xHH' or direct Python binary writes to bypass redactionThe skill ships with a reusable data-collection script in scripts/collecte-veille.sh.
Purpose: Eliminates the Broken pipe (Errno 32) crash that kills cron briefings when a CDN sends a TCP reset during curl. Each feed is fetched with || true isolation — if one feed crashes, the others continue unaffected.
Usage in cron: Set script='collecte-veille.sh' on the cron job. The script runs first, its stdout is injected into the cron agent's prompt, and the agent summarizes the pre-collected data instead of running its own curls. The prompt should explicitly say: "Utilise les données collectées — ne fais PAS de curl toi-même."
Feeds collected: BBC World, Le Monde International, France Info (via .rss, not /rss), France 24, The Guardian (HTML topic page). Parses 10 items each.
Customization: Modify the script to add/remove feeds, or adjust the item count per feed.
blogwatcher — for ongoing/monitoring RSS feeds (complementary: use for single-feed watching, use this skill for multi-source LLM-synthesised briefings)editorial-review-cycle — for producing structured daily/weekly reviews that update the editorial memory system (topics, hypotheses, briefs archive, index). Use this skill when the user asks for a "revue quotidienne" or "briefing mémoire"; use news-briefings when they ask for "what's happening in the news" to deliver to a messaging platform.references/rss-feeds.md for the full list of tested RSS endpoints and parsing recipes.references/vps-feed-reliability.md for per-server feed status (which feeds work, which are blocked, intermittent failure patterns).The user has provided the following instruction alongside the skill invocation: [IMPORTANT: You are running as a scheduled cron job. DELIVERY: Your final response will be automatically delivered to the user — do NOT use send_message or try to deliver the output yourself. Just produce your report/output as your final response and the system handles the rest. SILENT: If there is genuinely nothing new to report, respond with exactly "[SILENT]" (nothing else) to suppress delivery. Never combine [SILENT] with content — either report your findings normally, or say [SILENT] and nothing more.]
The following data was collected by a pre-run script. Use it as context for your analysis.
═══════════════════════════════════════════
COLLECTE VEILLE QUOTIDIENNE — 2026-06-29
═══════════════════════════════════════════
=== BBC World ===
• Mum rescued from Venezuela rubble with newborn baby tells BBC how he helped her survive
The "miracle" rescue of 18-day-old baby Juan David is a symbol of hope in Venezuela after the devastating earthquakes.
• Sixth person dies after shooting at youth welfare centre in Germany
Four women and a man were shot dead at the scene while a sixth person died in hospital, police say.
• Supreme Court rejects Trump's appeal of E Jean Carroll's sexual abuse case
The decision means the US president will now have to pay her the $5m (£3.6m) in damages she had been awarded.
• DR Congo bans mass gatherings in the capital to prevent spread of Ebola
Opposition politicians accuse the government of using the outbreak to halt a planned protest.
• US says it has agreed to 'stand down' after exchange of strikes with Iran
A series of strikes over the weekend saw the US and Iran accuse each other of violating the ceasefire agreement.
• Pakistani strikes kill at least 28 civilians in Afghanistan, UN says
Pakistan claims it was targeting militants near its border, but the Taliban government calls it an "atrocity".
• Supreme Court blocks Trump's attempt to fire Federal Reserve governor Lisa Cook
The decision, seen as a win for central bank independence, sends the fight over removal back to the lower courts.
• South Korea football coach quits as president calls for probe into World Cup loss
South Korea was eliminated after missing out on a spot among the eight best third-placed teams.
• 'You are Canadian heroes' - the forgotten hosts making World Cup history
Canada are making history at this World Cup with a run that is likely to change the face of football in the country forever.
• Teyana Taylor's tears and Lauryn Hill tribute steal show at BET Awards
Taylor had an emotional reaction to being presented with the Icon of the Year award by Janet Jackson.
=== Le Monde International ===
• En RDC, l’épidémie de maladie à virus Ebola s’étend dans tout le nord-est du pays avec une quatrième province affectée
Le Haut-Uélé, province frontalière du Soudan du Sud mais aussi de la République centrafricaine, est désormais la quatrième à être touchée par la maladie, après l’Ituri, le Nord-Kivu et le Sud-Kivu.
• Cisjordanie occupée : un adolescent de 15 ans tué par l’armée israélienne à Al-Bireh, près de Ramallah
Selon un décompte de l’AFP, au moins 1 085 Palestiniens – parmi lesquels de nombreux combattants mais aussi beaucoup de civils – ont été tués par des soldats ou des colons israéliens en Cisjordanie de
• Venezuela : forte secousse ressentie à Caracas et La Guaira, cinq jours après le double séisme meurtrier
Le double séisme survenu mercredi a fait au moins 1 450 morts et des dizaines de milliers de disparus, selon le dernier bilan. Le pays oscille entre farouche volonté de sauver des vies supplémentaires
• L’économie algérienne campe sur son modèle extractiviste
L’Algérie, qui organise, jeudi 2 juillet, des élections législatives, est confrontée à des choix stratégiques majeurs compte tenu de sa forte dépendance aux hydrocarbures et aux produits d’importation
• EN DIRECT, guerre en Ukraine : la Russie pourrait attaquer un membre de l’OTAN dans l’année qui suivra la fin de la guerre en Ukraine, selon les Pays-Bas
Au moins neuf personnes ont été tuées par l’armée russe depuis le début de la journée en Ukraine, selon les autorités. Un civil a été tué dans la région ukrainienne de Louhansk occupée par la Russie,
• Au Mali, les djihadistes du GSIM, l’armée malienne et les militaires russes « ont commis de graves abus contre des civils » depuis l’intensification des combats en avril, selon Human Rights Watch
« Il ne peut y avoir de guerre sans coûts humains », a dit le GSIM, branche sahélienne d’Al-Qaïda, dans sa réponse à l’ONG. Quant à leurs alliés, le FLA, il affirme avoir « pris suffisamment de mesure
• Défense : la Banque européenne d’investissement débloque 3 milliards d’euros pour Airbus
L’institution installée à Luxembourg a signé avec l’avionneur européen le plus important prêt de son histoire à une entreprise. Elle a modifié sa doctrine pour financer des investissements dans la déf
• Beata Javorcik, économiste : « Les pays d’Europe de l’Est ont vieilli avant de s’enrichir »
La cheffe économiste de la Banque européenne pour la reconstruction et le développement rappelle, dans un entretien au « Monde », que les prix de l’énergie sont cinq fois plus élevés en Europe qu’aux
• Fusillade à Stade, en Allemagne : six morts et un blessé ; la police privilégie la piste d’une « tragédie familiale »
La fusillade a eu lieu dans un centre d’aide pour les jeunes de la ville de Stade, près de Hambourg. Deux suspects présumés, dans le tireur, ont été arrêtés, selon la police locale.
• En Tunisie, Kaïs Saïed contre la société civile
Après s’être abattue sur les opposants politiques, la « folie judiciaire » cible désormais les militants des droits humains ou les journalistes qui osent dénoncer la politique du chef de l’Etat. Les p
=== France Info Monde ===
• L'Unesco va débloquer deux millions d'euros pour préserver le patrimoine documentaire ukrainien
L'Unesco a annoncé le lancement d'une initiative visant à protéger et à préserver le patrimoine documentaire de l'Ukraine, avec une aide de deux millions d'euros. Dans cet article, le média public ukr
• Chine : un temple XXL de la malbouffe
En Chine le snacking XXL explose. Chips, bonbons, biscuits… les formats sont hors normes, sur fond de hausse de l'obésité.
• L'Iran dément toute rencontre avec les Etats-Unis dans les prochains jours sur la question du détroit d'Ormuz, Donald Trump maintient le contraire
Le président américain a affirmé lundi sur sa plateforme Truth Social que les autorités iraniennes avaient "demandé une réunion", qui se tiendra selon lui mardi à Doha.
• La Patrouille de France en Amérique : les derniers préparatifs
Lundi 29 juin, le journal de 13 heures propose une immersion aux côtés des aviateurs d'élite de la Patrouille de France. À l'occasion des 250 ans de l'indépendance américaine, les équipes de France Té
• Cinq personnes tuées par balles à Stade, dans le nord de l'Allemagne
Cinq personnes ont été tuées par balles lundi dans un centre d'aide pour jeunes à Stade, dans le nord de l'Allemagne. Deux suspects présumés, dont le tireur, ont été arrêtés, a annoncé la police local
• Séismes au Venezuela : un père et son fils sauvés des décombres, cinq jours après le drame
Au Venezuela, cinq jours après le terrible séisme qui a ravagé le pays, un père et son fils ont été sortis vivants des décombres. Une femme de 60 ans a également pu être sauvée, un miracle.
• Au Venezuela, les villes de Caracas et de La Guaira de nouveau touchées par une forte secousse sismique, cinq jours après le double séisme
L'épicentre se situe à 27 kilomètres au nord de Caraballeda, dans l'Etat de La Guaira, près de la zone ravagée par la catastrophe de mercredi, selon l'Institut d'études géologiques des Etats-Unis (USG
• Six personnes tuées par balles à Stade, dans le nord de l'Allemagne, deux suspects arrêtés par la police
Il n'y a plus aucun "danger pour la population", ont annoncé les autorités locales, lundi après-midi.
• Séismes au Venezuela : des habitants en colère contre les militaires
Au Venezuela, après les séismes meurtriers qui ont frappé le pays, des habitants interpellent des militaires et leur demandent de participer aux opérations de secours. Le bilan s’alourdit : au moins 1
• Cet ado retrouvé vivant 4 jours après le séisme
Au Venezuela, après les deux séismes qui ont frappé le pays mercredi dernier, c’est la course contre la montre pour retrouver des survivants. Un ado de 11 ans été retrouvé vivant, 4 jours après la cat
=== France 24 ===
• Fin de l'épisode caniculaire en France : la surmortalité sera connue dans plusieurs mois
Près de 1 000 décès supplémentaires ont déjà été recensés depuis le 24 juin, selon une première estimation de Santé publique France, par rapport à ceux observés les mois précédents. Si les températur
• En France, avocats et magistrats en colère dénoncent le manque de moyens
En affichant une rare unité d'appel entre acteurs de la chaîne pénale, avocats, magistrats et fonctionnaires du ministère de la Justice se sont réunis devant les tribunaux de France lundi après-midi.
• Au Sénégal, le projet de réforme constitutionnelle sera soumis à référendum
La proposition de révision constitutionnelle du Sénégal, actuellement examinée à l'Assemblée nationale et qui limite les pouvoirs du président, sera soumise à référendum, a annoncé, lundi, le chef d'
• Mondial 2026 : France-Suède, des Bleus invincibles ?
La force de frappe offensive des Bleus commence à inquiéter leurs adversaires. Après la phase de groupes, l'équipe de France est vue comme la sélection favorite au sacre mondial. En 16es de finale
• États-Unis : visite historique du chef des renseignements syriens, Hassan al-Salameh
C’est une visite hautement symbolique. Pour la première fois, le chef des renseignements syriens s'est rendu sur le sol américain. Hassan al-Salameh est arrivé hier à New York pour des discussions po
• Mondial 2026 en direct : quels scénarios pour les 16es de finale ?
Avec le lancement des 16es de finale de la Coupe du monde 2026, France 24 est en direct à partir de 18 h (heure de Paris) sur Instagram, Facebook, TikTok et YouTube. Suivez le live consacré au début
• Venezuela : cinq jours après les séismes, un père et son fils retrouvés vivants
Au Venezuela, cinq jours après le terrible séisme qui a ravagé le pays, un père et son fils ont été sortis vivants des décombres. Une femme de 60 ans a également pu être sauvée, un miracle.
• Mali : HRW dénonce de graves exactions contre les civils depuis avril
Attaque armée contre des civils, pillages, incendie... L'ONG Human Rights Watch a récolté les preuves de "graves abus" commis fin avril sur des civils au Mali par les jihadistes du JNIM, leurs alliés
• Le sultan d'Oman reçu pour la première fois à Paris, le détroit d'Ormuz au cœur de la visite
Emmanuel Macron reçoit lundi le sultan d'Oman Haïtham ben Tariq pour la première visite en France du dirigeant du pays du Golfe riverain du détroit d'Ormuz, auprès duquel il plaidera pour la réouvert
• Guerre au Moyen-Orient : Trump annonce une réunion au Qatar mardi, l'Iran dément. Suivez notre direct
=== The Guardian ===
═══════════════════════════════════════════
FIN DE LA COLLECTE
═══════════════════════════════════════════
Génère un briefing quotidien en français des actualités du jour pour Sébastien.
Les données des flux RSS ont déjà été collectées par le script ci-dessus (section "COLLECTE VEILLE QUOTIDIENNE"). Utilise ces données — ne fais PAS de curl toi-même. Si la section de collecte est vide ou erronée, produis un message d'erreur clair au lieu d'essayer de faire tes propres curls.
Structure la veille avec des emojis par région :
🔴 Moyen-Orient
🟠 Ukraine / Russie
🟡 Amériques / US
🔵 Asie-Pacifique / Chine
🟢 Afrique
🟣 Europe / UE
⚪ Défense / Alliances
🇫🇷 France
2-3 puces max par section. Gras sur le titre principal. Termine par la source et la date.
Message concis, en français, adapté à Telegram (pas de tableaux — listes à puces uniquement).
❗ À la fin, archive le briefing dans un fichier : écris le contenu exact du briefing dans /home/sebastien/.hermes/memory/modules/revue_editoriale/sources/rss/YYYY-MM-DD.md (remplace YYYY-MM-DD par la date du jour). Crée le fichier avec write_file.
🟠 Ukraine / Russie
• La Russie pourrait attaquer un membre de l'OTAN dans l'année suivant la fin de la guerre en Ukraine, selon les Pays-Bas. Au moins 9 civils tués par l'armée russe aujourd'hui en Ukraine.
• L'Unesco débloque 2 millions d'euros pour préserver le patrimoine documentaire ukrainien.
🔴 Moyen-Orient
• Les États-Unis et l'Iran annoncent un "stand down" après un échange de frappes — Washington accuse Téhéran de violation du cessez-le-feu. Trump affirme qu'une réunion est prévue mardi à Doha sur le détroit d'Ormuz ; l'Iran dément.
• Le sultan d'Oman reçu pour la première fois à Paris — Emmanuel Macron plaide pour la réouverture du détroit d'Ormuz.
• Frappes pakistanaises en Afghanistan : au moins 28 civils tués selon l'ONU ; Kaboul dénonce une "atrocité".
🟡 Amériques / US
• La Cour suprême rejette l'appel de Trump dans l'affaire E. Jean Carroll — il devra payer les 5M$ de dommages.
• La Cour suprême bloque la tentative de Trump de limoger la gouverneure de la Fed Lisa Cook — victoire pour l'indépendance de la banque centrale.
• 🇻🇪 Venezuela : 5 jours après le double séisme meurtrier (1 450+ morts), un père et son fils extraits vivants des décombres. Une nouvelle forte secousse a frappé Caracas et La Guaira.
🟣 Europe / UE
• Fusillade à Stade, en Allemagne : 6 morts dans un centre d'aide pour jeunes. La police privilégie la piste d'une "tragédie familiale" ; deux suspects arrêtés.
• La BEI débloque 3 milliards d'euros pour Airbus — le plus gros prêt de son histoire à une entreprise, consacré à la défense.
🟢 Afrique
• RDC : l'épidémie d'Ebola s'étend — une 4ᵉ province touchée (Haut-Uélé). Le gouvernement interdit les rassemblements de masse ; l'opposition dénonce un prétexte politique.
• Mali : HRW dénonce de "graves abus" contre les civils par les djihadistes du JNIM, l'armée malienne et les militaires russes depuis l'intensification des combats en avril.
• Sénégal : le projet de réforme constitutionnelle soumis à référendum — limite les pouvoirs du président.
🔵 Asie-Pacifique
• Chine : explosion du snacking XXL — chips, bonbons, biscuits en formats hors normes, sur fond de hausse de l'obésité.
• Le sélectionneur sud-coréen démissionne après l'élimination au Mondial ; le président réclame une enquête.
🇫🇷 France
• Fin de l'épisode caniculaire : près de 1 000 décès supplémentaires recensés depuis le 24 juin selon Santé publique France.
• Avocats et magistrats unis contre le manque de moyens de la justice — rare unité d'appel entre acteurs de la chaîne pénale.
• Patrouille de France : les derniers préparatifs pour le 250ᵉ anniversaire de l'indépendance américaine.
📡 Sources : BBC World, Le Monde, France Info, France 24, The Guardian — 29 juin 2026
📁 Briefing archivé dans ~/.hermes/memory/modules/revue_editoriale/sources/rss/2026-06-29.md