Le Signal

← Retour à l'accueil

Cron Job: Veille quotidienne d'actualités

Brief Publié le 2026-07-18

Cron Job: Veille quotidienne d'actualités


Job ID: 76ce033272c7

Run Time: 2026-07-18 16:09:07

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-18
═══════════════════════════════════════════

=== BBC World ===
• Russian online retail warehouses hit by deadly Ukrainian strikes
  Drones targeted Wildberries facilities near Moscow and in Tambov. Ukraine's leader called them "major logistics facilities" supplying "sanctioned components".

• Many Ukrainian soldiers outraged over removal of defence minister, troops tell BBC
  Protests erupted in Ukraine on Thursday after Mykhailo Fedorov's removal - and now soldiers are also criticising the move.

• US strikes hit Iran for seventh consecutive night
  Iran has retaliated against US allies in the region, with Kuwait reporting that a power and water plant had been hit.

• Trump threatens new Canada tariffs over fires sending 'filthy' air into US cities
  Canadian leader Mark Carney says both the US and Canada have an equal responsibility to fight climate change, which experts say are worsening wildfire conditions.

• Space start-up launches India’s first commercial rocket designed for orbit
  India's first space-tech unicorn Skyroot Aerospace successfully launched Vikram-1 on Saturday.

• Laos says it can't determine cause of  tourist deaths linked to methanol
  Officials say they have no evidence of poisoning over the 2024 deaths because autopsies were not conducted.

• German politician resigns over surrogacy child controversy
  Jens Spahn faced criticism over his use of a surrogate, a ban on which he previously backed.

• Indian activist on hunger strike for 20 days forcibly taken to hospital
  Cockroach Janta Party founder Abhijeet Dipke has now begun an indefinite fast in Sonam Wangchuk's place.

• White House defends Argentina team over Falklands banner
  The comments could further fuel the row over the incident, which has seen Downing Street back calls for Fifa to investigate.

• One anti-war critic fined, another held as Russia clamps down on dissent
  While Boris Nadezhdin is barred from running for parliament, blogger Ilya Remeslo is remanded in custody.


=== Le Monde International ===
• Ethiopie : manifestation de soutien au gouvernement, à Addis Abeba, et contre le recrutement forcé dans la région rebelle du Tigré
  Début juillet, l’ONG Human Rights Watch avait établi que les autorités régionales du Tigré recrutaient de force des hommes, dont des mineurs parfois âgés d’à peine 15 ans.

• Brésil : la Cour suprême interdit la visite du président argentin, Javier Milei, à l’ancien président Jair Bolsonaro, assigné à résidence
  Jair Bolsonaro purge une peine de vingt-sept ans de prison pour avoir ourdi un coup d’Etat en 2022. La justice a également décidé qu’il ne pourrait pas non plus recevoir de visites à « finalité politi

• En Inde, tollé après le coup de force du gouvernement contre Sonam Wangchuk, militant en grève illimitée de la faim
  L’activiste avait rejoint le mouvement des « cafards », la protestation des étudiants pour exiger la démission du ministre de l’éducation. Samedi 18 juillet, après vingt et un jours de grève de la fai

• EN DIRECT, guerre au Moyen-Orient : l’Iran n’a pas d’autre choix que de « donner une leçon aux agresseurs », prévient le vice-ministre des affaires étrangères iranien, Kazem Gharibabadi
  Les pays du Golfe ont par ailleurs condamné les attaques iraniennes contre des infrastructures civiles de Bahreïn, de la Jordanie et du Koweït, les qualifiant de « crimes de guerre ».

• Turquie : 119 suspects liés à l’organisation Etat Islamique arrêtés lors d’une vaste opération antiterroriste dans 30 provinces
  Les suspects sont accusés d’être membres de l’organisation Etat islamique, de faire sa propagande sur les réseaux sociaux et de le financer « par le biais des personnes en lien avec l’organisation ter

