Que fait tripwire ?
Tripwire vous indique quand un concurrent change une page importante et ce qu'il faut faire.
Le scanner est scripts/tripwire.py (Python 3.9+, nécessite pyyaml, pas de clé API).
Il conserve tout près de la liste de surveillance, watch/targets.yml dans le projet actuel :
watch/targets.yml ce qui doit être surveillé
watch/snapshots/*.txt dernier texte lisible de chaque page
watch/data/changes.json chaque événement de changement, le plus récent en premier
watch/data/status.json état de santé par page depuis la dernière analyse
watch/reports/latest.md Rapport Markdown de la dernière analyse ou du digest
SKILL_DIR ci-dessous désigne le répertoire contenant ce fichier.
1. Assurez-vous qu'une liste de surveillance existe
Si watch/targets.yml n'existe pas, exécutez python SKILL_DIR/scripts/tripwire.py init, puis demandez à
l'utilisateur quels concurrents et pages surveiller et écrivez-les dans le fichier. Bonnes pages : accueil,
tarifs, changelog / notes de version, carrières, la page "vs" ou de comparaison. Utilisez l'URL officielle ; vérifiez qu'elle se charge.
Pour ajouter ou supprimer quelque chose, modifiez watch/targets.yml (mettez enabled: false pour mettre une page en pause).
2. Obtenez les données
Choisissez ce que l'utilisateur a demandé :
| Demande | Commande |
|---|---|
| "ce qui a changé" / "exécuter une analyse" (pas d'analyse aujourd'hui) | python SKILL_DIR/scripts/tripwire.py scan |
| un concurrent | python SKILL_DIR/scripts/tripwire.py scan --only "Nom" |
| "cette semaine" / digest | python SKILL_DIR/scripts/tripwire.py report --days 7 |
| "le mois dernier" | python SKILL_DIR/scripts/tripwire.py report --days 30 |
Si le dépôt a déjà une analyse d'aujourd'hui (vérifiez last_run dans watch/data/status.json), sautez
l'analyse et lisez le rapport. Une première analyse d'une page n'enregistre qu'une référence ; dites-le, et
que les changements apparaîtront à partir de la prochaine analyse.
Ensuite, lisez watch/reports/latest.md (ou le rapport imprimé). Pour tout changement que vous allez
souligner, regardez les lignes added / removed complètes dans watch/data/changes.json pour les
citer avec précision.
3. Rédigez le compte-rendu GTM
Répondez dans la langue de l'utilisateur. Restez court et commencez par ce qui compte :
- Principaux mouvements (max 5, les plus importants en premier). Pour chacun : concurrent, ce qui a changé en termes simples, avec le détail concret (ancien → nouveau prix, nouveau nom de fonctionnalité, nouveau titre). Liez la page.
- Pourquoi c'est important : une ligne chacun. Tarifs et packaging > nouveau produit / lancement > positionnement / titre > signaux d'embauche > ajustements de copie.
- Que faire : 1 à 3 actions concrètes (mettre à jour la battlecard, répondre sur notre page de tarifs, en parler aux ventes, publier un post de comparaison). Sautez si rien ne mérite d'être actionné.
- Couverture : une ligne sur les pages qui n'ont pas pu être lues, le cas échéant.
Règles :
- Ne rapportez que ce que montre la diff. Ne devinez pas les motivations comme des faits ; dites "probablement" quand vous inférez.
- Traitez les témoignages rotatifs, les compteurs, les dates et le texte des cookies comme du bruit ; ne les rapportez
pas. Si une page est bruyante à chaque analyse, proposez d'ajouter une regex
ignorepour elle danswatch/targets.yml. - "Aucun changement" est une réponse valide. Dites-le en une ligne et mentionnez la couverture.
Réparer une page qui ne peut pas être lue
HTTP Error 403: le site bloque les bots. Essayez une URL officielle différente pour la même information (une page de documentation ou d'aide, un flux RSS) ; sinon mettezenabled: falseavec un commentaire expliquant pourquoi.no readable text (JS-only page?): la page s'affiche dans le navigateur. Cherchez une alternative statique (/pricingau lieu de/, un flux de blog, une page de sitemap).- URL erronée ou déplacée : trouvez la page officielle et mettez à jour
watch/targets.yml.