Skip to content
Back to skills

Watch Changes

ASecurity

Met en place et exploite une veille de changements de pages et de flux, en local : changedetection.io (Apache-2.0, sélecteurs CSS/XPath/jq, notifications Apprise) pour surveiller des pages, RSSHub (AGPL-3.0) pour transformer des sites sans flux en RSS, puis route chaque changement détecté vers un fichier de veille daté ou un message sur le bus des agents. À utiliser quand l'utilisateur veut « être prévenu quand cette page change », « surveiller les nouveautés d'un site », « générer un flux RS...

  • 32 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentspythonbashdocker

Works with

  • cli

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add GeekFamilyCorp/TricorderKit --skill watch-changes --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Watch Changes?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Watch Changes
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/geekfamilycorp-watch-changes/badge)](https://www.skillsdirectory.com/skills/geekfamilycorp-watch-changes)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: watch-changes
description: >-
  Met en place et exploite une veille de changements de pages et de flux, en local : changedetection.io
  (Apache-2.0, sélecteurs CSS/XPath/jq, notifications Apprise) pour surveiller des pages, RSSHub
  (AGPL-3.0) pour transformer des sites sans flux en RSS, puis route chaque changement détecté vers un
  fichier de veille daté ou un message sur le bus des agents. À utiliser quand l'utilisateur veut
  « être prévenu quand cette page change », « surveiller les nouveautés d'un site », « générer un
  flux RSS pour un site qui n'en a pas », « brancher une veille sur le digest », « configurer
  changedetection », « quelle route RSSHub pour ce site », ou quand un changement a été détecté et
  qu'il faut le consigner. Ne pas utiliser pour extraire des données structurées d'une page →
  scrape-adaptive, ni pour surveiller l'état d'un service ou d'un timer (observabilité).
license: MIT
allowed-tools: Read, Write, Grep, Glob, Bash(python3:*), Bash(docker:*), WebFetch
metadata:
  version: "0.1.0"
  author: GeekFamilyCorp
  status: public
  plugin: tk-knowledge
compatibility: Docker local (conteneurs changedetection.io et RSSHub, en 127.0.0.1) ; Playwright/sockpuppetbrowser optionnel pour les pages JS ; dossier de veille versionné et bus des agents (fichiers) pour la sortie.
---

# watch-changes — Savoir qu'une page a changé, et en faire quelque chose

Une veille a deux moitiés : **détecter** (l'outil regarde à notre place) et **consigner** (le
changement devient une entrée datée que quelqu'un — humain ou agent — lira). Beaucoup de veilles
meurent parce que la seconde moitié manque : l'outil notifie dans le vide. Ce skill couvre les deux.

## 1. Choisir l'outil

| Besoin | Outil | Pourquoi |
|---|---|---|
| Une page précise change (prix, date, liste) | **changedetection.io** | diff ciblé par sélecteur, historique, notifications |
| Un site publie régulièrement sans flux RSS | **RSSHub** | route → flux RSS lisible par tout lecteur ou par changedetection |
| Un site a déjà un flux RSS/Atom | ni l'un ni l'autre : lire le flux directement | moins de pièces mobiles |
| Il faut des champs structurés (rang, version…) | → `scrape-adaptive` | la veille dit « ça a bougé », pas « voici les données » |

Vérifier d'abord l'existence d'un flux natif (`<link rel="alternate" type="application/rss+xml">`,
`/feed`, `/rss`) : c'est le cas le plus fréquent et le plus stable.

## 2. Installer (une fois)

Les deux outils tournent en conteneurs locaux, ports liés à `127.0.0.1` uniquement — rien
n'est exposé au LAN. Compose générique, variables, sélecteurs, notifications :
`references/changedetection.md` ; routes utiles et déploiement : `references/rsshub.md`.

Toute installation ou modification de conteneur est **proposée** avant d'être exécutée (R53) :
un `docker compose up` ne casse rien en général, mais un port déjà pris ou un volume mal nommé se
règle avant, pas après.

## 3. Configurer une surveillance qui tient

1. **Sélecteur étroit** : surveiller le bloc utile (`.liste-nouveautes`), pas la page entière —
   sinon chaque bannière déclenche une fausse alerte.
2. **Filtres** : ignorer dates du jour, compteurs, publicités (texte à ignorer, regex).
3. **Fréquence** honnête : une page hebdomadaire se vérifie une fois par jour, pas toutes les 5 min.
   La veille est un client comme un autre : User-Agent nommé, `robots.txt` respecté (R74).
4. **Notification Apprise** vers un point que le pipeline sait lire : un webhook local, un
   fichier, un e-mail dédié — pas une messagerie personnelle qu'on ne relira pas.
5. **Étiquette** (tag) par thème pour retrouver les surveillances d'un même domaine.

## 4. Quand un changement est détecté → consigner

Un changement produit **une entrée**, jamais deux fois la même (dédoublonner par hash du diff) :

1. Créer `claude/veilles/<slug>/<AAAA-MM-JJ>_<slug>_<hash8>.md` avec : source (URL), détectée le
   (ISO 8601), sélecteur, **diff** (extrait borné, ~40 lignes), lien vers l'historique
   changedetection, statut `a_qualifier`.
2. Ajouter une ligne au `JOURNAL_<slug>.md` du même dossier (date · résumé en une ligne · lien).
3. Si le bus des agents est en place : déposer un message `canal_agents` du type
   `{"event":"veille_changement","slug":…,"fichier":…,"hash":…}` — un message par changement,
   posté après le fichier, jamais avant (R55 : garde séquentielle).
4. Qualifier ensuite, à la main ou par un agent : `pertinent` / `bruit` / `a_collecter`
   (→ `scrape-adaptive` si des données structurées sont à extraire).

Ce qui est consigné est ce qui existe (R79) ; une notification lue puis oubliée n'existe pas.

## 5. Entretien

- Chaque mois : lister les surveillances sans changement depuis 90 jours (la page est morte ou le
  sélecteur l'est) et celles qui déclenchent tous les jours (sélecteur trop large).
- Sauvegarder le volume `datastore` de changedetection avec les autres états (NO-DROP).
- Une route RSSHub qui casse est un signal, pas une panne à cacher : consigner, chercher le flux
  natif, sinon basculer vers une surveillance changedetection de la page.

## Changelog

- **2026-09-07 — 0.1.0** : version initiale. changedetection.io + RSSHub, choix d'outil, réglages
  anti-bruit, procédure de consignation fichier de veille + bus.

Files in this skill

  • SKILL.md5.3 KB
  • references/changedetection.md3.2 KB
  • references/rsshub.md2.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.