• Jens Spahn, chef des députés conservateurs allemands, critiqué pour avoir eu un enfant via la GPA, démissionne
  Figure de l’aile droite de la CDU, le parti du chancelier Friedrich Merz, Jens Spahn était attaqué au sein de son propre camp pour avoir eu avec son mari un enfant via une gestation pour autrui aux Et

• 30 000 morts en cinq jours : en Inde, le coût humain exorbitant des canicules
  Le pays le plus peuplé au monde est aussi l’un des plus exposé aux chaleurs humides extrêmes. Une étude vient de calculer pour la première fois la surmortalité liée aux chaleurs extrêmes en Inde, de p

• VIDEO Norvège : un incendie détruit plus d’une centaine de logements
  Dans le sud de la Norvège, une centaine d’habitants ont été évacués suite à l’un des plus grands feux qu’ait connus dans le pays.

• EN DIRECT, guerre en Ukraine : Volodymyr Zelensky revendique des frappes contre des sites logistiques en Russie
  Le président ukrainien a affirmé que l’Ukraine avait frappé deux importantes installations dans les régions de Moscou et de Tambov, utilisées selon lui pour acheminer des composants sous sanctions des

• L’Allemagne et la France relancent une coopération « réaliste » sur la défense
  Après l’échec du projet d’avion commun SCAF, Paris et Berlin ont annoncé, lors d’un conseil des ministres franco-allemand, une série d’initiatives pour entretenir la coopération sur des sujets stratég


=== France Info Monde ===
• Guerre un Ukraine : plus de 300 drones lancés vers Moscou
  Une attaque de drones ukrainienne a fait au moins 7 m0rts et 25 blessés à Kotovsk, petite ville de l'ouest de la Russie, samedi 18 juillet. Kiev a considérablement intensifié ses offensives ces derniè

• La justice brésilienne interdit une visite du président argentin Javier Milei à l'ancien chef d'Etat Jair Bolsonaro, assigné à résidence
  Le chef d'Etat argentin devait rendre visite le 25 juillet prochain à l'ancien président brésilien, condamné à 27 ans de prison et assigné à résidence pour avoir planifié un coup d'Etat en 2022.

• Aux Pays-Bas, un laboratoire clandestin de drogues de synthèse découvert à La Haye, des dizaines de logements évacués
  L'enquête a mené à trois autres arrestations après la première interpellation effectuée vendredi sur le site. Les suspects sont quatre hommes âgés de 34 à 71 ans, a précisé la police.

• Attaqué pour avoir eu un enfant par GPA, le chef des députés conservateurs allemands démissionne
  L'annonce du recours de Jens Spahn à une mère porteuse, jeudi, dans la presse allemande a entraîné de nombreuses critiques, alors que la pratique est interdite dans le pays.

• Un glissement de terrain meurtrier en Chine
  Un glissement de terrain, survenu vendredi 17 juillet, dans le sud-est de la Chine a fait au moins huit morts et 34 disparus, ont annoncé les médias d'Etat et les autorités locales. Le président Xi Ji

• Les médecins cubains à l'étranger, nouvelles victimes du bras de fer entre Washington et La Havane ?
  Cuba se débat entre pénuries et coupures d’électricité à répétition depuis le début de l'année et le blocus énergétique imposé par les Etats-Unis.

• Face à la multiplication des accidents en trottinette électrique, l'Italie impose immatriculation et assurance
  Depuis cette semaine en Italie, qu'on loue ou possède une trottinette électrique, il est devenu obligatoire d'immatriculer l'engin et de l'assurer. En cinq ans, le nombre annuel de tués a été multipli

• Incendies au Canada : des centaines de feux hors de contrôle, la tension monte avec les États-Unis, atteints par la fumée
  Les nombreux incendies poursuivent leur progression au Canada, malgré l'importante mobilisation des secours. Les évacuations se multiplient, tandis que la nappe de fumée traverse la frontière et alime

