Communitygithub.com

nextjs-otel

Configurez, testez et vérifiez l'observabilité OpenTelemetry (OTel) dans les applications Next.js App Router. Se déclenche sur « /nextjs-otel », « setup otel », « configure opentelemetry », « test otel » ou « verify opentelemetry ».

Qu'est-ce que nextjs-otel ?

Cette compétence automatisée pour agents IA fournit un flux de travail modulaire et prêt pour la production afin de configurer, tester et vérifier le tracing OpenTelemetry (OTel) dans les applications Next.js utilisant le App Router. Elle standardise l'utilisation d'un unique kill switch (`OTEL_SDK_DISABLED`) pour activer/désactiver le tracing, protège contre un bug connu d'initialisation de `@vercel/otel` où la chaîne `"false"` est évaluée comme vraie par JavaScript, et automatise la vérification des traces via un collecteur OTel simulé. La compétence prend en charge les agents comme Claude Code, Cursor et Codex, et guide l'utilisateur à travers cinq étapes clés : évaluation du projet, installation des dépendances (`@vercel/otel` et `@opentelemetry/api`), déploiement du fichier `instrumentation.ts` avec une sauvegarde de véracité, configuration des variables d'environnement, et enfin vérification complète incluant un test du kill switch. Elle délivre un rapport structuré en Markdown avec l'état OTel, les points de terminaison et les résultats des tests unitaires.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BIGboss248/nextjs-wordpress/tree/HEAD/.agents/skills/nextjs-otel

Demander à votre IA préférée

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

Documentation

Compétence d'Observabilité Next.js OpenTelemetry (nextjs-otel)

Un flux de travail modulaire et prêt pour la production pour configurer, tester et vérifier le tracing OpenTelemetry dans les applications Next.js App Router, en standardisant un unique kill switch, en se protégeant contre les bugs d'initialisation de @vercel/otel, et en automatisant la vérification des traces.


Aperçu du Flux de Travail

flowchart TD
    A["1. Évaluation du Projet<br/>(App Router & package.json)"] --> B["2. Installation des Dépendances<br/>(@vercel/otel & @opentelemetry/api)"]
    B --> C["3. Déploiement de instrumentation.ts<br/>(registerOTel + onRequestError)"]
    C --> D["4. Configuration de l'Environnement<br/>(.env.example & .env.local)"]
    D --> E["5. Vérification & Test<br/>(Collecteur Simulé & Kill Switch)"]

Guide d'Exécution Pas à Pas

Suivez cette liste de vérification de manière séquentielle pour configurer et vérifier l'observabilité OpenTelemetry :

1. Découverte du Projet & Inspection des Dépendances

  • Inspecter la Structure du Projet : Confirmer la version de Next.js App Router dans package.json et le gestionnaire de paquets (pnpm, bun, npm).
  • Localiser la Racine d'Instrumentation : Vérifier si le projet utilise instrumentation.ts à la racine ou dans src/instrumentation.ts.
  • Revoir les Standards Architecturaux : Consulter architectural-standards.md pour la discipline du kill switch unique et les limites d'exécution.

2. Installation des Dépendances

  • Installer les Paquets de Télémétrie de Base :
    pnpm add @vercel/otel @opentelemetry/api
    

3. Déploiement de instrumentation.ts

  • Créer le Fichier d'Instrumentation : Déployer instrumentation.ts.template à la racine ou dans src/.
  • Appliquer la Sauvegarde de Véracité : S'assurer que register() supprime process.env.OTEL_SDK_DISABLED lorsqu'il n'est pas strictement "true" pour éviter les bugs d'évaluation booléenne de @vercel/otel.
  • Connecter le Suivi des Erreurs : S'assurer que onRequestError() capture next.error.digest, le chemin de la route et les métadonnées HTTP sur les spans actifs.

4. Configuration des Variables d'Environnement

  • Mettre à Jour les Modèles d'Environnement : Injecter la configuration OpenTelemetry dans .env.example et .env.local en utilisant env.otel.template.
  • Définir le Nom du Service et le Protocole : Configurer OTEL_SERVICE_NAME, OTEL_EXPORTER_OTLP_ENDPOINT, et OTEL_EXPORTER_OTLP_PROTOCOL=http/json.

