Job ID: 76ce033272c7
Run Time: 2026-06-26 16:06:54
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-26
═══════════════════════════════════════════
=== BBC World ===
• Earthquake is devastating blow to Venezuela at time of uncertainty
The twin quakes come less than six months after Venezuela's then-leader Nicolás Maduro was seized by US forces.
• Aerial footage reveals destruction in coastal Venezuela
Multi-storey buildings have collapsed in La Guaira following two major earthquakes on Wednesday.
• UN pauses Strait of Hormuz evacuation plan after cargo ship attacked
The ship was reportedly struck by an "unknown projectile" near Oman but no casualties were reported.
• Christmas market attacker jailed for life for murdering six in Germany
A nine-year-old and five women were killed when Taleb Al-Abdulmohsen drove into the market in 2024.
• Senior Ukrainian intelligence official jailed for life for spying for Russia
Col Dmytro Kozyura agreed to share state secrets and systematically disclosed classified information, prosecutors say.
• Reflecting Pool liner cut with sharp knife or razor, National Park Service says
Earlier in the week Donald Trump blamed vandals for "a 300 foot long gash" in the pool and accused someone of putting fertiliser in the water.
• Four men held over child marriage in Sierra Leone appear in landmark court case
It relates to a 17-year-old girl - four men including her father and husband face years in jail if convicted.
• Canada eligible to join Eurovision competition
Prime Minister Mark Carney raised the idea of Canada joining the song contest in his 2025 budget.
• US sanctions Rwanda gold refinery accused of smuggling DR Congo's minerals
The US alleges Gasabo Gold Refinery smuggled at least 60kg of gold in early 2026.
• Asia stock markets slide as tech shares slump
Trading on South Korea's Kospi index was halted for the third time this week to prevent panic selling.
=== Le Monde International ===
• Les Etats-Unis sanctionnent des Rwandais, soupçonnés de trafiquer de l’or pillé en RDC
Le Trésor américain justifie sa décision par son « engagement » à mettre en œuvre l’accord de paix, signé le 5 décembre 2025 sous les auspices de Donald Trump par la République démocratique du Congo (
• Safran veut racheter le fabricant français de drones sous-marins Exail
L’industriel de l’aéronautique et de la défense a fait une offre pour racheter l’entreprise à la famille Gorgé pour plus de 2,2 milliards d’euros.
• Fonctionnaires européens : la France conteste en justice la décision de la Commission de donner un avantage à l’embauche aux nationalités sous-représentées dans ses effectifs
Avec la Belgique et après l’Espagne, Paris saisit la Cour de justice de l’Union européenne pour s’opposer à une forme de discrimination positive qu’elle juge contraire aux traités.
• A Pékin, un petit avion s’écrase dans le plus haut gratte-ciel de la ville
La cause de l’incident n’est pas claire et les autorités n’ont pas publié de communiqué à ce sujet.
• L’épidémie d’Ebola en RDC a fait 304 morts, selon le dernier bilan des autorités
Le virus a contaminé 1 115 personnes en République démocratique du Congo depuis le 15 mai, selon les chiffres de l’Institut national de santé publique.
• Coupe du monde 2026 : après un début de tournoi calamiteux, le Sénégal doit « provoquer une révolte à tous les niveaux »
A la suite de leurs deux défaites, contre la France et la Norvège, les Lions de la Teranga doivent impérativement l’emporter, vendredi 26 juin, face à l’Irak pour espérer conserver une chance de se qu
• Volkswagen pourrait supprimer 100 000 emplois dans le monde
Le géant automobile allemand, qui emploie 657 000 salariés, est confronté à une chute de ses ventes en Chine, autrefois son premier marché, et alors que les exportateurs chinois lui imposent une redou
• Le pape Léon XIV célébrera une messe le 26 septembre sur la place de la Concorde et les Champs-Elysées
Son prédécesseur, François, s’était rendu en France à trois reprises trois fois – à Strasbourg en 2014, à Marseille en 2023 et en Corse, à Ajaccio, en décembre 2024 –, mais n’avait jamais accepté une
• En Ukraine, en temps de guerre, ceux qui partent, ceux qui restent : la vie suspendue à Sloviansk et Kramatorsk
« Donbass, la guerre jusqu’à l’usure » (2/2). Dans cette région industrielle occupée à 80 % par les troupes russes, les villes de Sloviansk et de Kramatorsk sont devenues le cœur du dispositif défensi
• La Suède discrimine les migrants d’origine rom en leur refusant des soins, selon le Conseil de l’Europe
Une réclamation avait été déposée en 2023 par les ONG Amnesty International et Médecins du Monde. Selon les experts, Stockhom contrevient à trois des dispositions de la Charte sociale européenne.
=== France Info Monde ===
• L'Union européenne souhaite prolonger la protection accordée aux réfugiés ukrainiens mais la refusera aux hommes en âge de combattre
En 2025, Bruxelles avait engagé une réflexion sur l'avenir de ce statut, encourageant les Etats membres à pérenniser le statut de ceux restant en Europe et préparer de premiers retours vers l'Ukraine.
• La Cour suprême américaine offre deux victoires à Donald Trump sur sa politique anti-immigration
La plus haute juridiction des Etats-Unis a donné raison à l'administration américaine dans deux décisions distinctes, jeudi, notamment concernant le statut de protection temporaire octroyé à 350 000 H
• Séismes au Venezuela : les recherches de survivants se poursuivent
Une atmosphère de désolation plane sur le Venezuela, suite aux séismes qui ont frappé le pays. Au moins 235 morts et plus de 4 000 blessés sont à déplorer. Les recherches se poursuivent pour tenter de
• En Allemagne, l'auteur de l'attaque du marché de Noël de Magdebourg, qui avait fait six morts, condamné à perpétuité
Le tribunal a reconnu Taleb Jawad al-Abdulmohsen coupable de six meurtres, et retenu la particulière gravité de la culpabilité.
• Le pape Léon XIV célébrera une messe le 26 septembre sur la place de la Concorde et les Champs-Elysées
Cette cérémonie géante, organisée dans le cadre de la visite du souverain pontife en France, devrait attirer 500 000 personnes, selon le diocèse de la capitale.
• DIRECT. Séismes au Venezuela : un nouveau bilan fait état d'au moins 589 morts, annonce la présidente par intérim
Des équipes de sauvetage venues d'une quinzaine de pays sont en cours de déploiement pour participer aux recherches de survivants.
• Canicule en Europe : l'ONU juge "possible" qu'il s'agisse d'un phénomène record
La porte-parole de l'Organisation météorologique mondiale a alerté vendredi sur "des impacts majeurs" du phénomène "sur la santé humaine, les écosystèmes, l'agriculture, la productivité du travail".
• REPORTAGE. "C'est vraiment comme dans les BD !" : on a visité une partie du nouveau parc Astérix, en Allemagne
Un nouveau parc d'attractions dédié au célèbre Gaulois et ses compères va ouvrir en plusieurs étapes près de Leipzig, dans l'est du pays. Une première partie est accessible au grand public, alors que
• L'Union européenne ouvre une enquête contre Sanofi, soupçonné d'entrave à la concurrence sur le marché des vaccins antigrippaux
Si ces pratiques étaient confirmées, l'exécutif européen pourrait prononcer contre le géant pharmaceutique une sanction pour abus de position dominante, sous la forme d'une amende.
• La France a intercepté un cinquième pétrolier de la "flotte fantôme" russe
La marine française a intercepté mardi un nouveau pétrolier soupçonné de faire partie de la "flotte fantôme" russe, ont annoncé jeudi 25 juin Emmanuel Macron et la préfecture maritime de Méditerranée.
=== France 24 ===
• Canicule en France : les hôpitaux parisiens "saturés"
De premiers décès probablement liés à la chaleur, les hôpitaux parisiens "saturés": restée confrontée jeudi à une canicule "totalement inédite", la France s'inquiète de ses conséquences sanitaires, m
• La Cour suprême américaine lève une protection juridique contre l'expulsion de 350 000 Haïtiens
La Cour suprême américaine majoritairement conservatrice a accordé jeudi un succès à l'administration Trump dans sa politique d'expulsions massives d'immigrés en l'autorisant à révoquer un statut pro
• Mathieu Forget, l'homme qui défie la gravité
Danseur, photographe, directeur artistique…Mathieu Forget a fait de la lévitation sa signature. Surnommé "the flying man", ou "l'homme volant" il célèbre dix ans de carrière avec "Lévitation", un liv
• Voyageur atteint d'Ebola : Air France a interrompu ses vols Paris-Kinshasa, reprise samedi
Air France a suspendu ses vols entre Paris et Kinshasa à la suite de l'identification d'un cas positif au virus Ebola ayant voyagé sur cette ligne mardi, a indiqué vendredi la compagnie à l'AFP. L'ép
• La Crimée placée en "situation d'urgence" après les attaques ukrainiennes
La Crimée annexée a été placée en "situation d'urgence" au niveau régional, ont annoncé vendredi les responsables russes locaux, un régime visant à faire face aux conséquences des récentes frappes uk
• Séisme au Venezuela : les recherches pour retrouver des survivants s'intensifient
Les recherches pour retrouver des survivants s'intensifient vendredi au Venezuela, où l'aide internationale commence à arriver, presque deux jours après deux séismes dévastateurs dont le bilan a plus
• Le Paris des Arts à Fès, au Maroc!
Cette semaine, le Paris des Arts pose ses caméras à Fès, cité impériale marocaine, à l’occasion de la 29ème édition du Festival des musiques sacrées du monde, qui met à l’honneur le dialogue des cult
• Pourquoi le dôme de chaleur est un phénomène météo et pas une “attaque” climatique contre la France
La canicule actuelle aurait été provoquée par une manipulation du climat : un dôme de chaleur aurait été créé artificiellement au-dessus de la France. C’est ce que prétendent des internautes qui esti
• Canicule en France : les écoles face à l'urgence de la rénovation
Plus de 130 millions d'euros pour financer en urgence des systèmes de rafraîchissement et des travaux dans les écoles, particulièrement touchées par la canicule, ont été annoncés vendredi par EDF, la
• Canicule : à Paris, le festival Solidays annulé, la Marche des Fiertés reportée
Le festival Solidays a été annulé et la Marche des Fiertés reportée, vendredi, à la demande du préfet de police de Paris qui menaçait de les interdire en invoquant la persistance d'une canicule metta
=== 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.
Deux séismes majeurs frappent le Venezuela : au moins 589 morts et plus de 4 000 blessés selon le dernier bilan de la présidente par intérim. Les secouristes d'une quinzaine de pays sont déployés à La Guaira, où des immeubles se sont effondrés. Ces cataclysmes surviennent moins de six mois après l'arrestation de Nicolás Maduro par les forces américaines.
_Sources : BBC World, Le Monde, France Info, France 24 • 26 juin 2026_
📁 Archive locale sauvegardée : revue_editoriale/sources/rss/2026-06-26.md