dd-apm
APM - traces, services, dependencies, performance analysis.
Use pup CLI for immediate Datadog operations or generate code for integration into applications
$ npx -y skills add DataDog/pup --skill dd-code-generation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dd-code-generationContext preview
The summary Claude sees to decide when to auto-load this skill.
Use pup CLI for immediate Datadog operations or generate code for integration into applications
description: Use pup CLI for immediate Datadog operations or generate code for integration into applications tags: [pup, cli, code-generation, typescript, python, java, go, rust]
This skill helps users interact with Datadog through two complementary approaches: 1. **Immediate execution** using the `pup` CLI tool 2. **Code generation** for application integration using Datadog API clients
Use this skill when the user:
The `pup` CLI is a command-line wrapper for Datadog APIs written in Rust. It provides:
# OAuth2 (preferred) pup auth login # API Keys (fallback) export DD_API_KEY="your-api-key" export DD_APP_KEY="your-app-key" export DD_SITE="datadoghq.com"
pup <domain> <action> [options]
pup <domain> <subgroup> <action> [options]
# Examples
pup monitors list --tags="env:prod"
pup logs search --query="status:error" --from="1h"
pup metrics query --query="avg:system.cpu.user{*}" --from="1h"See `pup --help` for complete command reference.
When users want immediate results, execute pup commands:
# Query metrics
pup metrics query --query="avg:system.cpu.user{*}" --from="1h" --to="now"
# Search logs
pup logs search --query="status:error service:api" --from="30m"
# List monitors
pup monitors list --tags="team:backend"
# Get dashboard
pup dashboards get abc-123-defWhen users want to integrate into their application, provide code examples using official Datadog API clients.
import { client, v2 } from '@datadog/datadog-api-client';
// Configure authentication
const configuration = client.createConfiguration({
authMethods: {
apiKeyAuth: process.env.DD_API_KEY || '',
appKeyAuth: process.env.DD_APP_KEY || '',
},
});
// Query metrics
async function queryMetrics() {
const apiInstance = new v2.MetricsApi(configuration);
try {
const params: v2.MetricsApiQueryTimeseriesDataRequest = {
body: {
data: {
type: 'timeseries_request',
attributes: {
formulas: [{
formula: 'query1'
}],
queries: [{
name: 'query1',
dataSource: 'metrics',
query: 'avg:system.cpu.user{*}'
}],
from: Date.now() - 3600000, // 1 hour ago
to: Date.now()
}
}
}
};
const result = await apiInstance.queryTimeseriesData(params);
console.log(JSON.stringify(result, null, 2));
} catch (error) {
console.error('Error:', error);
}
}
queryMetrics();**Installation**: `npm install @datadog/datadog-api-client`
#!/usr/bin/env python3
import os
from datetime import datetime, timedelta
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.metrics_api import MetricsApi
from datadog_api_client.v2.model.timeseries_formula_request import TimeseriesFormulaRequest
from datadog_api_client.v2.model.timeseries_formula_query_request import TimeseriesFormulaQueryRequest
from datadog_api_client.v2.model.timeseries_formula_request_attributes import TimeseriesFormulaRequestAttributes
from datadog_api_client.v2.model.timeseries_formula_request_type import TimeseriesFormulaRequestType
def configure_datadog():
configuration = Configuration()
configuration.api_key['apiKeyAuth'] = os.getenv('DD_API_KEY')
configuration.api_key['appKeyAuth'] = os.getenv('DD_APP_KEY')
configuration.server_variables['site'] = os.getenv('DD_SITE', 'datadoghq.com')
return configuration
def query_metrics():
configuration = configure_datadog()
with ApiClient(configuration) as api_client:
api_instance = MetricsApi(api_client)
# Query parameters
now = int(datetime.now().timestamp())
one_hour_ago = int((datetime.now() - timedelta(hours=1)).Every AI agent needs a loyal companion. Meet Pup — the CLI that gives your agents full access to Datadog's observability platform (because even autonomous agents need good tooling, not just tricks).
Repo: DataDog/pup
APM - traces, services, dependencies, performance analysis.
Live Debugger - inspect runtime argument/variable values in production by placing log probes on methods. Use when asked what values a function receives, what…
Datadog docs lookup using docs.datadoghq.com/llms.txt and linked Markdown pages.
File GitHub issues to the right repository (pup CLI or plugin)
Log management - search, pipelines, archives, and cost control.
Monitor management - create, update, mute, and alerting best practices.