datadog-pup
Skill41 starsChanged 6 days agoApache-2.0View on GitHub
Inspect and operate Datadog with the pup CLI: logs, metrics, monitors, APM, incidents, dashboards, SLOs, Live Debugger, Service Catalog.
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- chainsSkill
- codebase-orientationSkill
- concept-diagramsSkill
- diagnoseSkill
- hcSkill
- validation-reviewSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 0 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Prefer --output=json, --read-only, explicit --from, and small limits:
- Very specific: line 22
Treat Datadog as production data.
- Very specific: line 23
Use API-side filters/aggregation.
- Very specific: line 68
Run a probe watch in hc so it doesn't block you: hc run --bg --name pup-watch pup debugger probes watch <id> --timeout 60 --limit 10 …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Datadog via Pup
Pup is broad and self-describing; prefer live command discovery over memorized flags.
First moves
which pup && pup --version && pup auth status. This user's org is ondatadoghq.eu— exportDD_SITE=datadoghq.eufor the session. If auth is missing/expired, ask the user to runpup auth loginor provide the rightDD_SITE. Do not loop on 401/403.- Discover before guessing:
pup agent schema --compact(command map),pup agent guide,pup <domain> --help.FORCE_AGENT_MODE=1turns help into JSON — never use it for writes without--read-only; agent mode may auto-approve prompts. - Prefer
--output=json,--read-only, explicit--from, and small limits:
DD_SITE=datadoghq.eu pup --read-only logs search --query="status:error" --from="1h" --limit=20 --output=jsonSafety rules
- Treat Datadog as production data. Default to read-only; writes (create/update/delete, downtimes, debugger probes, workflow runs, key/user/config changes) need explicit confirmation with the exact command or JSON body shown first.
- Use API-side filters/aggregation; never fetch huge datasets to post-process locally. Always pass
--from; start narrow (15m–1h, low limits) and widen only with a reason. - Redact secrets, tokens, emails, user IDs, and sensitive attributes unless explicitly needed. Preserve IDs and links so findings are auditable.
- 401/403: stop, report auth/scope issue, suggest
pup auth refresh/loginor key scopes. 429: back off and narrow.
Common read workflows
Logs — count first, then sample. Query syntax: status:error, service:api, env:prod, @http.status_code:[500 TO 599], quoted phrases, AND/OR, negation:
pup --read-only logs aggregate --query="status:error env:prod" --from="1h" --compute="count" --group-by="service" --output=json
pup --read-only logs search --query="status:error env:prod service:<svc>" --from="1h" --limit=20 --output=jsonMetrics — shape <aggregation>:<metric>{<scope>} by {<group>}:
pup --read-only metrics query --query="avg:system.cpu.user{env:prod} by {host}" --from="1h" --output=json
pup --read-only metrics list --filter="trace.*" --output=jsonAPM/traces — durations in trace search are often nanoseconds: 1s = 1000000000:
pup --read-only apm services stats --env production --from="1h" --output=json
pup --read-only traces search --query="service:<svc> status:error" --from="1h" --limit=20 --output=json
pup --read-only traces aggregate --query="service:<svc>" --from="1h" --compute="avg(@duration)" --group-by="resource_name" --output=jsonMonitors/SLOs/incidents — filter monitor lists by service:/team:/env:/status in large orgs:
pup --read-only monitors search --query="status:Alert" --output=json
pup --read-only slos list --output=json
pup --read-only incidents list --query="status:active" --output=jsonService Catalog — use before guessing ownership, on-call, dependencies, or health: pup --read-only idp find|assist|owner|deps <service> --output=json.
Live Debugger / Symbol DB — can affect production; explicit user approval only. Before creating a probe confirm service, env, location, captures, TTL, and cleanup; prefer capture expressions over full snapshots; short TTL; delete after use.
pup --read-only debugger context <service> --fields service,language,envs
pup --read-only symdb search --service <service> --query "Controller" --view probe-locationsRun a probe watch in hc so it doesn't block you: hc run --bg --name pup-watch pup debugger probes watch <id> --timeout 60 --limit 10 --fields message,captures,timestamp, then hc wait pup-watch and hc read pup-watch.
Writes
Explain the change → prepare a body file (pup monitors create --file monitor.json) → validate with list/get → show the exact command → get confirmation → execute with the smallest scope → verify with a read → record created IDs and rollback steps. --yes only after user approval, never to bypass ambiguity.
Domain map
pup agent schema --compact for the live list. Common: logs, metrics, traces, apm, monitors/downtime, slos, incidents/on-call/cases, dashboards/notebooks, idp/service-catalog, security/audit-logs/csm-threats, rum/synthetics/error-tracking, cloud/infrastructure/containers/network/processes, usage/costs, debugger/symdb, workflows/runbooks/investigations/bits.
Some domains need API/app keys even with OAuth; if scopes are unsupported/insufficient, report it and ask for the right credential path.
Reporting
Summarize — no raw JSON dumps unless requested: what I checked (command + range + filters), findings (counts/trends/top offenders + IDs/links), caveats (auth/site/sampling/retention), and one or two next safe queries. For incidents, preserve chronology: deploys/events → monitor state → log spikes → trace latency/errors → infra metrics → active incidents.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

