From elastic-agent-skills
Migrates Python apps from classic Elastic APM (elastic-apm) to EDOT (elastic-opentelemetry). Removes old agent references, installs new packages, runs edot-bootstrap, instruments entrypoint, and sets OTEL env vars.
npx claudepluginhub elastic/agent-skills --plugin elastic-cloudThis skill uses the workspace's default tool permissions.
Read the migration guide before making changes:
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Generates images from structured JSON prompts via Python script execution. Supports reference images and aspect ratios for characters, scenes, products, visuals.
Read the migration guide before making changes:
elastic-apm from requirements, ElasticAPM(app) / elasticapm.contrib.* from
application code, app.config['ELASTIC_APM'] blocks, and all ELASTIC_APM_* env varselastic-opentelemetry via pip (add to requirements.txt or equivalent)edot-bootstrap --action=install during image build to install auto-instrumentation packages for detected
librariesopentelemetry-instrument — e.g. opentelemetry-instrument gunicorn app:app.
Without this, no telemetry is collectedOTEL_SERVICE_NAME (replaces ELASTIC_APM_SERVICE_NAME)OTEL_EXPORTER_OTLP_ENDPOINT — must be the managed OTLP endpoint or EDOT Collector URL. Do NOT reuse the
old ELASTIC_APM_SERVER_URL value. Never use an APM Server URL (no apm-server, no :8200, no
/intake/v2/events)OTEL_EXPORTER_OTLP_HEADERS — "Authorization=ApiKey <key>" or "Authorization=Bearer <token>" (replaces
ELASTIC_APM_SECRET_TOKEN)OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER, or OTEL_LOGS_EXPORTER — the defaults are already
correctelastic-apm and EDOT on the same applicationSee the EDOT Python migration guide for complete examples.