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:
| Pergunta | Comando |
|---|---|
| "o que mudou" / "executar varredura" (sem varredura hoje ainda) | python SKILL_DIR/scripts/tripwire.py scan |
| um concorrente | python SKILL_DIR/scripts/tripwire.py scan --only "Nome" |
| "esta semana" / digest | python 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:
- 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.
- Por que importa: uma linha cada. Precificação e empacotamento > novo produto / lançamento > posicionamento / título > sinais de contratação > ajustes de texto.
- 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.
- 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
ignorepara ela emwatch/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, definaenabled: falsecom um comentário explicando o motivo.no readable text (JS-only page?): a página renderiza no navegador. Procure uma alternativa estática (/pricingem 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.