Le Signal

← Retour à l'accueil

Cron Job: Veille quotidienne d'actualités

Brief Publié le 2026-07-23

Cron Job: Veille quotidienne d'actualités


Job ID: 76ce033272c7

Run Time: 2026-07-23 16:08:31

Schedule: 0 16 *


Prompt


[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: {}



News Briefings


Research and deliver current-events briefings to the user's messaging platform. Supports two modes:


Mode 1: One-shot queries (live conversation)


1. Gather news data


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.


2. Structure the summary


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.


3. Delivery to messaging platform


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.


Mode 2: Recurring cron briefings


Set up automated daily/weekly briefings that deliver directly to the user's messaging platform on a schedule.


Creating the job


Use cronjob(action='create') with:


Example 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',
)

Rules for cron prompts



Troubleshooting


Cron job not running despite being scheduled


If cronjob(action='list') shows the job as state: scheduled but last_run_at stays null even after next_run_at has passed:



Intermittent Broken pipe on feeds that normally work


Even 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.



Cron job shows 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:

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.


When a cron job shows last_status: "error" but last_delivery_error: null:


Local archiving


Each 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/:


Pre-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.


Schedule examples


FrequencyCron expression
Daily at 16h0 16 *
Daily at 9h0 9 *
Weekly Sunday 16h0 16 0
Every 2 hoursevery 2h

Pitfalls



Bundled Scripts


The 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.


Related Skills



References



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.]


Script Output

The following data was collected by a pre-run script. Use it as context for your analysis.


═══════════════════════════════════════════
 COLLECTE VEILLE QUOTIDIENNE — 2026-07-23
═══════════════════════════════════════════

=== BBC World ===
• Oil prices hit $100 for the first time since May
  The price of Brent crude rose more than 6% on Thursday as the war in the Middle East continues to escalate.

• Saudis must recognise Israel for nuclear deal, says Trump
  The US president says the landmark agreement to help Saudis develop nuclear energy is dependent on it joining the Abraham Accords.

• France evacuates 20,000 as wildfires spread in south-west
  Most of those evacuated were tourists from campsites around Arcachon Bay in France's Gironde region.

• Yemen's Houthis attack Saudi tanker as US launches more Iran strikes
  The Iran-backed group, which previously announced a "maritime embargo" against Saudi Arabia, also claims to have hit another vessel.

• 'I am still alive': Indian activist on hunger strike for 26 days loses 11kg
  Sonam Wangchuk has been the main draw at the Cockroach Janta Party (CJP) protest in Delhi.

• Canada's 'powerful' dairy sector is in Trump's trade crosshairs
  Canada's dairy supply management system is in the spotlight after the US president singled it out as one of three main irritants used to justify new tariffs.

• South Korea woman acquitted of murdering newborn after hospital delivery
  The woman, who had wanted to end her pregnancy at 36 weeks, gave birth to a baby who doctors later killed.

• 'Let's enjoy the ride' says Elon Musk, as AI fears mount
  Talking to The Economist, Musk said he doesn't care if people hate him and said he was not a racist.

• Russia's businesses under strain from Ukraine's attacks on Wildberries
  Ukrainian drones have hit several retail warehouses belonging to Russia's biggest online retailer Wildberries in a matter of days.

• Google burning through cash with spiralling AI costs
  The company said earlier this year it expected to spend as much as $190bn on AI investments.


=== Le Monde International ===
• Russie : le Kremlin menace de « mort civique » les opposants en exil
  Les députés de la Douma ont adopté, mercredi, une loi privant les opposants ayant fui la Russie d’accès aux services bancaires et aux transactions immobilières dans le pays, mais aussi aux services co

• Ma vie d’exilée russe à Paris : à Sciences Po, « je dois intervenir en tant que fondatrice d’un média et non comme victime de la répression »
  « Une Russe à Paris » (3/6). La journaliste Elizaveta Osetinskaya, arrivée en France en 2022, intervient dans cet établissement d’études supérieures. C’est, selon elle, un des plus ouverts en France,

• EN DIRECT, guerre au Moyen-Orient : la poursuite du conflit risque d’entraîner une inflation plus forte que prévu, estime la présidente de la BCE, Christine Lagarde
  La présidente de la Banque centrale européenne a jugé « alarmante » l’extension du conflit à la mer Rouge, où des rebelles houthistes du Yémen, alliés de l’Iran, ont revendiqué des frappes contre deux

