mcpField
T
tenzir-ecs

tenzir-ecs

github.com/tenzirData & databases336 installsUpdated 5d ago
Repository

About tenzir-ecs

A reference skill for applying Elastic Common Schema (ECS) to logs, metrics, security telemetry, and observability events. It combines authoritative YAML field data with guidance for categorization, mapping, and OpenTelemetry alignment.

Key features

  1. 01Looks up ECS fields and fieldsets
  2. 02References allowed event categories and types
  3. 03Guides network event mapping
  4. 04Covers custom fields and reuse metadata
  5. 05Provides an OpenTelemetry field crosswalk

Use cases

  1. 01Mapping source events to ECS fields
  2. 02Choosing valid event categorization values
  3. 03Aligning ECS data with OpenTelemetry
  4. 04Checking whether an ECS field is documented

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tenzir/skills --skill tenzir-ecs

After installing, type/tenzir-ecsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

categorization.yaml
docs/
categorization-usage.md
conventions.md
custom-fields.md
design-principles.md
implementation-patterns.md
mapping-network-events.md
opentelemetry.md
docs/usage/
cloud.md
service.md
threat.md
user.md
fields/
agent_build_original.yaml
agent_ephemeral_id.yaml
agent_id.yaml
agent_name.yaml
agent_type.yaml
agent_version.yaml
at_timestamp.yaml
client_address.yaml
client_as_number.yaml
client_as_organization_name.yaml
client_bytes.yaml
client_domain.yaml
client_geo_city_name.yaml
client_geo_continent_code.yaml
client_geo_continent_name.yaml
client_geo_country_iso_code.yaml
client_geo_country_name.yaml
client_geo_location.yaml

Details

From the project README

Elastic Common Schema

Elastic Common Schema (ECS) defines common fields for logs, metrics, security telemetry, and observability data so events from different sources can be queried and correlated consistently.

This skill is generated from the latest supported ECS release in this repository: v9.5.0 / 9.5.0. Use the YAML files as the authoritative reference for exact field names, fieldsets, types, levels, allowed values, normalization hints, reuse metadata, and OpenTelemetry relations. Use the Markdown docs only for conceptual guidance, mapping examples, and implementation conventions. If a field, fieldset, allowed value, or relation is not present in the YAML data, say that it is not documented here.

Data files

  • Use fields.yaml to find a dotted ECS field and then load the referenced fields/<field>.yaml file.
  • Use fieldsets.yaml to choose a fieldset and then load the referenced fieldsets/<fieldset>.yaml file.
  • Use categorization.yaml for event.kind, event.category, event.type, event.outcome, allowed values, and expected category/type combinations.
  • Use otel.yaml as the compact ECS-keyed crosswalk for OpenTelemetry relations.
  • Use source.md for release provenance, source artifacts, copied docs, referenced upstream docs, and counts.

Complementary docs

Mapping rules

  • Populate required fields first: @timestamp and ecs.version.
  • Prefer documented ECS fields over custom fields when the field semantics match.
  • Preserve source-specific detail in custom fields when ECS has no matching field; use labels for small keyword metadata when appropriate.
  • For categorization, use only allowed values from categorization.yaml; leave categorization fields empty when no allowed value fits.
  • Treat event.category and event.type as arrays and use multiple values only when the event reasonably belongs to multiple categories or types.
  • Use fieldset reuse metadata in fieldsets.yaml to distinguish role-specific locations such as user.target, process.parent, cloud.origin, and service.target.
  • For network events, use source/destination for packet or flow direction and also populate client/server when the endpoint roles are known.
  • Copy pivot values into related.* when the docs or field semantics call for cross-field searching.

Question routing

  • What does field X mean? Start with fields.yaml, then load the selected field YAML.
  • What fields exist under fieldset X? Start with fieldsets.yaml, then load the selected fieldset YAML.
  • Which event.category or event.type should I use? Start with categorization.yaml, then read Using categorization fields for examples.
  • How should I map a network event? Read Mapping network events, then inspect the relevant fieldsets.
  • How do I model users, cloud resources, services, or threat indicators? Read the matching usage doc under docs/usage/, then inspect the relevant fieldset YAML.
  • How does ECS relate to OpenTelemetry? Use otel.yaml for the compact field crosswalk and ECS and OpenTelemetry for conceptual guidance.
  • What if ECS has no matching field? Read Custom fields.
  • What raw upstream source backs this skill? Use source.md.

Comments

Markdown supported