Labsco
datadog-labs logo

onboarding-summary

138

by datadog-labs · part of datadog-labs/agent-skills

Generate a live Single Step Instrumentation (SSI) onboarding confirmation report — verifies APM instrumentation is working end-to-end with deep links into the…

🔥🔥✓ VerifiedFreeQuick setup
🧩 One of 7 skills in the datadog-labs/agent-skills package — works on its own, and pairs well with its siblings.

This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.


name: onboarding-summary description: Generate a live Single Step Instrumentation (SSI) onboarding confirmation report — verifies APM instrumentation is working end-to-end with deep links into the Datadog UI. Only use after agent-install and enable-ssi have both completed successfully. metadata: version: "1.0.0" author: datadog-labs repository: https://github.com/datadog-labs/agent-skills tags: datadog,apm,kubernetes,ssi,summary,verification alwaysApply: "false"

APM Onboarding Summary

Triggers

Invoke this skill when:

  • All steps in verify-ssi have passed
  • All checks in troubleshoot-ssi have been resolved
  • The user asks "is everything working?", "show me the status", or "confirm APM is set up"

Do NOT invoke this skill if any verification or troubleshooting check is still failing — resolve those first.


Context to resolve before acting

VariableHow to resolve
AGENT_NAMESPACENamespace where Datadog Agent is installed
APP_NAMESPACENamespace of the application
APP_LABELCheck spec.selector.matchLabels.app in the Deployment manifest
CLUSTER_NAMEspec.global.clusterName in datadog-agent.yaml
SERVICE_NAMEtags.datadoghq.com/service label on the Deployment
ENVtags.datadoghq.com/env label on the Deployment
DD_SITEspec.global.site in datadog-agent.yaml

Collect live confirmation data

Run all of the following. Each populates a row in the final report.

Claude runs

# Agent pod count and status
kubectl get pods -n <AGENT_NAMESPACE> \
  -l app.kubernetes.io/component=agent \
  --no-headers

# SSI instrumentation config live in cluster
kubectl get datadogagent datadog -n <AGENT_NAMESPACE> \
  -o jsonpath='{.spec.features.apm.instrumentation}'

# Init container confirmed in app pod spec
kubectl get pod -l app=<APP_LABEL> -n <APP_NAMESPACE> \
  -o jsonpath='{.items[0].spec.initContainers[*].name}'

# Pod confirmed instrumented — init containers in pod spec
kubectl get pod -l app=<APP_LABEL> -n <APP_NAMESPACE> \
  -o jsonpath='{.items[0].spec.initContainers[*].name}'

# Service visible and traced in APM
DD_SITE=<DD_SITE> pup apm services list --env <ENV> --from 1h

# Traces arriving in the last hour
DD_SITE=<DD_SITE> pup traces search --query "service:<SERVICE_NAME>" --from 1h --limit 5

Present the report

Fill in every value from live command output. Do not leave any placeholder unfilled. If a value cannot be confirmed, mark that row as failed and link to troubleshoot-ssi.


APM onboarding complete

CheckDetailStatus
Datadog Agent<N> pod(s) Running in <AGENT_NAMESPACE>OK
SSI enabledTargeting namespace <APP_NAMESPACE>, language <LANGUAGE> v<MAJOR_VERSION>OK
Init container injecteddatadog-lib-<language>-init present in pod specOK
Pod instrumented<POD_NAME> in pup fleet instrumented-pods listOK
Tracer reportingService <SERVICE_NAME>, <LANGUAGE>, tracer v<TRACER_VERSION>OK
APM service visible<SERVICE_NAME> in env <ENV>OK
Traces arriving<N> trace(s) found in the last hourOK

Your service in Datadog — click to open:

Construct each URL by substituting real values. Do not print placeholder URLs.

ViewURL
Service overviewhttps://app.<DD_SITE>/apm/services/<SERVICE_NAME>?env=<ENV>
Traces explorerhttps://app.<DD_SITE>/apm/traces?query=service:<SERVICE_NAME>%20env:<ENV>
Service maphttps://app.<DD_SITE>/apm/map?env=<ENV>&service=<SERVICE_NAME>
Agent fleethttps://app.<DD_SITE>/fleet-automation

Security constraints

  • Never write a raw API key into any file or chat message