5. Vérification & Tests

  • Lancer le Collecteur OTLP Simulé : Démarrer le collecteur de test sur le port 4318 conformément à verification-and-testing.md :
    node .agents/skills/nextjs-otel/scripts/mock_collector.js
    
  • Vérifier les Traces Actives (OTEL_SDK_DISABLED=false) : Déclencher des requêtes de test (curl http://localhost:3000/) et vérifier les lots POST /v1/traces avec HTTP 200 OK.
  • Vérifier le Kill Switch (OTEL_SDK_DISABLED=true) : Confirmer que le serveur Next.js enregistre [OTel] Instrumentation hook skipped et exporte 0 traces.
  • Générer le Rapport de Vérification : Produire un rapport récapitulatif en Markdown.

Cas Limites & Pièges IA Connus

[!WARNING]

  • Le Bug de Véracité de Chaîne de @vercel/otel : @vercel/otel évalue !!process.env.OTEL_SDK_DISABLED. En JavaScript, Boolean("false") est true. Sans supprimer process.env.OTEL_SDK_DISABLED lorsqu'il n'est pas 'true', définir OTEL_SDK_DISABLED=false désactive le tracing silencieusement.
  • Drapeaux Personnalisés Secondaires : Ne jamais introduire OTEL_ENABLED en parallèle de OTEL_SDK_DISABLED. Standardiser strictement sur OTEL_SDK_DISABLED.
  • Violations des Limites d'Exécution : Ne jamais importer instrumentation.ts ou les SDK OpenTelemetry serveur dans les Composants Client ("use client").
  • Commandes Chaînées : Ne jamais chaîner les commandes (&&, ||, ;). Exécuter toutes les commandes de configuration et de test individuellement.

Schéma du Résumé de Sortie

Après avoir terminé la configuration ou la vérification OpenTelemetry, générer un rapport structuré :

# Rapport de Vérification OpenTelemetry

## Résumé d'État

- **État OTel** : Actif / Désactivé
- **Nom du Service** : <nom_service_configuré>
- **Point de Terminaison Cible** : <point_terminaison_configuré>
- **Protocole d'Exportation** : http/json | http/protobuf

## Résultats de Vérification

| Vérification            | Attendu                     | Réel               | Statut |
| :---------------------- | :-------------------------- | :----------------- | :----- |
| Hook d'Initialisation   | Enregistré                  | Enregistré         | PASS   |
| Envoi de Trace (Actif)  | POST /v1/traces (200 OK)    | X lots reçus       | PASS   |
| Kill Switch (Désactivé) | Ignoré, 0 traces            | Ignoré, 0 traces   | PASS   |
| Vérification de Type    | 0 erreurs                   | 0 erreurs          | PASS   |

Guides de Référence & Modèles

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

BIGboss248/nextjs-wordpress

Create, configure, manage, and validate Google Antigravity customizations including skills, rules, MCP servers, lifecycle hooks, plugins, and custom JSON configs. Use when adding new capabilities to Antigravity, configuring MCP servers, writing rules, creating skills, setting up hooks, or modernizing legacy workflows.

BIGboss248/nextjs-wordpress

Spawn multiple agents into a shared conversation where they debate, disagree, and converge on a solution via a shared chat.json file. Use for architecture decisions, code review debates, design trade-offs, or any problem that benefits from adversarial reasoning. Triggers on "chatroom", "agent debate", "have agents discuss", "agent chatroom", "debate this", or /agent-chatrooms. Also triggers on phrases like "have 3 agents argue about", "multi-agent discussion", or "let them debate".

BIGboss248/nextjs-wordpress

Always-active code intelligence, search, and navigation skill utilizing the codebase-memory MCP server. Enforces an index-first protocol (verifying and refreshing the knowledge graph via index_repository or index_status before searching, required because background auto_watch is disabled to eliminate editor stutter and system lag), followed by graph-first exploration (search_graph, trace_path, get_code_snippet, query_graph, get_architecture, detect_changes) instead of naive text grep or full-file reads. Always activate before searching the codebase, inspecting unknown architecture, finding symbols, or tracing callers/callees.

BIGboss248/nextjs-wordpress

>- Discover, interview, and craft comprehensive UX/UI design specifications (design-spec.md) and design tokens for web components. Triggers on "/component-design", "design component", "design section", "design UI", "wireframe component", or "create design spec".

BIGboss248/nextjs-wordpress

>- Configure and query WooCommerce APIs including WPGraphQL, WooGraphQL, and JWT auth for headless frontends. Use when connecting Next.js to WooCommerce or fetching store catalog data.

BIGboss248/nextjs-wordpress

Orchestrate parallel browser automation using multiple Chrome DevTools MCP instances. Use when a task requires doing the same browser action across many targets simultaneously (e.g., submitting contact forms, filling applications, scraping pages that need JS rendering). Spin up 1-5 parallel Chrome agents.

BIGboss248/nextjs-wordpress

Workflow for spawning an independent subagent to conduct unbiased code reviews and inject adversarial edge-case tests ([ComponentName].edge.test.tsx).

BIGboss248/nextjs-wordpress

>- Build Next.js App Router React components with Suspense skeletons, semantic OKLCH tokens, Jest + RTL unit tests, Playwright visual/hydration checks, and Tailwind logical styling. Triggers on "/nextjs-component-dev", "create component", "new component", "build component", or "develop component".

BIGboss248/nextjs-wordpress

>- Bootstrap, configure, and verify the complete Next.js App Router development environment, developer tooling, testing suites, MCP servers, Docker containerization, and CI/CD. Triggers on "/nextjs-dev-setup", "setup nextjs dev environment", "start a nextjs project", or "containerize nextjs app".

BIGboss248/nextjs-wordpress

>- Configure production health monitoring endpoints (/api/health), Docker Compose probes, and runtime metrics in Next.js App Router applications. Use when asked to "setup health check", "add health endpoint", "docker compose healthcheck nextjs", "configure health monitor", or "/nextjs-healthcheck".

BIGboss248/nextjs-wordpress

Bootstrap, configure, and verify next-intl App Router internationalization (proxy.ts/middleware.ts, next/root-params, [locale] layout, routing). Triggers on "/nextjs-i18n-setup", "setup i18n", "install next-intl", "configure next-intl", "add internationalization", "setup locale routing", "migrate to [locale]".

BIGboss248/nextjs-wordpress

Read/write translation dictionaries (messages/[locale].json), next-intl hooks (getTranslations/useTranslations), providers (Storybook/tests/subtrees), and BiDi styling. Triggers on "/nextjs-i18n-usage", "i18n dictionary", "use translations", "read dictionary", "i18n provider", "next-intl hooks", "storybook i18n", "test i18n", "add translation keys", "localize component", "create a component", "update a component".

BIGboss248/nextjs-wordpress

Step-by-step workflow for designing and building Next.js App Router pages (RSC page.tsx, loading skeleton, metadata, JSON-LD schema, and dynamic static params). Triggers on "/nextjs-page-dev", "create page", "new page", "develop page", "build route", or "implement page".

BIGboss248/nextjs-wordpress

>- Orchestrate end-to-end planning for Next.js App Router projects, generating canonical specifications, design systems, and a 7-phase modular implementation roadmap in docs/plan/. Triggers on "/nextjs-plan", "plan a nextjs project", "plan nextjs app", "create nextjs project plan", "outline nextjs architecture", or "generate plan".

BIGboss248/nextjs-wordpress

Workflow and engineering standards for crafting co-located Storybook CSF3 stories ([ComponentName].stories.tsx) with interactive controls, action spies, and 4 canonical theme variants.

BIGboss248/nextjs-wordpress

>- Build Next.js e-commerce frontends backed by WooCommerce APIs, handling ISR catalogs, cart sessions, and JWT authentication. Use when building or querying Next.js stores with WooCommerce.

BIGboss248/nextjs-wordpress

Self-correcting rules engine and feedback loop that learns from user corrections, mistakes, and project-specific constraints by maintaining a persistent autofix ruleset. Scans learned rules before starting any task, resolves conflicts, and automatically appends new rules upon corrections. Triggers on user corrections ("no, do it this way", "never do X", "always use Y"), /learn, "self repair", "add rule", "update rules", or when diagnosing assumptions and bugs. CRITICAL ALWAYS-ACTIVE LIFECYCLE SKILL. Must always be kept in context, loaded at session start, and consulted before starting ANY task to read and apply active constraints from autofix.json. MUST ALWAYS be triggered immediately whenever the user provides ANY correction, preference, criticism, rejection of an approach, or adjustment ("no", "don't do X", "use Y", "remember", "prefer"), or when any mistake/bug is identified. Automatically and immediately formulates and appends the new imperative rule to the project's autofix.json ruleset file.

BIGboss248/nextjs-wordpress

Setup, automate, and execute SEO audits, CI/CD pre-push/pre-deploy checks, and ranking optimizations using the seo CLI and MCP server.

BIGboss248/nextjs-wordpress

End-to-end repository onboarding and development environment setup skill. Scans repository structure, configures project metadata (docs/project.json), sets up the codebase-memory-mcp code intelligence knowledge graph server (in workspace mcp.json and globally for AGY only), configures git hooks with Husky and Commitlint, establishes multi-stage production Docker containerization, and automates credit-optimized Release Please CI/CD with multi-arch (AMD64 & ARM64) GHCR package deployment. Triggers on "/setup-repository", "setup repository", "setup repo", "initialize repository", "new repo setup", or when preparing any repository for development and AI agent workflows.

BIGboss248/nextjs-wordpress

AI screen scaffolding, layout generation, and variant exploration workflow powered by Google Stitch (StitchMCP). Consumes a component design specification (docs/design/components/[page name]/[component name]/design-spec.md), verifies and reuses the central Stitch project in docs/project.json (or creates/persists one if absent), seeds the project's design system into Stitch, synthesizes layout prompts to generate a screen and create one variant of the given design spec file, downloads and saves Stitch JPG screenshots and HTML code files directly into docs/design/components/[page name]/[component name]/stitch/ using binary-safe PowerShell Invoke-WebRequest, outputs image prompts to the user if visual assets are needed (without calling generate_image to conserve tokens), updates design-spec.md with Stitch layout benchmarks, and audits asset download integrity with an independent subagent. Triggers on "/stitch-design", "generate stitch screen", "create stitch variant", "scaffold screen with stitch", or "stitch...

Skills associés