create-evlog-adapter

A development guide for adding an evlog adapter, which sends structured application events to an external monitoring or observability service. It covers the source code, build and package exports, tests, end-to-end checks, and documentation.

In plain words
What is it for?
Use it when adding an evlog connection for services such as Elasticsearch, Honeycomb, or SigNoz.
Why use it?
It lists the repository locations and checks that must be updated, reducing the chance of an adapter being implemented but not built, exported, tested, or documented.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/hugorcd/evlog/create-adapter
Any agent
npx skills add HugoRCD/evlog --skill create-adapter
Clone the repo
git clone --depth 1 https://github.com/HugoRCD/evlog

Made for: Claude Code, Codex.

Per session 75 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,849 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00075 $0.02849
Opus 5 $0.00037 $0.01425
Sonnet 5 $0.00015 $0.00570
Haiku 4.5 $0.00007 $0.00285

Measured 2d ago against content hash cc32b998843b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

create-evlog-adapter scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/create-adapter/SKILL.md · 196 lines

How it starts

The opening of the file, as written. The whole thing — 196 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Create evlog Adapter

Add a new built-in adapter to evlog. Every adapter follows the same architecture and is built on the public toolkit primitives in evlog/toolkit, so a community adapter has the same shape as a built-in one.

PR Title

feat({name}): add the {Name} drain adapter

Recent examples: feat(loki): add the Grafana Loki drain adapter, feat(clickhouse): add the ClickHouse drain adapter. Use the adapter name as the conventional-commit scope, and register that scope (see touchpoint 11).

Scope timing caveat: the semantic PR check reads its scope list from the base branch, so a brand-new scope can't validate the very PR that introduces it. Either register the scope in a small preceding PR (the Loki/ClickHouse pattern), or use an unscoped title (feat: add the {Name} drain adapter) on the introducing PR.

Touchpoints Checklist

# File Action
1 packages/evlog/src/adapters/{name}.ts Create adapter source (built on defineHttpDrain from ../shared/drain)
2 packages/evlog/tsdown.config.ts Add build entry
3 packages/evlog/package.json Add exports + typesVersions entries
4 packages/evlog/test/adapters/{name}.test.ts Create unit tests (use test/helpers/fetch.ts)
5 packages/evlog/test/e2e/{name}.e2e.ts Create e2e test gated on env vars; extend the docker sandbox if self-hostable
6 packages/evlog/test/toolkit/__snapshots__/api-surface.test.ts.snap Regenerated by running the tests after a build (pnpm run build then pnpm test)
7 apps/docs/content/4.integrate/adapters/{category}/{NN}.{name}.md Create adapter doc page in the right category
8 apps/docs/content/4.integrate/adapters/01.overview.md Add adapter to overview (frontmatter link + card)
9 skills/review-logging-patterns/SKILL.md Add adapter row in the Drain Adapters table + frontmatter description
10 .changeset/{name}-adapter.md Create changeset (minor) describing the adapter
11 .github/workflows/semantic-pull-request.yml + .github/pull_request_template.md Register {name} as a PR scope in both files

Read the full file on GitHub · 196 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 196 lines · 75 tokens per session scan A cc32b998843b

Subscribe to this mod's changes

create-evlog-adapter is a skill published in the GitHub repository HugoRCD/evlog (1,831 stars, last pushed today), licensed MIT. It adds 75 tokens to every session and 2,849 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

frontmcp-observability

Use when adding tracing, structured logging, metrics, or monitoring to a FrontMCP server. Covers zero-config OpenTelemetry distributed tracing across all flows; the this.telemetry API for custom spans, events, and attributes in tools, plugins, agents, and skills; structured JSON logging with trace correlation and…

agentfront/frontmcp · 177 tokens

migrate-better-result-3

Migrate a TypeScript codebase from better-result 2.x to 3.0. Use when upgrading better-result across the TaggedError syntax, removed Result serialization helpers, recovery inference, matching, or retry APIs.

dmmulroy/better-result · 52 tokens

audit-better-result-dependents

Audit better-result changes or PRs against known Prisma and Better T Stack downstream dependents. Use when working on better-result API/type/runtime changes and the user asks whether a change breaks Prisma dependents, Better T Stack dependents, npm dependents, or PR compatibility.

dmmulroy/better-result · 62 tokens

dd-code-generation

Use pup CLI for immediate Datadog operations or generate code for integration into applications.

DataDog/pup · 16 tokens

adopt-better-result

Adopt better-result in an existing TypeScript codebase. Use for a repository-wide error-handling audit and proposal, or for implementing a named vertical slice with TaggedError and Result.

dmmulroy/better-result · 43 tokens

agent-inspect

Local evidence debugger and trajectory-test toolkit for TypeScript AI agents. Use when capturing framework-faithful traces, asserting TraceContract/TraceFacts, packaging Evidence v2, or inspecting local runs over read-only MCP (gettracefacts).

rajudandigam/agent-inspect · 52 tokens