• « Il sera difficile de me défaire du traumatisme que j’ai subi » : après une année sous la menace d’une expulsion, une Franco-Algérienne obtient l’annulation de son OQTF
  En juin 2025, cette femme, naturalisée française en 1997, s’est vu notifier une obligation de quitter le territoire français. Depuis, elle a vécu dans la crainte d’être arrêtée, avant que la justice n

• La Grèce approuve l’achat d’un bouclier de défense aérienne israélien, nouvelle étape d’un rapprochement avec l’Etat hébreu
  Les Grecs vont se doter d’un système intégré valant 3 milliards d’euros, après la validation de l’opération, jeudi 23 juillet, par le Conseil de défense. Cet achat fait partie d’un vaste programme de

• Mali : l’ONU exige une enquête sur les tortures et les meurtres après une attaque au nord du pays
  Le Haut-Commissariat des Nations unies aux droits de l’homme a exigé jeudi une enquête indépendante après l’exécution de dizaines de militaires maliens qui s’étaient rendus, lors d’une attaque de sépa

• La Commission européenne inflige une amende de 890 millions à Google, au risque de provoquer le courroux de Trump
  L’amende sanctionne notamment les pratiques du moteur de recherche grâce auxquelles le groupe américain met systématiquement en avant ses propres services, au détriment de ses concurrents.

• EN DIRECT, guerre en Ukraine : Volodymyr Zelensky propose au très populaire ex-ministre de la défense Mykhaïlo Fedorov un poste de vice-premier ministre
  « Je crois que Mykhaïlo [Fedorov] fait partie de l’équipe », a déclaré le président ukrainien, lui proposant d’être son vice-premier ministre chargé des innovations militaires. Mykhaïlo Fedorov a été

• Nucléaire saoudien : Donald Trump conditionne l’accord à la reconnaissance d’Israël par Riyad
  Le président américain a annoncé que l’accord sur le nucléaire civil entre les Etats-Unis et l’Arabie saoudite était « entièrement conditionné » à l’adhésion de Riyad aux accords d’Abraham, actant de

• Au Brésil, la politique de prévention des incendies du président Lula porte ses fruits
  Le pays sud-américain a enregistré en 2025 une forte baisse des surfaces brûlées, de l’ordre d’un tiers par rapport à l’année précédente. L’effet probable d’un renforcement de la prévention porté par


=== France Info Monde ===
• Dans le Pas-de-Calais, 150 migrants secourus au large de Berck-sur-Mer
  Il s'agit de l'un des sauvetages les plus importants "de l'histoire de la crise migratoire", selon la SNSM du secteur.

• A Gaza, la sécurité alimentaire s'améliore mais reste fragile, selon l'ONU
  Un seul point de passage pour l'aide est ouvert à Gaza. L'acheminement des biens essentiels y reste donc limité, relate le Programme alimentaire mondial.

• Promenade dans Balat, le quartier aux mille maisons colorées, parmi les plus photographiés d'Istanbul
  Le "13 Heures" vous emmène en balade, direction Istanbul, en Turquie. Visite guidée de Balat et ses vieilles maisons colorées, l'un des quartiers les plus photographiés de la ville.

• Affaire Epstein : après la mort de Daniel Siad, quatre questions sur les suites de l'enquête en France
  L'homme de 69 ans, rabatteur présumé de Jeffrey Epstein, était visé par au moins six plaintes, notamment pour viols. Retrouvé mort à son domicile lundi, il n'avait jusqu'ici jamais été entendu par la

• Les Etats-Unis conditionnent l'accord sur le nucléaire civil avec l'Arabie saoudite à une reconnaissance d'Israël
  Cet accord ouvre la voie à la construction de centrales nucléaires en Arabie saoudite, qui dépend pour l'heure de centrales au gaz et au pétrole pour son électricité. Mais des critiques s'élèvent sur

• Un petit chien californien retrouvé après deux semaines
  En Californie, Prieta, un petit chien, était porté disparu depuis les festivités du 4 juillet. Il a finalement été retrouvé nageant dans la baie de San Francisco le 18 juillet. Les pompiers l'ont seco

