frontend-observability
Faz seu agente monitorar como os sites funcionam em tempo real. Ajuda a entender problemas e melhorar a experiência do usuário.
O que ela faz
Este sistema ajuda a entender como os usuários reais estão usando seu aplicativo web ou mobile. Ele coleta informações sobre eventos, desempenho e erros, garantindo que os dados sejam coletados de forma confiável e respeitando a privacidade do usuário.
Quando usar
- ✓Para saber quais botões os usuários mais clicam.
- ✓Para monitorar a velocidade de carregamento das páginas para usuários reais.
- ✓Para identificar e reportar erros que acontecem no aplicativo.
Exemplo do que pedir para a IA
“Quero saber quais funcionalidades do meu site os usuários mais utilizam e se eles estão encontrando erros.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele funciona registrando eventos importantes que acontecem no seu aplicativo. Esses eventos são enviados para diferentes ferramentas de análise, mas se uma ferramenta falhar, as outras continuarão funcionando sem interromper o aplicativo. Ele também mede o desempenho real do usuário e só envia dados se o usuário concordar.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill frontend-observabilityOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/frontend-observability/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Observabilidade de Frontend (lado do campo)
Quando Usar
Use esta habilidade quando precisar de um sistema de observabilidade portátil e independente de framework para qualquer aplicativo React ou React Native. Estabelece uma taxonomia de eventos tipada (constantes de nome de evento canônico, nunca strings inline), um fan-out de provedor de melhor esforço e não bloqueante para que um provedor de análise falho ou ausente nunca possa...
Habilidade portátil — legível por Claude Code, OpenCode, Codex, Cursor, Windsurf e outros. Esta habilidade descreve um sistema de observabilidade do lado do campo — taxonomia de eventos, fan-out de provedores, métricas de usuários reais, relatórios de erros, consentimento — não um painel ou um fornecedor específico. É o complemento de campo para a habilidade frontend-lighthouse: Lighthouse é o portão do laboratório (sintético, pré-merge); este é o campo (o que os usuários reais realmente experimentam). Ele reside em um módulo
services/analytics/conforme a habilidade frontend-architecture.
O objetivo: você pode responder "o que os usuários reais estão fazendo e o que eles estão experimentando?" — com um
vocabulário de eventos tipado (sem track("clicked_thing") com tipagem de string espalhados por toda parte), um
fan-out que é de melhor esforço (um provedor quebrado nunca quebra o aplicativo), Core Web Vitals reais
do campo, e consentimento respeitado antes que qualquer coisa seja disparada.
0. As cinco ideias centrais
- Eventos são um vocabulário tipado. Nomes de eventos são constantes canônicas com um tipo de união — nunca literais de string inline. A taxonomia pode ser revisada em um arquivo e o compilador rejeita erros de digitação.
- Fan-out é de melhor esforço e não bloqueante.
track()despacha para cada provedor, cada um em seu próprio try/catch. Um global ausente, um provedor lançado, um script não carregado — nenhum deles pode lançar para o chamador ou parar os outros provedores. - Um ponto de entrada, seguro para SSR. Um único
track(event, props)é a única maneira de registrar. Ele é acessado através de um hook de contexto que não faz nada fora de um provedor e no servidor, para que componentes instrumentados renderizem com segurança em qualquer lugar. - Métricas de campo complementam orçamentos de laboratório. LCP/INP/CLS de usuários reais são relatados para o mesmo fan-out. Lighthouse prova que a compilação pode ser rápida; métricas de campo provam que é — juntos eles fecham o ciclo.
- Consentimento bloqueia tudo. Nenhuma telemetria (eventos, métricas, relatórios de erros com PII) é disparada antes do opt-in. O estado de consentimento é verificado na fronteira do fan-out, não espalhado por chamadas.
1. Layout do diretório
O sistema é um módulo de serviço mais suas constantes (por frontend-architecture).
src/
├── constants/
│ └── analytics.ts ← canonical event names + AnalyticsEvent union
├── services/analytics/
│ ├── index.ts ← barrel: track, adapters, types
│ ├── track.ts ← the best-effort fan-out (single entry point)
│ ├── adapters.ts ← one (event, props) => void per provider, window-guarded
│ ├── web-vitals.ts ← report real-user LCP/INP/CLS into track()
│ └── consent.ts ← consent gate read by the fan-out
├── providers/
│ └── AnalyticsProvider.tsx ← 'use client' context exposing useAnalytics().track
└── error/
└── ErrorBoundary.tsx ← reports caught render errors via the fan-out
2. A taxonomia de eventos (tipada, nunca inline)
Um arquivo possui todos os nomes de eventos. Componentes referenciam constantes; o tipo de união torna erros de digitação um erro de compilação e o catálogo uma única fonte de verdade.
// constants/analytics.ts
export const ANALYTICS_EVENTS = {
PROJECT_CLICK: "project_click",
GITHUB_CLICK: "github_click",
RESUME_DOWNLOAD: "resume_download",
CONTACT_SUBMISSION: "contact_submission",
} as const;
export type AnalyticsEvent =
(typeof ANALYTICS_EVENTS)[keyof typeof ANALYTICS_EVENTS];
// CORRECT — typed constant, autocompletes, can't typo
track(ANALYTICS_EVENTS.GITHUB_CLICK, { url });
// WRONG — stringly-typed, drifts, no compile check
track("github-click"); // ❌ silently a different event from "github_click"
Regras rígidas:
- Nenhuma string de nome de evento inline em qualquer lugar; apenas
ANALYTICS_EVENTS.*. - Nomes de eventos são snake_case e estáveis — renomear um quebra dashboards históricos, então trate o catálogo como um contrato.
- Mantenha as formas
propspequenas e com pouca PII (veja §6); prefira IDs em vez de nomes, nunca e-mails brutos.
3. Fan-out de melhor esforço e não bloqueante
track() é o único ponto de entrada. Ele itera o registro de adaptadores, protegendo cada chamada para que um provedor não possa afetar o chamador ou os outros.
// services/analytics/track.ts
…
Perguntas frequentes
O que significa 'framework-agnostic'?
Significa que este sistema pode ser usado em qualquer tipo de projeto web ou mobile, não importa qual tecnologia (framework) foi usada para construí-lo, como React ou React Native.
O que são 'Core Web Vitals'?
São métricas importantes que medem a experiência do usuário em relação à velocidade de carregamento, interatividade e estabilidade visual de uma página web.
Como a privacidade do usuário é protegida?
O sistema só coleta e envia dados (telemetria) após o usuário dar seu consentimento explícito, e os dados coletados evitam informações pessoais identificáveis.
Detalhes
Descrição original do autor
A portable, framework-agnostic field-side observability system for any React or React Native app.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3056
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
angular-developer
Ajuda seu agente a criar código Angular e a dar conselhos sobre a estrutura do projeto. É útil para iniciar novos projetos, criar partes do código ou melhorar a performance e acessibilidade.
affaan-m/ECC
frontend-a11y
Ajuda seu agente a tornar interfaces web acessíveis para todos. Ele garante que sites e apps funcionem bem com leitores de tela e navegação por teclado.
affaan-m/ECC
frontend-patterns
Faz seu agente aplicar padrões modernos no desenvolvimento frontend. Ele otimiza performance, gerencia estado e segue boas práticas em React e Next.js.
affaan-m/ECC