Token导航 LogoToken导航TokenDH.com
开发需要联网github未标认证来源可访问许可证需确认审计异常

nestjs-wide-eventsNestjs 广泛的事件

Agent Skill

nestjs-wide-events 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

222

周安装

9

GitHub Stars

公开资料未说明

下载量

70
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:nestjs-wide-events(Nestjs 广泛的事件)
来源仓库:https://github.com/cmglezpdev/custom-skills
仓库路径:skills/nestjs-wide-events
安装命令:
npx skills add https://github.com/cmglezpdev/custom-skills --skill nestjs-wide-events
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/cmglezpdev/custom-skills --skill nestjs-wide-events

简介

nestjs-wide-events 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定仓库安装,需结合原始 README 核验具体用法。
  • 安装前建议确认权限范围、维护状态及是否会触发联网、命令执行或文件读写操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

NestJS Wide Events Logging

Emit ONE context-rich structured JSON event per request per service, instead of scattering dozens of log lines across the codebase.

Core Principles

  1. One event per request per service. Build context throughout the lifecycle; emit once at the end.
  2. Business context is mandatory. Include subscription tier, account age, feature flags, cart value -- anything needed at 2am during an incident.
  3. High cardinality is the point. Fields like user_id, request_id, order_id with millions of unique values make debugging possible.
  4. High dimensionality wins. 50 fields on one event beats 5 fields across 10 events.
  5. Structured JSON only. Every field is a queryable key-value pair.
  6. Tail sampling controls cost. Always keep errors, slow requests, VIP users. Sample the rest.
  7. No log-level abuse. The wide event IS the log. Level indicates outcome severity only.

Architecture Overview

Components

  • WideEventInterceptor (global): Creates context at request start, emits the single event at request end.
  • WideEventService (request-scoped): Holds the mutable event context. Any service/guard/pipe injects it to enrich the event.
  • WideEventModule: Wires everything together. Import at root level.
  • TailSampler: Decides whether to persist the event (always keeps errors, slow requests, VIP users).
  • WideEventExceptionFilter (global): Enriches the event with error details before the interceptor emits.
  • WideEventMiddleware: Resolves the request-scoped service and attaches it to the request object for the singleton interceptor.

Request Lifecycle

Request arrives
  -> Middleware resolves request-scoped WideEventService, attaches to req
    -> Interceptor seeds event with HTTP metadata, starts timer
      -> Guards/pipes inject WideEventService, add user context
        -> Controller/services inject WideEventService, add business context
      -> Response or exception
    -> ExceptionFilter catches errors, enriches event
  -> Interceptor finalizes: duration, status, outcome
  -> TailSampler decides: persist or drop
  -> Single JSON event emitted

Wide Event Field Groups

  • Request envelope (auto): timestamp, request_id, trace_id, method, path, status_code, duration_ms, ip, user_agent, service, version
  • User context (auth guard/controller): user.id, user.subscription, user.role, user.org_id
  • Business context (controller/service): domain-specific fields like cart.*, payment.*
  • Error context (exception filter): error.type, error.code, error.message, error.retriable
  • Performance (services doing I/O): db.query_count, db.total_ms, cache.hit, external_calls[]
  • Feature flags: feature_flags.* as flat booleans
  • Outcome (interceptor): outcome (success|error|client_error), level (info|warn|error)

Key Rules

  1. Use REQUEST scope for WideEventService -- each request gets its own instance.
  2. Only the interceptor calls logger.info(event). Services only enrich.
  3. Sanitize sensitive fields with an allowlist, not a denylist.
  4. Use AsyncLocalStorage when request-scoped DI is unavailable (queues, event handlers).
  5. Nest fields under namespaces: user.id not userId, payment.latency_ms not paymentLatencyMs.
  6. Timings use _ms suffix, always integers.
  7. For queue/cron jobs: emit one wide event per job execution, same pattern.

Tail Sampling

  • Always keep (100%): status >= 500, error field present, duration > p99 threshold, VIP users, monitored feature flags
  • Sample the rest: configurable rate, default 5%

Anti-Patterns

  • Do NOT scatter console.log() / this.logger.log() through services.
  • Do NOT use log levels to categorize request stages.
  • Do NOT put high-volume debug tracing in the wide event.
  • Do NOT log request/response bodies wholesale -- extract only needed fields.
  • Do NOT treat OpenTelemetry as a substitute; your wide event IS your enriched OTel span.

Reference Documents

Read these only when you need implementation details for a specific area:

  • core-setup.md -- Full code for WideEventService, WideEventInterceptor, WideEventExceptionFilter, TailSampler, WideEventMiddleware, WideEventModule, and app bootstrap. Read this when setting up wide events from scratch.
  • usage-examples.md -- How to enrich events from controllers, services, and auth guards. Read this when adding wide event enrichment to existing code.
  • advanced-patterns.md -- AsyncLocalStorage bridge, queue/cron job pattern, and Pino integration. Read this for non-HTTP contexts or production logger setup.
  • testing.md -- Unit tests for WideEventService and TailSampler. Read this when writing tests.

Quick Start

  1. Read core-setup.md for full component code.
  2. Create WideEventModule with all components, register at app root.
  3. In controllers/services, inject WideEventService and call event.enrich({...}).
  4. Configure TailSampler sampling rules.
  5. Remove all scattered log statements -- replace with event enrichments.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.07%
按下载量换算25

Claude

30.43%
按下载量换算21

Cursor

20.55%
按下载量换算14

Gemini CLI

9.95%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

未通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills