MCPInstall

entity-mappings

Use when adding or auditing ECS entity. fields (entity inventory / entity store) on Elastic integrations — classifying a data stream as entity vs event, mapping vendor fields to entity.attributes., entity.lifecycle., and entity.relationships., or running an entity-coverage gap analysis on an existing package. Invoke manually with /entity-mappings.

Installs
82
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/elastic/integration-skills --skill entity-mappings
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads entity-mappings automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

entity-mappings

Skill authority

The guidance in this skill takes precedence over patterns observed in any integration in the elastic/integrations repository. Legacy integrations may predate these requirements or use inconsistent patterns. Always follow this skill's rules over what you observe in the repo.

When to use

  • Adding entity/inventory data streams to a new or existing integration
  • Deciding whether a proposed or existing data stream is an entity stream or an event stream
  • Selecting the correct entity.type value for a new stream
  • Mapping vendor fields to user.entity.*, host.entity.*, or other nested entity prefixes
  • Auditing an existing package's entity field coverage (standalone gap analysis)
  • Troubleshooting event.kind: asset usage or entity.* field errors

When not to use

  • CDR cloud security findings (misconfiguration / vulnerability findings) — these are event.kind: state, not asset. Use ecs-field-mappings/references/cdr-field-requirements.md and ingest-pipelines/references/cdr-pipeline-requirements.md instead.
  • Generic field file authoring (non-entity fields) — use the ecs-field-mappings skill.
  • Processor mechanics (grok, date, JSON, Painless) — use the ingest-pipelines skill.
  • CEL program logic — use the cel-programs skill.

Applicability gate

Entity fields apply only to entity data streams — those whose purpose is to represent a stable inventory of subjects (users, hosts, devices, applications, services) rather than a timeline of events. Never apply entity field requirements to event logs, metric streams, APM data, or CDR findings streams.

See references/entity-datastream-classification.md to classify a data stream before using this skill. If you are not sure, check the classification reference first.

ECS availability — read this first

The entity.attributes.*, entity.lifecycle.last_activity, and all entity.relationships.* leaf fields do not exist at ECS v9.3.0 (the repo default pin). They first appear at ECS v9.4.0.

  • At git@v9.3.0: entity.attributes is a bare object with no subfields; schemas/entity_reference.yml does not exist. Using external: ecs on these leaves at that pin causes field is undefined build failures.
  • At git@v9.4.0+ / git@v9.5.0 (recommended): all leaf fields exist and external: ecs resolves correctly.

Conditional pin rule: packages with entity data streams must set:

  • _dev/build/build.yml: dependencies.ecs.reference: "git@v9.5.0"
  • Pipeline ecs.version: 9.5.0

The two must match. Standard (non-entity) packages keep git@v9.3.0.

To verify at any tag:

curl -s https://raw.githubusercontent.com/elastic/ecs/<tag>/generated/csv/fields.csv \
  | awk -F, '$3=="entity"' | cut -d, -f4,5 | sort -u

Modes

ModeHow it's triggeredWhat to load
Standalone gap analysisUser invokes /entity-mappings @packages/<name>Read references/gap-analysis-workflow.md and references/entity-field-catalog.md. Dispatch per-stream subagents via references/analysis-subagent-guidance.md.
Build-timeOrchestrator (create-integration or add-datastream) passes references/entity-field-catalog.md and references/entity-pipeline-patterns.md by path to the pipeline builder subagentPipeline builder reads both references; this skill's SKILL.md is not loaded into the orchestrator thread.
Review-timereview-integration Step 4 loads the two references when the entity detection rule firesReviewer reads entity-field-catalog.md + entity-pipeline-patterns.md; this SKILL.md is not required in the reviewer thread.
Research-timeresearch-integration loads only references/entity-datastream-classification.mdDo not load the rest of this skill during research — the catalog and pipeline patterns are implementation material and violate the research guardrail against prescribing pipeline/field details.

Open questions / deferred scope

