tripwire

Rastreador de alterações de concorrentes para equipes de Go-to-Market. Tira snapshots de páginas de concorrentes (homepage, preços, changelog, carreiras), compara com a última verificação e transforma as mudanças em um relatório GTM — o que mudou, por que importa, o que fazer.

O que é tripwire?

Tripwire é uma skill de rastreador de concorrentes para IA agente, focada em equipes de Go-to-Market (GTM). Ela monitora páginas específicas de concorrentes — como homepage, página de preços, changelog e carreiras — capturando snapshots periódicos e comparando-os com versões anteriores. Quando uma alteração é detectada, a skill gera um relatório GTM estruturado: quais mudanças ocorreram, por que elas importam (ex.: precificação sinaliza reposicionamento) e ações concretas recomendadas (ex.: atualizar battlecard, ajustar página de preços). O sistema é leve: roda localmente via Python 3.9+ (com a biblioteca pyyaml, sem necessidade de API key) e armazena tudo em um diretório local (`watch/`), incluindo o arquivo de alvos `targets.yml`, snapshots de texto, dados de alterações em JSON e relatórios Markdown. Comandos principais incluem `scan`, `scan --only <Nome>`, `report --days 7` e `report --days 30`. O agente pode ser acionado por perguntas como "o que os concorrentes mudaram", "faça uma varredura de concorrentes", "digest semanal de concorrentes" ou expressões equivalentes em português e chinês. A skill também lida com páginas que não podem ser lidas (erros HTTP, páginas JS-only), sugerindo alternativas ou desativação.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que tripwire faz?

Tripwire diz quando um concorrente altera uma página que importa, e o que fazer a respeito. O scanner é scripts/tripwire.py (Python 3.9+, precisa de pyyaml, sem chave de API). Ele mantém tudo ao lado da lista de monitoramento, watch/targets.yml no projeto atual:

watch/targets.yml          o que monitorar
watch/snapshots/*.txt      último texto legível de cada página
watch/data/changes.json    cada evento de alteração, do mais recente ao mais antigo
watch/data/status.json     saúde por página da última varredura
watch/reports/latest.md    relatório Markdown da varredura ou digest mais recente

SKILL_DIR abaixo significa o diretório que contém este arquivo.

1. Certifique-se de que existe uma lista de monitoramento

Se watch/targets.yml não existir, execute python SKILL_DIR/scripts/tripwire.py init e então pergunte ao usuário quais concorrentes e páginas monitorar e escreva-os no arquivo. Boas páginas: home, preços, changelog / notas de versão, carreiras, a página "vs" ou de comparação. Use a URL oficial; verifique se ela carrega.

Para adicionar ou remover algo, edite watch/targets.yml (defina enabled: false para pausar uma página).

2. Obtenha os dados

Escolha o que o usuário pediu:

PerguntaComando
"o que mudou" / "executar varredura" (sem varredura hoje ainda)python SKILL_DIR/scripts/tripwire.py scan
um concorrentepython SKILL_DIR/scripts/tripwire.py scan --only "Nome"
"esta semana" / digestpython SKILL_DIR/scripts/tripwire.py report --days 7
"mês passado"python SKILL_DIR/scripts/tripwire.py report --days 30

Se o repositório já tiver uma varredura de hoje (verifique last_run em watch/data/status.json), pule a varredura e leia o relatório. Uma primeira varredura de uma página registra apenas uma linha de base; informe isso, e que as alterações aparecerão a partir da próxima varredura.

Em seguida, leia watch/reports/latest.md (ou o relatório impresso). Para qualquer alteração que você destacará, veja as linhas completas added / removed em watch/data/changes.json para citá-las com precisão.

3. Escreva o relatório GTM

Responda no idioma do usuário. Mantenha curto e comece com o que importa:

  1. Principais movimentos (máximo 5, do mais importante para o menos). Para cada: concorrente, o que mudou em palavras simples, com o detalhe concreto (preço antigo → novo, nome do novo recurso, novo título). Link para a página.
  2. Por que importa: uma linha cada. Precificação e empacotamento > novo produto / lançamento > posicionamento / título > sinais de contratação > ajustes de texto.
  3. O que fazer: 1–3 ações concretas (atualizar o battlecard, responder em nossa página de preços, avisar vendas, publicar um post de comparação). Pule se não houver nada que valha a pena agir.
  4. Cobertura: uma linha sobre páginas que não puderam ser lidas, se houver.

Regras:

  • Relate apenas o que o diff mostra. Não adivinhe motivos como fatos; diga "provavelmente" ao inferir.
  • Trate depoimentos rotativos, contadores, datas e textos de cookies como ruído; não os relate. Se uma página for ruidosa em toda varredura, ofereça-se para adicionar uma expressão regular ignore para ela em watch/targets.yml.
  • "Nenhuma alteração" é uma resposta válida. Diga em uma linha e mencione a cobertura.

Corrigindo uma página que não pode ser lida

  • HTTP Error 403: o site bloqueia bots. Tente uma URL oficial diferente para a mesma informação (uma página de documentos ou central de ajuda, um feed RSS); caso contrário, defina enabled: false com um comentário explicando o motivo.
  • no readable text (JS-only page?): a página renderiza no navegador. Procure uma alternativa estática (/pricing em vez de /, um feed de blog, uma página de sitemap).
  • URL errada ou movida: encontre a página oficial e atualize watch/targets.yml.

Habilidades Relacionadas