Install the Datadog Agent on Linux hosts via SSH with Single Step Instrumentation (SSI) enabled — SSI automatically instruments applications for APM without code changes.
Install the "agent-install" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-apm/linux-ssi/agent-install into .claude/skills/agent-install/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-install", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add datadog-labs/agent-skills --skill agent-install -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "agent-install" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-apm/linux-ssi/agent-install into .agents/skills/agent-install/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-install", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add datadog-labs/agent-skills --skill agent-install -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "agent-install" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-apm/linux-ssi/agent-install into .cursor/skills/agent-install/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-install", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add datadog-labs/agent-skills --skill agent-install -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "agent-install" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-apm/linux-ssi/agent-install into .gemini/skills/agent-install/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-install", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add datadog-labs/agent-skills --skill agent-install -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "agent-install" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-apm/linux-ssi/agent-install into .github/skills/agent-install/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-install", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add datadog-labs/agent-skills --skill agent-install -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "agent-install" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-apm/linux-ssi/agent-install into .opencode/skills/agent-install/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-install", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
agent-install
GitHub stars
177
Token cost
~2.7k tokens
SKILL.md length
868 words
Files
1
Skills in repo
38
Repo updated
First seen
Licence
MIT
At a glance
Install the Datadog Agent on Linux hosts via SSH with Single Step Instrumentation (SSI) enabled — SSI automatically instruments applications for APM without code changes.
Works in 5 steps: Load Credentials → Gather Infrastructure Info → Install the Datadog Agent with SSI → …
No agent is installed yet
SKILL.md covers Triggers, Phase 0: Load Credentials, Phase 1: Gather Infrastructure… and Prerequisites, plus 6 more sections
Calls ssh, curl and yum; reaches install.datadoghq.com; needs SSH_KEY and DD_API_KEY
What it does
Agent Install is an agent skill from datadog-labs/agent-skills. Install the Datadog Agent on Linux hosts via SSH with Single Step Instrumentation (SSI) enabled — SSI automatically instruments applications for APM without code changes. Only use if no agent is installed yet.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud, covering Monitoring and alerting. It works with Linux and Datadog. The repository describes itself as: Public repository for Datadog Agent Skills. The licence is MIT.
When your agent uses it
No agent is installed yet
Tasks that involve Monitoring and alerting
Example prompts
“/agent-install”
Requirements
Python 3
A credential in DD_API_KEY
A credential in SSH_KEY
Workflow steps
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5b40c73. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Shell commands in SKILL.md call:
ssh
curl
yum
bash
From the folder's file list and the shell code blocks in SKILL.md.
Network
Hosts in commands or code, which the agent is likely to contact:
install.datadoghq.com
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names these keys or tokens, usually read from environment variables:
SSH_KEY
DD_API_KEY
NEW_API_KEY
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Agent Install loads about 2.7k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 868 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~56
When it runs· the whole SKILL.md, loaded when a task matches
~2.7k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check: warnings
The automated check found patterns that need a careful read before installing.
NoteRuns commands with sudoSKILL.md:138
rmission error — ensure the SSH user has sudo access. The install script requires root.
NoteRuns commands with sudoSKILL.md:163
(sudo systemctl restart datadog-agent 2>/dev/null || sudo service datadog-agent restart)"
NoteRuns commands with sudoSKILL.md:169
emctl start datadog-agent 2>/dev/null && sudo systemctl enable datadog-agent 2>/dev/null || sudo service datadog-agent s
NoteRuns commands with sudoSKILL.md:175
"ls /opt/datadog-packages/ && sudo datadog-installer status 2>/dev/null | grep apm | head -10"
NoteRuns commands with sudoSKILL.md:205
echo \"hostname: ${ACTUAL_HOSTNAME}\" | sudo tee -a /etc/datadog-agent/datadog.yaml"
NoteRuns commands with sudoSKILL.md:209
ctl restart datadog-agent 2>/dev/null || sudo service datadog-agent restart"
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/agent-install/SKILL.md (or your agent's skills folder).
name
agent-install
description
Install the Datadog Agent on Linux hosts via SSH with Single Step Instrumentation (SSI) enabled — SSI automatically instruments applications for APM without code changes. Only use if no agent is installed yet.
metadata.version
1.0.0
metadata.author
datadog-labs
metadata.repository
https://github.com/datadog-labs/agent-skills
metadata.tags
datadog,apm,linux,agent,install,ssi,ssh
metadata.alwaysApply
false
Install Datadog Agent on Linux
Before doing anything else: Fully resolve all variables in ## Context to resolve before acting. Do not begin Step 1 until every variable has a concrete value.
Triggers
Invoke this skill when the user expresses intent to:
Install the Datadog Agent on Linux hosts or VMs
Set up Datadog monitoring on bare-metal or cloud Linux instances
Prepare Linux hosts for APM onboarding
Do NOT invoke this skill if:
The Agent is already installed on all hosts — check with datadog-agent status first
The target is a Kubernetes cluster — use dd-apm-k8s-agent-install instead
If it returns a hostname — proceed.
ERROR: Connection refused or timeout — resolve connectivity before continuing.
Once SSH is confirmed, present a plan to the user before proceeding. For example:
Here's what I'm going to do:
1. Install the Datadog Agent with SSI on: <host1>, <host2>, ...
2. Verify each agent is running and healthy
3. Discover services on each host that need restarting for SSI to take effect
4. After you restart services, verify instrumentation is working
Ready to proceed?
Wait for user confirmation before starting installs.
If architecture is x86_64 or aarch64, and the OS is a supported distribution (Ubuntu 16.04+, Debian 9+, RHEL/CentOS 6-9, Amazon Linux 2/2023, SUSE 12+) — proceed.
ERROR: Architecture is armv7l (32-bit ARM) or unsupported OS — stop. Datadog Agent 7 and SSI do not support this configuration.
Context to resolve before acting
Variable
How to resolve
DD_API_KEY
Check echo $DD_API_KEY first — if set, use it. Otherwise ask the user for their API key from Datadog UI: Organization Settings → API Keys. Never log or print the key.
DD_SITE
Check echo $DD_SITE first — if set, use it. Otherwise ask the user. Default: datadoghq.com. Options: datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, datadoghq.eu, ap1.datadoghq.com
SSH_KEY
Ask the user for the path to their SSH private key, or check CLAUDE.md
SSH_USER
Ask the user for the SSH username. Default: root
SSH_HOST
Ask the user for the hostname or IP of the target host
SSH_PORT
Ask the user for the SSH port. Default: 22
Phase 2: Install the Datadog Agent with SSI
Run for each host that does not already have the agent installed.
DD_APM_INSTRUMENTATION_ENABLED=host causes the install script to also install datadog-apm-inject and language library packages under /opt/datadog-packages/ in one pass.
If the script completes without errors — proceed to Phase 2.
Verify APM inject packages are present on disk (not just registered):
bash
ssh -o StrictHostKeyChecking=no -i <SSH_KEY> <SSH_USER>@<SSH_HOST> \
"ls /opt/datadog-packages/ && sudo datadog-installer status 2>/dev/null | grep apm | head -10"
If /opt/datadog-packages/datadog-apm-inject exists — injection is available.
ERROR: Directory missing or empty — datadog-installer status may show the package as registered while its directory is actually empty (stale registration). Reinstall:
Verify hostname registration — the Agent must resolve and register its hostname for the host to appear in Datadog. DNS lookup failures are common in containers and minimal VMs:
bash
ssh -o StrictHostKeyChecking=no -i <SSH_KEY> <SSH_USER>@<SSH_HOST> \
"sudo datadog-agent status 2>&1 | grep -iE '^\s+Hostname' | head -3"
If Hostname: <some-name> is shown — hostname resolved. Record this as DD_HOSTNAME for all subsequent steps.
ERROR: Hostname: (none) or any DNS resolution error — the agent can't resolve its own FQDN. Fix by setting the hostname explicitly in datadog.yaml:
bash
# Read the actual system hostname
ACTUAL_HOSTNAME=$(ssh -o StrictHostKeyChecking=no -i <SSH_KEY> <SSH_USER>@<SSH_HOST> "hostname")
# Append to datadog.yaml only if not already set
ssh -o StrictHostKeyChecking=no -i <SSH_KEY> <SSH_USER>@<SSH_HOST> \
"grep -q '^hostname:' /etc/datadog-agent/datadog.yaml || \
echo \"hostname: ${ACTUAL_HOSTNAME}\" | sudo tee -a /etc/datadog-agent/datadog.yaml"
# Restart the Agent
ssh -o StrictHostKeyChecking=no -i <SSH_KEY> <SSH_USER>@<SSH_HOST> \
"sudo systemctl restart datadog-agent 2>/dev/null || sudo service datadog-agent restart"
# Confirm hostname is now registered
ssh -o StrictHostKeyChecking=no -i <SSH_KEY> <SSH_USER>@<SSH_HOST> \
"sudo datadog-agent status 2>&1 | grep -iE '^\s+Hostname' | head -2"
Phase 4: Discover Services That Need Restarting
SSI only injects into processes at startup. Existing processes keep running uninstrumented until restarted. Discover what's running so the user knows what to restart.
For each application-level listener (ignore sshd, systemd, chronyd):
bash
ssh -o StrictHostKeyChecking=no -i <SSH_KEY> <SSH_USER>@<SSH_HOST> "
# Command line of the process
sudo cat /proc/<PID>/cmdline | tr '\0' ' '
# Service manager (may not be available in all environments)
sudo systemctl status <PID> 2>/dev/null | head -3 || true
# Parent process
PPID=\$(sudo awk '/PPid/ {print \$2}' /proc/<PID>/status)
sudo cat /proc/\$PPID/cmdline | tr '\0' ' '
"
Present findings to the user:
I found the following application services on <host>:
Port 8080 — PID 1234 — /usr/bin/python3 /app/server.py
Managed by: systemd unit flask-app.service
Port 3000 — PID 5678 — node /app/server.js
Managed by: supervisord
These services need to be restarted for Datadog SSI to inject into them.
Restart them however is appropriate for your environment, then let me know
and I'll verify the instrumentation.
Do not offer to restart services. Do not restart services unless the user explicitly asks.
Done
Exit when ALL of the following are true:
Agent running on each target host (datadog-agent status shows Running, API key valid)
/opt/datadog-packages/datadog-apm-inject exists on disk on each host
User has been informed which services need restarting
User has confirmed they are ready to restart services
Automatically proceed to enable-ssi (if services need UST labels configured) or verify-ssi (if services have already been restarted) — do not ask the user for permission.
Security constraints
Never write a raw API key into any file or chat message
Never store DD_API_KEY in shell history — pass it inline in the SSH command only
If the user's API key appears in any output, redact it before displaying
Always confirm before restarting production services
Agent Install next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Connect any tool you use at work to your agent — including internal company tools, custom-built systems, deployment portals, incident trackers, internal knowledge bases, HR systems, and commercial…
Redis observability guidance — which metrics to monitor (memory, connections, hit ratio, ops/sec, rejected connections), which built-in commands to reach for during incident triage (SLOWLOG, INFO…
Install the Datadog Agent on Kubernetes using the Datadog Operator — required before enabling Single Step Instrumentation (SSI), which automatically instruments applications for APM without code…
Set up the Datadog AWS integration with Terraform - creates the cross-account IAM role Datadog assumes (external ID, no stored credentials), attaches the permission policies Datadog publishes, and…
Install the Datadog Agent on Linux hosts via SSH with Single Step Instrumentation (SSI) enabled — SSI automatically instruments applications for APM without code changes. Agent Install is an agent skill from datadog-labs/agent-skills. Install the Datadog Agent on Linux hosts via SSH with Single Step Instrumentation (SSI) enabled — SSI automatically instruments applications for APM without code changes.
When should I use Agent Install?
Agent Install fits situations like: no agent is installed yet; tasks that involve Monitoring and alerting.
How do I install Agent Install in Claude Code?
Run `npx skills add datadog-labs/agent-skills --skill agent-install -a claude-code`. Or copy the skill folder (dd-apm/linux-ssi/agent-install in datadog-labs/agent-skills) into .claude/skills/agent-install in your project. Claude Code loads it when a task matches its description.
How do I install Agent Install in Codex?
Run `npx skills add datadog-labs/agent-skills --skill agent-install -a codex`. Or copy the skill folder (dd-apm/linux-ssi/agent-install in datadog-labs/agent-skills) into .agents/skills/agent-install in your project. Codex loads it when a task matches its description.
Can I use Agent Install in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add datadog-labs/agent-skills --skill agent-install -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agent-install, .gemini/skills/agent-install, .github/skills/agent-install and .opencode/skills/agent-install in your project.
What does Agent Install need to run?
Going by SKILL.md and its folder, Agent Install needs the command-line tools its instructions call (ssh, curl, yum and bash) and credentials named SSH_KEY, DD_API_KEY and NEW_API_KEY. Our summary lists: Python 3; A credential in DD_API_KEY; A credential in SSH_KEY.
Does Agent Install access the network?
SKILL.md names 1 domain. In commands or code: install.datadoghq.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Is Agent Install safe to install?
Our automated static check of SKILL.md flagged some warning(s): . Read the flagged lines before installing; the check is not a guarantee either way.
What licence does Agent Install use?
Agent Install is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Agent Install use?
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Agent Install?
Skills that share tags, products or a category with Agent Install: Apm Integrations (DataDog/dd-trace-js, 836 stars), Apm Integrations (DataDog/dd-trace-java, 736 stars), Tool Connector (ZhixiangLuo/10xProductivity, 478 stars) and Redis Observability (redis/agent-skills, 165 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Agent Install?
datadog-labs (a GitHub organization) maintains it in datadog-labs/agent-skills, which has 177 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on October 7, 2026.
Source: datadog-labs/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.