The following topics are out of scope for this skill's v1:

  • Entity-store latest transforms. The CDR precedent has a third leg (review-integration/references/cdr-transform-requirements.md) covering latest transforms per integration. Whether new entity data streams should ship an accompanying latest transform is not yet resolved. Note it as an open question in research briefs and gap analysis reports until that decision is made.
  • Repo-wide ECS pin bump to v9.5.0. Recommended as a follow-up once entity streams are common; the conditional exception in this skill carries packages until then.

References

  • references/entity-field-catalog.md — single source of truth: ECS availability matrix, reusable nesting, entity.type allowed values, categorization, Must Have / Should Have field tables, disambiguation guide, field definition YAML examples, review checklist
  • references/entity-pipeline-patterns.md — pipeline-side patterns: categorization processors, building entity.id, boolean coercion, array attributes, relationship objects, anti-patterns, pipeline review checklist
  • references/entity-datastream-classification.md — research-time and review-time rules for classifying a data stream as entity vs event; worked examples
  • references/gap-analysis-workflow.md — 4-phase standalone analysis: classify streams → read package → fetch docs → map fields → investigate gaps → write report
  • references/gap-analysis-report-template.md — structured report template for gap analysis output
  • references/analysis-subagent-guidance.md — operating manual for per-stream analysis subagents dispatched during gap analysis
  • ECS entity fieldset reference

FAQ

What does the entity-mappings skill do?

Use when adding or auditing ECS entity. fields (entity inventory / entity store) on Elastic integrations — classifying a data stream as entity vs event, mapping vendor fields to entity.attributes., entity.lifecycle., and entity.relationships., or running an entity-coverage gap analysis on an existing package. Invoke manually with /entity-mappings.

How do I install entity-mappings?

Run npx skills add https://github.com/elastic/integration-skills --skill entity-mappings in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/entity-mappings/ (personal) or .claude/skills/entity-mappings/ (project).

Which AI agents can use entity-mappings?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is entity-mappings safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains entity-mappings?

It is published by elastic in elastic/integration-skills. It has 82 recorded installs.

More from elastic/integration-skills

View all →

ingest-pipelines

elastic/integration-skills

Use when designing or modifying Elasticsearch ingest pipelines, including single-path parsing, branching logic, sub-pipelines, enrichment processors, and robust onfailure handling.

517 installs

integration-testing

elastic/integration-skills

Use when creating, running, or debugging elastic-package tests — pipeline fixture authoring and expected output, system tests with mock API wiring, and script tests for failure paths and upgrades. Load the reference file for the test type you are working on.

Testing & QA514 installs

research-integration

elastic/integration-skills

Research a vendor, product, or feature to collect all information needed before building an Elastic integration. Investigates data collection methods, API or log documentation, sample data formats, field schemas, ECS mapping candidates, and configuration requirements. Outputs a structured research brief to researchresults/ /. Invoke manually with /research-integration.

dashboard-review

elastic/integration-skills

Use when reviewing dashboard JSON changes in a PR or branch. Extracts structured descriptions with kbdash, compares before/after, and checks guideline compliance.

Data & Databases511 installs

ecs-field-mappings

elastic/integration-skills

Use when defining field mappings for data streams, populating ecs.yml with ECS field references, selecting ECS categorization values, choosing custom field types, or troubleshooting mapping validation failures.

511 installs

anonymize-logs

elastic/integration-skills

Anonymize and sanitize customer-provided log files. Performs a line-by-line review and replaces all sensitive values inline, preserving log structure and format exactly — never reformats, re-indents, or restructures content. Use when sanitizing customer logs, sample events, or test fixtures. Invoke manually with /anonymize-logs.

Testing & QA510 installs

Popular testing & qa skills

View category →

tdd

mattpocock/skills

Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

Testing & QA1.2M installs

grilling

mattpocock/skills

Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

Testing & QA996.2K installs

migrate-to-shoehorn

mattpocock/skills

Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.

Testing & QA484.1K installs

run-train

lllllllama/rigorpilot-skills

Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.

Testing & QA337.8K installs

test-driven-development

obra/superpowers

Use when implementing any feature or bugfix, before writing implementation code

Testing & QA261.8K installs

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work

Testing & QA216.8K installs