• Guerre au Moyen-Orient : le détroit d'Ormuz à nouveau bloqué après une septième nuit de bombardements américains contre l'Iran
  Les affrontements entre l'Iran et les États-Unis continuent de s'intensifier au Moyen-Orient. La situation perturbe de nouveau le trafic dans le détroit d'Ormuz, passage stratégique pour le commerce m

• EN IMAGES. Incendies au Canada : de Toronto à New York, plusieurs grandes villes nord-américaines aux prises avec une épaisse fumée en raison des feux
  Le Canada comptait 950 foyers actifs samedi. Portés par les vents, les panaches de ces incendies ont dégradé la qualité de l'air jusqu'à New York et Washington, poussant les autorités à recommander le


=== France 24 ===
• Au Mali, les indépendantistes touaregs attaquent un convoi de l'armée dans le Nord
  La ville d'Anéfis a été samedi le terrain de nouveaux affrontements avec l'attaque d'un convoi de l'armée malienne par des indépendantistes touaregs, rapportent des sources militaires et sécuritaires

• Des "crimes de guerres" comis par l'Iran à Bahreïn, au Koweit et en Jordanie dénoncés
  "Les actions de l'Iran représentent une escalade extrêmement dangereuse, une grave violation du droit international, ainsi que des crimes de guerre." Voici les mots du secrétaire général du Conseil d

• 🔴 En direct : les pays du Golfe qualifient de "crimes de guerre" les attaques iraniennes sur des infrastructures civiles

• Rattrapé par un scandale sur la GPA, le conservateur allemand Jens Spahn contraint à la démission
  Le chef des députés conservateurs allemands de la CDU-CSU, Jens Spahn, a démissionné samedi après des attaques au sein de son propre camp pour avoir eu, avec son mari, un enfant par le biais d'une ge

• Sécheresse, déforestation, déchets... Haïti face aux défis de la sécurité climatique
  À Haïti, le réchauffement climatique frappe la population de plein fouet. Températures extrêmes, sécheresse, ouragan et tempêtes tropicales… le pays est le plus vulnérable des Caraïbes. Cet environne

• Le retour du duo franco-allemand ? Macron et Merz renforcent leur alliance militaire
  L'Allemagne va participer "avant la fin de l'année" à un exercice français de dissuasion nucléaire, ont annoncé les dirigeants allemand et français hier soir à l'issue d'un conseil des ministres bila

• Mondial 2026 : La der' de Deschamps, Zidane successeur annoncé
  Didier Deschamps va connaitre son 187e et dernier match à la tête de l'Équipe de France pour le match de la 3e place de cette Coupe du monde contre l'Angleterre. Quel bilan pour le sélectionneur reco

• Championnat des nations : le XV de France s'impose à nouveau largement face au Japon
  Le XV de France a largement dominé le Japon (42-15) samedi à Tokyo, lors de la troisième journée du Championnat des nations. Les Bleus ont inscrit six essais, dont des doublés de Matthieu Jalibert et

• 🔴 En direct : le Koweït accuse l'Iran de cibler des sites civils et des infrastructures essentielles

• Show de mi-temps à l'américaine, bagues aux vainqueurs : une finale de Mondial façon Super Bowl
  La Coupe du monde 2026 va se terminer avec éclat, dimanche, lors de la 104e et dernière rencontre de la compétition. Entre spectacles, récompenses et prix démesurés, la finale entre l'Espagne et l'Ar


=== 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 Quotidien — 18 juillet 2026


🔴 Moyen-Orient


🟠 Ukraine / Russie


🟡 Amériques / US


🔵 Asie-Pacifique


🟢 Afrique


🟣 Europe / UE


⚪ Défense / Alliances


🇫🇷 France




📡 Sources : BBC World, Le Monde International, France Info, France 24, The Guardian — 18 juillet 2026


🗂️ Briefing archivé dans revue_editoriale/sources/rss/2026-07-18.md