tripwire

Outil de suivi des changements concurrents pour les équipes GTM. Capture les pages des concurrents, les compare à la dernière analyse et génère un compte-rendu stratégique.

Qu'est-ce que tripwire ?

Tripwire est un outil conçu pour les équipes GTM (Go-To-Market) qui permet de surveiller automatiquement les pages clés des concurrents : page d'accueil, tarifs, changelog, carrières. Chaque analyse est effectuée via un script Python (`tripwire.py`) qui prend des instantanés, les compare à la précédente analyse, puis génère un rapport structuré. L'outil repose sur un fichier de configuration YAML (`watch/targets.yml`) et stocke tous les historiques localement. Il est particulièrement utile pour détecter des changements de prix, de positionnement, de messagerie ou d'embauche chez les concurrents, et fournit des recommandations concrètes (mise à jour des battlecards, actions commerciales, publications). Le système fonctionne sur tout projet local, sans clé API, et offre des commandes spécifiques pour les analyses ponctuelles, les résumés hebdomadaires ou l'ajout/suppression de pages surveillées.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thisisconnielin/tripwire/tree/main/skills/tripwire

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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é :

DemandeCommande
"ce qui a changé" / "exécuter une analyse" (pas d'analyse aujourd'hui)python SKILL_DIR/scripts/tripwire.py scan
un concurrentpython SKILL_DIR/scripts/tripwire.py scan --only "Nom"
"cette semaine" / digestpython 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 :

  1. 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.
  2. Pourquoi c'est important : une ligne chacun. Tarifs et packaging > nouveau produit / lancement > positionnement / titre > signaux d'embauche > ajustements de copie.
  3. 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é.
  4. 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 ignore pour elle dans watch/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 mettez enabled: false avec un commentaire expliquant pourquoi.
  • no readable text (JS-only page?) : la page s'affiche dans le navigateur. Cherchez une alternative statique (/pricing au 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.

Skills associés