• Le Premier ministre indien, Narendra Modi, promet de punir "sévèrement" les responsables des fraudes aux examens, à l'origine de la colère étudiante
  La police de la capitale a sévèrement réprimé lundi une manifestation de dizaines de milliers d'étudiants et de jeunes qui tentaient de rallier le Parlement en exigeant la démission du ministre de l'E

• Google sanctionné de 890 millions d'euros d'amendes par l'Union européenne pour des atteintes à la concurrence
  Le géant américain se voit notamment reprocher d'avoir mis en avant ses propres services dans son moteur de recherche. Une sanction qui risque de provoquer la colère de Donald Trump.

• Affaire Epstein : l'association Innocence en danger assigne l'État français pour "déni de justice" après la mort de l'homme suspecté d'être le rabatteur du pédocriminel
  Daniel Siad, visé par plusieurs plaintes dont deux pour viols, n'a jamais été entendu par la justice alors que les premiers signalements remontent à l'été 2019.

• La Russie met en garde les Etats-Unis contre la poursuite "inadmissible" de livraisons d'armes américaines à l'Ukraine
  Le chef de la diplomatie russe, Sergueï Lavrov, a rencontré son homologue américain Marco Rubio en marge d'un sommet à Manille, la capitale des Philippines.


=== France 24 ===
• Tour de France : Richard Carapaz remporte la 18e étape au sommet d'Orcières Merlette
  Victoire pour le coureur équatorien Richard Carapaz en solitaire, jeudi, entre Voiron et Orcières Merlette lors de la 18e du Tour de France. Il s'agit de sa deuxième victoire sur la Grande Boucle. Le

• Mauritanie : le paradis menacé d’une communauté de pêcheurs
  En Mauritanie, dans le parc national du Banc d’Arguin situé entre le désert et l'océan Altantique, les Imraguens pratiquent une technique de pêche à pied depuis des siècles. Le savoir-faire tradition

• Istanbul : balade à Balat, quartier coloré où se croisent héritages d’Europe et d’Asie
  Dans le quartier de Balat, sur la rive européenne d’Istanbul, ruelles pavées, maisons aux façades colorées et lieux de culte racontent la ville-monde qu’est Istanbul. Reportage France 2.

• Espagne : un mégafeu ravage plus de 30 000 hectares en Castille
  En Espagne, un mégafeu parti le 16 juillet dans la Sierra Norte de Guadalajara, en Castille-La Manche, a déjà calciné environ 30 à 32 000 hectares. Correspondance de Maude Petit-Jové depuis Madrid po

• En Tunisie, les coupures d'électricité se multiplient en pleine canicule
  En Tunisie, une canicule frappe le pays depuis une dizaine de jours. Les températures grimpent et les délestages alimentent la colère. De nombreux Tunisiens dénoncent le manque d'anticipation des aut

• Un pub ferme chaque jour au Royaume-Uni, le Premier ministre leur donne un coup de pouce
  Bien décidé à montrer qu'il agit pour améliorer l'économie de son pays et la vie de ses concitoyens, le nouveau Premier ministre britannique, Andy Burnham, a pris jeudi une troisième mesure économiqu

• Au Cap-vert, le pillage de sable défigure le littoral
  Au Cap-Vert, il ne reste presque plus rien de l’image de carte postale de certaines plages de l’île de Santiago. Pendant des décennies, l’extraction illégale de sable marin pour le secteur du bâtimen

• Au Rwanda, lancement de la troisième édition du festival Kigali Ciné Junction
  À Kigali, le rendez-vous désormais bien ancré du cinéma africain a rouvert ses portes. Le festival Kigali Cine Junction offre aux Rwandais cinq jours de projections, d'ateliers et de rencontres, entr

• Au Tchad, 22 000 agents déployés pour évaluer la population du pays
  Le Tchad a lancé le troisième Recensement Général de la Population. Une opération d’ampleur nationale qui n’avait plus été réalisée depuis 2009. L'objectif pour les autorités de Ndjamena est de dispo

• Tunisie : des coupures d'électricité après des températures records
  La tension monte après des coupures d'électricité répétées dans plusieurs régions liées à des opérations de délestage de la Société tunisienne de l'électricité et du gaz. Depuis une dizaine de jours,


=== 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.


Response


Briefing archivé dans /home/sebastien/.hermes/memory/modules/revue_editoriale/sources/rss/2026-07-23.md