cristiangm3005/claude-skill-sismos

Monitora terremotos e tremores próximos à localização do usuário (padrão Copiapó, Chile) usando USGS, EMSC e, se configurado, GlobalQuake Server ou o backend sismo-rt, e avisa na conversa (e com notificação push) assim que um é detectado.

O que é claude-skill-sismos?

Esta skill permite que um agente de IA (como Claude Code, Cursor ou Codex) monitore terremotos em tempo real a partir de múltiplas fontes sísmicas (USGS, EMSC, GlobalQuake Server e o backend sismo-rt). Sua principal utilidade é fornecer alertas rápidos e informações detalhadas sobre sismos, incluindo magnitude, distância, direção e intensidade estimada (Mercalli) em relação à localização do usuário. O suporte é abrangente: funciona em qualquer plataforma que execute Python 3.9+ e scripts bash, e oferece vigilância contínua com notificações push proativas quando um terremoto relevante é detectado. A skill opera de duas maneiras principais: consulta pontual (respondendo a perguntas como 'houve tremores?') e vigilância contínua (iniciada com comandos como 'me avise se tremer'), com a capacidade de reiniciar automaticamente o monitoramento a cada 30 minutos. Ela gerencia fontes que falham, distingue detecções preliminares (GlobalQuake) de confirmadas, e fornece orientações de autoproteção para eventos de alta intensidade.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cristiangm3005/claude-skill-sismos/tree/HEAD/claude-skill-sismos/claude-skill-sismos/sismos

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

Vigilância de sismos

O script scripts/sismos.py (somente Python padrão, 3.9+) consulta as fontes sísmicas e calcula para a localização do usuário a distância, a direção e a intensidade estimada (Mercalli).

Antes de responder: o que NÃO pode fazer

Nenhum sistema pode prever terremotos, nem mesmo o GlobalQuake. O que esta skill faz é avisar assim que possível quando um sismo já foi detectado. Se o usuário pedir "me avise quando vai tremer", diga isso em uma frase e ofereça a vigilância. Com USGS e EMSC o aviso chega entre 1 e 20 minutos após o sismo. Somente com GlobalQuake pode chegar em segundos. Para emergências, a fonte oficial no Chile é o SAE da SENAPRED e o CSN (sismologia.cl).

Localização e limiares

Por padrão: Copiapó (-27.3668, -70.3314), raio 500 km, M≥6.0 em todo o mundo, ignora M<3.0. Se o usuário mencionar outra cidade ou coordenadas, passe-as com --lat --lon --lugar (use coordenadas que você conheça da cidade). Também podem ser definidas com as variáveis SISMOS_LAT, SISMOS_LON, SISMOS_LUGAR, SISMOS_RADIO_KM, SISMOS_MAG_GLOBAL, SISMOS_MAG_MIN.

Nos comandos abaixo, SKILL_DIR é o diretório base desta skill (aparece ao carregá-la): ~/.claude/skills/sismos se instalada para o usuário, ou .claude/skills/sismos dentro de um projeto. Substitua pelo caminho real.

Pergunta pontual: "houve tremores?"

python3 SKILL_DIR/scripts/sismos.py agora --horas 24

Use --json se precisar processar os dados. Resuma para o usuário: os sismos mais relevantes (os de maior intensidade estimada primeiro), com magnitude, distância, direção, hora do Chile e intensidade. Se não houve nenhum, diga. Se o script escrever ERROR fonte ..., avise que essa fonte falhou. Com código de saída 2, as duas fontes falharam: não diga "não houve sismos".

Vigilância contínua: "me avise se tremer"

  1. Inicie o monitor com a ferramenta Monitor (não com Bash):
    • command: python3 -u SKILL_DIR/scripts/sismos.py vigiar (adicione --lat/--lon/--lugar se necessário)
    • description: sismos perto de <lugar>
    • timeout_ms: 1800000 (máximo)
  2. Confirme ao usuário em uma linha o que está monitorando (local, raio, magnitude) e que o aviso chega com o atraso das fontes.
  3. Cada linha do monitor é um evento:
    • VIGIANDO ... → inicialização correta, não precisa dizer mais nada.
    • SISMO nivel=ALERTA ... → envie primeiro uma notificação com a ferramenta PushNotification (status: "proactive", uma linha de menos de 200 caracteres, p. ex. Sismo M5.4 a 42 km ao O de Copiapó, intensidade V. Hora 18:03). Se a ferramenta não estiver carregada, carregue-a com ToolSearch (select:PushNotification). Em seguida, avise no chat imediatamente, primeiro o essencial: magnitude, distância, intensidade estimada e hora. Se a intensidade for V ou maior, adicione em 2-3 linhas as medidas de autoproteção (abaixar-se, cobrir-se e segurar-se; afastar-se de janelas; se estiver na costa e o movimento foi forte ou longo, evacuar para uma área elevada sem esperar o alerta oficial) e que revise SENAPRED e o SHOA.
    • SISMO nivel=INFO ... → avise-o de forma breve no chat (sismo distante ou fraco em sua localização). Envie PushNotification apenas se a magnitude for 6.0 ou mais.
    • Se a linha disser (atualização) → a magnitude foi corrigida ou o nível subiu. Avise a mudança.
    • Se a linha incluir SEM_CONFIRMAR → detecção preliminar (GlobalQuake). Diga isso.
    • ESTADO fonte=X QUEDA → avise que essa fonte não responde e que a vigilância pode não ver sismos. Com RECUPERADA, avise em uma linha que voltou.
  4. O monitor expira após 30 minutos: quando chegar o aviso de expiração, reinicie-o com o mesmo comando sem perguntar, a menos que o usuário tenha pedido para parar. O script lembra o que já foi avisado (~/.cache/claude-skill-sismos/estado.json), então ao reiniciar não repete sismos.
  5. Se o usuário pedir para parar, interrompa o monitor com TaskStop.

Para testar se o aviso funciona sem esperar um sismo real: python3 SKILL_DIR/scripts/sismos.py teste imprime um sismo fictício com o mesmo formato.

GlobalQuake (detecção em segundos)

O código aberto do GlobalQuake está descontinuado desde a 1.0.0 (continua em globalquake.net como projeto proprietário). GlobalQuake Server 0.11 traz uma API FDSNWS-event, desligada por padrão:

  1. Em suas configurações: autoStartFDSNWSEventServer=true (porta FDSNWSEventPort, por padrão 8080).
  2. Exporte SISMOS_GQ_URL=http://localhost:8080 (ou passe --gq-url). O vigilante o consulta a cada 5 s e também continua consultando USGS/EMSC. Seus sismos aparecem como fontes=globalquake SEM_CONFIRMAR até que um catálogo os confirme. GlobalQuake é experimental: diga isso ao avisar.

Alternativa: o backend sismo-rt/ deste repositório (WebSocket do EMSC em tempo real + GlobalQuake) com SISMOS_RT_URL=http://localhost:8000 (ou --rt-url). O vigilante escuta seu fluxo SSE e, se cair, volta a consultar apenas USGS/EMSC. Detalhes em sismo-rt/docs/GLOBALQUAKE.md.

Rede necessária

Hosts: earthquake.usgs.gov e www.seismicportal.eu (e os do GlobalQuake ou sismo-rt se usados). Se ambos falharem com 403 ou um erro de túnel em uma sessão na nuvem, a política de rede do ambiente os está bloqueando. Diga isso ao usuário e que os permita na configuração do ambiente, ou que use a skill diretamente do Claude Code em seu computador.

Habilidades Relacionadas