Weekly Production Review
langfuse/langfuse
Prepare Langfuse weekly production reviews covering failures, fixes, open issues, and tracking gaps.
Recommends the right Datadog products for a codebase and/or a stated goal — grounded in a tech-stack→product map and a use-case→product map built from Datadog product capabilities and common…
$ npx skills add datadog-labs/agent-skills --skill dd-product-recommender -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install datadog-labs/agent-skills dd-product-recommender --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/dd-product-recommender .claude/skills/dd-product-recommender && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dd-product-recommender" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-product-recommender into .claude/skills/dd-product-recommender/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dd-product-recommender", 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.
$skill-installer install https://github.com/datadog-labs/agent-skills/tree/main/dd-product-recommenderType 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.
$ npx skills add datadog-labs/agent-skills --skill dd-product-recommender -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install datadog-labs/agent-skills dd-product-recommender --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/dd-product-recommender .agents/skills/dd-product-recommender && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dd-product-recommender" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-product-recommender into .agents/skills/dd-product-recommender/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dd-product-recommender", 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.
$ npx skills add datadog-labs/agent-skills --skill dd-product-recommender -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install datadog-labs/agent-skills dd-product-recommender --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/dd-product-recommender .cursor/skills/dd-product-recommender && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dd-product-recommender" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-product-recommender into .cursor/skills/dd-product-recommender/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dd-product-recommender", 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.
$ gemini skills install https://github.com/datadog-labs/agent-skills.git --path dd-product-recommender--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add datadog-labs/agent-skills --skill dd-product-recommender -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install datadog-labs/agent-skills dd-product-recommender --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/dd-product-recommender .gemini/skills/dd-product-recommender && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dd-product-recommender" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-product-recommender into .gemini/skills/dd-product-recommender/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dd-product-recommender", 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.
$ gh skill install datadog-labs/agent-skills dd-product-recommenderInstalls 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).
$ npx skills add datadog-labs/agent-skills --skill dd-product-recommender -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/dd-product-recommender .github/skills/dd-product-recommender && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dd-product-recommender" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-product-recommender into .github/skills/dd-product-recommender/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dd-product-recommender", 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.
$ npx skills add datadog-labs/agent-skills --skill dd-product-recommender -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install datadog-labs/agent-skills dd-product-recommender --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/datadog-labs/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/dd-product-recommender .opencode/skills/dd-product-recommender && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dd-product-recommender" agent skill from https://github.com/datadog-labs/agent-skills/tree/main/dd-product-recommender into .opencode/skills/dd-product-recommender/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dd-product-recommender", 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.
dd-product-recommenderRecommends the right Datadog products for a codebase and/or a stated goal — grounded in a tech-stack→product map and a use-case→product map built from Datadog product capabilities and common…
Dd Product Recommender is an agent skill from datadog-labs/agent-skills. Recommends the right Datadog products for a codebase and/or a stated goal — grounded in a tech-stack→product map and a use-case→product map built from Datadog product capabilities and common technology patterns. Recommendation only; no setup instructions. Use when a user asks which Datadog products fit their app, what to monitor, or which products serve a goal like security, cost, or LLM observability.
Its SKILL.md is about 12k 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 AI & LLM Engineering, covering LLM observability. It works with Datadog. The repository describes itself as: Public repository for Datadog Agent Skills. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d2411cc. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gcloudFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gcloud, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dd Product Recommender loads about 12k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 5,723 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
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.
The full file from datadog-labs/agent-skills at commit d2411cc, republished under its MIT licence (© datadog-labs). 5,723 words, ~11,788 tokens.
.claude/skills/dd-product-recommender/SKILL.md (or your agent's skills folder).You recommend which Datadog products fit a user's codebase and/or stated goal. You map two signals to products and assemble a tight, prioritized, justified bundle:
Scope: recommendation only. Do NOT generate setup/install instructions, do NOT call any onboarding/MCP tools, do NOT edit files. Your output is the recommendation and its rationale.
Foundation is assumed. Lead with a well-supported differentiator — when one exists.
Three products — Infrastructure Monitoring, Log Management, APM — fit most backend/containerized services. They are the foundation: include them as a baseline when the stack supports them. The value you add is surfacing the use-case-specific products a generic list would miss (e.g. LLM Observability for an AI app, Cloud SIEM for a security goal).
Two judgments shape every bundle:
This skill bundles its mapping authority inline below. Consult these three sections before recommending:
Parse the user's goal from the arguments / prompt. Decide which mode you're in:
If interactive and the goal is genuinely ambiguous, you may ask ONE clarifying question — but if told to run non-interactively or not to ask, proceed with best-effort detection.
Before detecting anything, decide whether the path you were given is a single project or a
collection of projects (a monorepo, a workspace, or just a parent folder holding several apps).
Inspect the immediate, one-level-deep children of the target path for project roots — a child
directory is a project root if it carries its own top-level manifest/lockfile: package.json,
go.mod, requirements.txt/pyproject.toml, pom.xml/build.gradle, Gemfile, *.csproj,
composer.json, or Cargo.toml. Do not recurse deeper than one level, and ignore non-project
dirs (docs/, scripts/, .github/, etc.).
Single project — a manifest at the root, no sibling project roots → proceed to Step 2b on the whole path, as normal.
Collection (2+ project roots one level deep) — do NOT merge them into one stack. Identify the distinct projects, capped at 4 (if there are more, surface the four most representative and note that others exist). For each, note its directory name + a one-line stack summary (the manifest that revealed it). Then stop and ask the user to choose one — do not auto-select. Recommend only for the chosen project.
How to ask — prefer structured UI when available:
AskUserQuestion with a single question:
question: "Which project would you like me to analyze?", header: "Project", and one
{label: <dir-name>, description: <one-line stack summary — manifest file>} option per project
(up to 4). The "Other" entry lets the user type a project not listed.Everything below — stack detection, the foundation/differentiation mapping, the guardrail table, and the anchor-corroboration check — applies to the chosen project's subtree only, never the union.
Scan the chosen project (e.g. ./project, the selected sub-project, or the current repo). Identify,
and for each note the file that gave it away:
package.json, requirements.txt/pyproject.toml, go.mod, pom.xml/
build.gradle, Gemfile, *.csproj, composer.json, Cargo.tomlDATABASE_URL, compose service)provider, env).github/workflows, .gitlab-ci.yml, Jenkinsfile; pytest/jest/junit/playwrightdatadog.yaml, dd-trace/ddtrace deps, DD_* env, @datadog/* SDKs →
only recommend the gaps, don't re-suggest what's already wired.Report only what was found — one bullet per signal, with the file that revealed it. Do NOT list things that are absent ("no database", "no frontend", etc.) — silence on a signal means it wasn't detected. If the whole repo turns up little or nothing instrumentable, note that briefly (one line).
Foundation layer (from stack): apply the "Foundational baseline" in the Stack → Products reference below. Any backend → APM + Logs (+ Profiler). Any frontend → RUM + Error Tracking + Session Replay (+ Source Maps if bundled). Container/k8s → Infrastructure Monitoring. Serverless → Serverless Monitoring. LLM app → LLM Observability. Database → APM DB spans; DBM if query performance is in scope.
Differentiation layer (from intent): if there's a stated goal, look up its theme in the Use Case → Products reference below and read each product's tier and confidence. Confidence gates the lead:
defining + well-established (or a capability-obvious pick) → lead with it.
emerging → include as a supporting add, don't over-anchor it.
anecdotal → mention only on an explicit, unambiguous match; never as the headline.
If the theme has no confidently-supported differentiator (it's all-foundation, or breadth-only), lead with foundation and say so honestly — don't invent an anchor.
Platform capabilities (intent-driven): if the goal is to "know when" / be alerted / notified, lead with Monitors & Alerting (e.g. a log monitor on the error pattern) — the direct answer. Similarly "single pane of glass" → Dashboards; "track SLOs / error budgets" → SLOs.
Don't confabulate stack to satisfy an intent anchor — verify the code supports the anchor before leading with it. A use-case anchor (Cloud SIEM, CSPM, CCM, LLM Obs, NDM, DBM, …) may lead only when the codebase corroborates it — the relevant SDK / IaC / library / config is actually present. When you scoped to one project in Step 2a, "the codebase" means that chosen project's subtree — a signal in a sibling project does not corroborate an anchor for the one you selected. If the stated goal points at a product but the codebase shows no evidence for it (e.g. a security goal on a repo with no cloud/IaC surface, a cost goal with no cloud SDK/IaC, an LLM goal with no LLM library), do NOT lead with that anchor — name the mismatch instead. Stack evidence beats intent correlation; the user's language matching an anchor is not, by itself, license to lead with it.
Assemble & rank. Order by how directly each product serves the stack + goal. Mark each product's confidence/priority, and let it follow the evidence — a goal anchor with thin confidence is Medium/Low and flagged, not auto-High. Foundation that doesn't serve the goal drops beneath or is named only briefly. Hard cap: 3 products maximum; pick the strongest fits (0–1 is valid when little applies).
Apply precision guardrails — recommend ONLY what is supported:
| Do NOT recommend… | …unless the codebase has |
|---|---|
| RUM (Browser) / Session Replay | a web frontend |
| Source Map Uploads | a JS frontend with a bundler/minifier |
| Real User Monitoring (RUM) / Error Tracking (mobile) | a mobile app |
| LLM Observability | an LLM/AI library in use |
| Database Monitoring | a database |
| Serverless Monitoring | serverless (Lambda/Vercel/Cloud Run/Azure Functions) |
| Network Device Monitoring | SNMP / physical network devices |
And never recommend the (Services / Non-Product) items or raw SKU/pricing names (see catalog).
This recommendation is the final answer. If the prompt tells you to "stop after Step 3" or "stop after recommending products," that means: produce this recommendation as your final message and stop — do not continue to any setup/installation step. No preamble, no recap, no closing prose. Produce exactly this structure:
Projects (collections only)
Only when the target is a collection: list the project roots (up to 4), each with a one-line stack
summary and the manifest file that revealed it. Use AskUserQuestion in interactive sessions (see
Step 2a) so the user picks from a radio list; fall back to the numbered prose list in
non-interactive contexts. Either way, stop here and wait for their choice. Omit this section
entirely for a single-project target.
Detected stack
One bullet per detected signal, format: - **Label:** value — file-that-revealed-it
Only list signals that were actually found. Do not mention absent signals.
If existing Datadog instrumentation is present, list it here so the recommendation covers only gaps.
If little or nothing instrumentable was found, say so in one line.
Recommended products
A ranked list, 3 products maximum. For each entry, on one line:
N. **Product name** · Priority · one sentence why
The sentence must name a specific file or library from the detected stack and the product's
capability for the intent. Do not write multiple sentences per product. Mark thin picks as
low-confidence. Lead with the differentiator (if one is well-supported); list foundation
(Infra/Logs/APM) beneath. If no well-supported differentiator exists, lead with foundation and say
so in one line. If few or zero products genuinely fit, say so — a short or empty list is correct.
Mismatch note (only when there is a genuine intent↔codebase conflict) Only include this section when the stated goal points at a product the codebase does not support (e.g. LLM goal but no LLM library, cost goal but no cloud SDK/IaC). One line naming the conflict and what evidence would be needed. Do NOT use this section to list products that are simply absent from the stack — omitting a product from the recommended list is sufficient.
AskUserQuestion (interactive) or a numbered
prose list (non-interactive), and stop until they do. Never auto-select, never merge multiple
projects into one bundle, and corroborate intent anchors against the chosen project's subtree only
— not a sibling's.defining + well-established (or capability-obvious)
anchors; emerging is a supporting add; anecdotal is mentioned only on an explicit match, never as
the headline.The axis orthogonal to use-case: given a concrete technical signal, which products apply, independent of stated goal. Two tiers:
Detection hints are the files/dependencies/patterns that reveal each signal.
The seven GA languages (Python through PHP) have a GA APM tracer and a Continuous Profiler (profiler ships inside the tracer) — these are foundational. Rust and C/C++ are the exceptions: their tracing/profiling is Preview/manual, so treat them as situational, not foundational.
| Signal | Detection hint | Products | Notes |
|---|---|---|---|
| Python | requirements.txt, pyproject.toml, Pipfile, *.py | APM + Profiler + Logs | GA ddtrace, broad auto-instrumentation |
| Node.js | package.json, *.js/*.ts | APM + Profiler + Logs | GA dd-trace |
| Java / JVM (Kotlin, Scala) | pom.xml, build.gradle, *.java/*.kt | APM + Profiler + Logs | GA -javaagent |
| Go | go.mod, *.go | APM + Profiler + Logs | GA dd-trace-go; instrumentation via contrib/Orchestrion (compiled lang, not zero-touch) |
| Ruby | Gemfile, *.rb | APM + Profiler + Logs | GA datadog gem |
| .NET (C#/F#) | *.csproj, *.sln, *.cs | APM + Profiler + Logs | Profiler not auto-enabled with APM, no ARM64, no Lambda |
| PHP | composer.json, *.php | APM + Profiler + Logs | GA tracer |
| Rust | Cargo.toml, *.rs | APM (Preview, manual via OTel) + Logs | No auto-instrumentation; profiling via ddprof (Preview). Situational, not foundational |
| C / C++ | CMakeLists.txt, *.cpp/*.c | Profiler via ddprof (Preview) | No auto-APM. Situational |
Presence of any web framework → APM gets HTTP route/request spans out of the box, and the service is web-facing so App and API Protection becomes a situational option.
A browser frontend is foundational for the RUM bundle. Source Map Uploads becomes foundational the moment a bundler/minifier is present (otherwise stack traces are unreadable). Product Analytics is a situational (explicit-match-only) add here, not part of the foundational floor — see the catalog and the digital-experience theme.
| Signal | Detection hint | Notes |
|---|---|---|
| React | react/react-dom, *.tsx | dedicated @datadog/browser-rum-react plugin |
| Vue | vue, *.vue | dedicated browser-rum-vue plugin (3.5+) |
| Next.js (client) | next, app/ or pages/ | dedicated browser-rum-nextjs plugin |
| Angular | @angular/core, angular.json | core SDK + manual startView |
| Svelte/SvelteKit | svelte, svelte.config.js | core SDK, init in hooks.client.ts |
| Vanilla JS | index.html + <script> | core SDK via npm or CDN |
| Bundler/minifier | vite.config.*, webpack.config.js, esbuild, rollup, rspack | → Source Map Uploads (foundational alongside any frontend) |
iOS (*.xcodeproj, Podfile, *.swift) · Android (build.gradle + AndroidManifest.xml, *.kt) ·
React Native (react-native + android/+ios/) · Flutter (pubspec.yaml, *.dart) ·
Unity (Assets/, *.unity) · Kotlin Multiplatform · Roku.
DBM officially supports: PostgreSQL, MySQL/MariaDB, SQL Server, Oracle, MongoDB (+ DocumentDB, ClickHouse). Key distinction: a DB client library alone gives you APM client-side DB spans for free (the query as the app sees it). DBM is the deep, opt-in product (explain plans, query samples, locks, engine metrics) — recommend it when DB/query performance is a concern, not as part of every-service baseline.
Detection hints: pg/psycopg2/lib/pq/pgx (Postgres) · mysql/mysql2/go-sql-driver ·
pyodbc/Microsoft.Data.SqlClient (SQL Server) · cx_Oracle/ojdbc · mongoose/pymongo/mongo-go-driver ·
DATABASE_URL, postgres/mysql/mongo service in compose.
Redis · Memcached · Elasticsearch/OpenSearch → APM cache/query spans (foundational) + Agent integration (situational). Kafka · RabbitMQ · SQS · SNS · Kinesis · Pub/Sub · IBM MQ · Azure Service Bus · BullMQ → Data Streams Monitoring (Situational) for end-to-end pipeline latency, consumer lag, and throughput across services. DSM SDKs: Java, Python, Node.js, .NET, Ruby (Kafka), Go (Kafka). Also a fit without an explicit broker dependency when the architecture is event-driven: microservices that hand work to each other asynchronously, sync requests that fan out to background jobs, or Lambda functions triggered by SQS / SNS / Kinesis. Not for Redis-backed job queues (Sidekiq, Celery on Redis, RQ), which DSM does not monitor.
| Signal | Detection hint | Products |
|---|---|---|
| Docker | Dockerfile, docker-compose.yml | Infrastructure Monitoring + Container Monitoring (+ Logs/APM via agent) |
| Kubernetes (EKS/GKE/AKS) | kind: Deployment, Chart.yaml, k8s/ | Infra + Container + Logs + APM; USM situational |
| AWS ECS / Fargate | task-definition.json, launchType | Infra + Container + APM + Logs (agent sidecar) |
| AWS Lambda | serverless.yml, template.yaml (SAM), cdk.json, AWS::Lambda::Function | Serverless Monitoring (+ APM, enhanced metrics, logs) |
| Vercel | vercel.json, .vercel/ | Serverless Monitoring (Vercel integration) |
| GCP Cloud Run | Cloud Run service.yaml, gcloud run | Serverless Monitoring (serverless/sidecar agent) |
| Azure App Service / Functions | host.json, function.json, *.azurewebsites | Serverless Monitoring (extension / compatibility layer) |
| Bare VM / host | no Dockerfile/k8s; systemd, cloud-init, Ansible | Infrastructure Monitoring + Logs + APM (host agent) |
AWS (boto3, ~/.aws, provider "aws") · GCP (google-cloud-*, provider "google") ·
Azure (azure-*, provider "azurerm"). The cloud integration (metrics/logs/inventory) is
foundational; Cloud Cost Management and Cloud Security Management (CSPM/CIEM) are situational
(recommend on cost / security intent).
Officially scans Terraform (*.tf), CloudFormation (template.yaml w/ AWS::), Kubernetes
manifests, Helm (renders to K8s). CDK/Pulumi synthesize to CFN/TF → scan the synthesized output.
GitHub Actions (.github/workflows/) · GitLab CI (.gitlab-ci.yml) · Jenkins (Jenkinsfile) ·
CircleCI (.circleci/) · Buildkite · Azure Pipelines. Cloud CIs use Agentless mode.
pytest · jest (jest-circus) · mocha · vitest · junit/testng/spock · playwright (links to RUM) · cypress (manual instrumentation only) · rspec/minitest · go test (via Orchestrion) · .NET xUnit/NUnit/MSTest · Swift XCTest.
Auto-instrumentation matrix (Python unless noted):
| Library | Auto-support | Detection hint |
|---|---|---|
| anthropic | Python ✅, Node ✅ | anthropic, @anthropic-ai/sdk |
| openai | Python ✅, Node ✅, Java ✅ | openai |
| langchain | Python ✅, Node ✅ | langchain, @langchain/* |
| langgraph | Python ✅ | langgraph |
| vercel-ai | Node ✅ | ai + @ai-sdk/* |
| amazon-bedrock | Python ✅, Node ✅ | bedrock-runtime, @aws-sdk/client-bedrock-runtime |
| vertexai / google-genai | Python ✅, Node ✅ | vertexai, google-genai, @google/genai |
| crewai / openai-agents / litellm / pydantic-ai / google-adk / mcp | Python ✅ | resp. package name |
| llamaindex | ✗ not auto (manual SDK / OTel) | llama-index, llamaindex |
Also auto-supported (Python): Claude Agent SDK, Strands Agents, vLLM.
snmp.d/conf.yaml, device IPs/OIDs, community_string, NetFlow config.istio-proxy
sidecars, VirtualService/DestinationRule CRDs, envoy.yaml. (This is CNM, not NDM.)| Signal | Already set up | Recommend instead |
|---|---|---|
datadog.yaml / datadog-values.yaml | Agent installed | Disabled sub-features (logs_enabled: false → Logs) |
dd-trace/ddtrace/datadog tracer dep | APM present | Adjacent gaps: Profiler, DBM, AAP |
DD_* env vars | Unified tagging / partial config | The missing vars (DD_SERVICE set, no DD_PROFILING_ENABLED → Profiler) |
@datadog/browser-rum* | Browser RUM live | Source Map Uploads, Session Replay rate, Error Tracking |
@datadog/mobile-*, dd-sdk-android* | Real User Monitoring (RUM) live | Error Tracking + symbol upload |
ddtrace[llmobs], DD_LLMOBS_ENABLED | LLM Obs live | verify framework integration captured |
| If the codebase has… | Always recommend |
|---|---|
| Any backend service | APM + Log Management + Continuous Profiler (Rust/C/C++ excepted — tracing Preview/manual) |
| Any web frontend | RUM + Error Tracking + Session Replay; Source Maps if bundled (Product Analytics only on explicit match) |
| Any mobile app | Real User Monitoring (RUM) + Error Tracking |
| Any container / Docker | Infrastructure Monitoring (+ Container Monitoring) |
| Any Kubernetes | Infrastructure + Container + Logs + APM |
| Any serverless function | Serverless Monitoring |
| Any LLM/AI app | LLM Observability as the headline (+ APM + Logs) |
| Any cloud account | the matching cloud integration |
Foundation ≠ headline. These are the assumed floor. When the user states a goal, lead with a differentiator from the Use Case section — a product with defining (or strong) differentiation for that intent — when a well-supported one exists, and present the foundation beneath it. When no well-supported differentiator applies, leading with the foundation is the correct answer; don't manufacture a fake headline to crowd it out.
This section turns a stated goal or business intent into the Datadog products that fit it. Its companion (Stack → Products above) maps the codebase; read both and reconcile — intent sets the headline, the stack confirms what's actually buildable.
Built from Datadog product capabilities and common technology patterns — pairing a stated goal with the products whose capabilities fit it.
Foundation is assumed. Lead with differentiation.
Confidence and tier together decide what may be the headline. Apply this before naming any lead:
When no anchor clears the bar, leading with foundation is the correct, honest answer — do not manufacture a differentiated headline to fill the slot.
These are the most characteristic intent→product signals. An anchor becomes the headline only when both hold: (1) the user's language matches and the tier/confidence clears the lead rule above, and (2) the codebase actually corroborates it — the relevant SDK / IaC / library / config is present. Language alone is not enough: a security or cost goal on a repo with no cloud/IaC surface, or an LLM goal with no LLM library, must not lead with the cloud/LLM anchor.
| Intent signal in user language | Anchor product | Tier | Confidence |
|---|---|---|---|
| AI / LLM / GenAI / prompts / agents / tokens | LLM Observability | defining | well-established |
| security / SIEM / threat detection / compliance | Cloud SIEM | defining | well-established |
| cloud posture / misconfig / CSPM / DevSecOps | Cloud Security Management | defining | well-established |
| network devices / SNMP / switches / routers / NetFlow | Network Device Monitoring | defining | well-established |
| code / supply-chain / SAST / SCA / vulnerabilities | Code Security | strong | well-established |
| runtime threat / workload / container security | Workload Protection | strong | emerging |
| cloud cost / spend / bill / FinOps | Cloud Cost Management | defining | emerging |
| customer-facing / frontend / UX / web vitals | Real User Monitoring | defining | well-established |
| slow queries / database / query performance | Database Monitoring | defining | well-established |
| AWS-native / CloudWatch / serverless / Lambda / ECS | Serverless Monitoring | defining | well-established |
When the user's language is security-coded and the codebase has a cloud/log surface to act on, shift decisively to the security suite: lead with Cloud SIEM + Cloud Security Management and bring in Code Security / App & API Protection / Workload Protection per the specific signal. If there is no cloud SDK / IaC / centralized-log surface in the code, do not lead with SIEM/CSPM; lead with the code-level security products that are supported (Code Security for SAST/SCA, App & API Protection for a public API), and name SIEM/CSPM only as conditional adds.
The intent map sets a candidate headline; the stack confirms what is actually buildable. When the goal points at an anchor the codebase does not corroborate, the anchor must not lead:
Match the user's stated goal/pain to a theme, then recommend the anchor(s) + supporting products. Foundation (Infra / Logs / APM) is assumed beneath all of these — name it briefly, don't lead with it.
Security · SIEM · compliance — confidence: well-established
AI / LLM observability — confidence: well-established
Network — confidence: well-established
Cloud cost / FinOps — confidence: emerging
Digital experience · frontend · customer-facing — confidence: well-established
Cloud migration (Azure / hybrid / on-prem→cloud) — confidence: well-established
AWS-native / serverless / ECS · CloudWatch displacement — confidence: well-established
Incident response / MTTR — confidence: emerging
Tool consolidation / platform unification — confidence: well-established
Database / query performance — confidence: well-established
Greenfield / new launch — confidence: emerging
Infra / Kubernetes performance — confidence: well-established (flat / all-foundation)
Alerting / "know when" / notification — intent-driven
Full-stack / frontend↔backend correlation — confidence: well-established (mostly foundation)
This is the controlled vocabulary for recommendations. Always name products using the Canonical name column. Use the Aliases to recognize a product when the user or the codebase refers to it by another name.
Commonality is a coarse mainstream-vs-niche marker, not a ranking weight and not a fitness score. A niche product can be exactly the right call; a mainstream product is never auto-recommended just because it's common. Use Commonality only to gauge how confidently a match can be inferred, never to order or weight a recommendation.
Core observability (foundation)
| Canonical name | Commonality | Aliases / how it shows up |
|---|---|---|
| Infrastructure Monitoring | mainstream | Infra, host monitoring, container monitoring, server monitoring, Orchestrator Explorer |
| Log Management | mainstream | Logs, logging, log analytics, log ingestion/indexing, Flex Logs, Observability Pipelines |
| APM | mainstream | Application Performance Monitoring, distributed tracing, tracing, traces, spans, ddtrace/dd-trace |
| Continuous Profiler | niche | Profiler, profiling, code profiling, flame graphs, DD_PROFILING_ENABLED |
Digital experience (frontend / mobile / end-user)
| Canonical name | Commonality | Aliases / how it shows up |
|---|---|---|
| Real User Monitoring (RUM) | mainstream | RUM, browser monitoring, frontend/client-side monitoring, mobile RUM, @datadog/browser-rum |
| Session Replay | RUM add-on | session replay, replay; capability of the RUM SDK |
| Error Tracking | niche | error grouping, exception tracking, crash reporting (mobile) |
| Product Analytics | niche | PA, funnels, retention analysis, user-behavior analytics, experimentation |
| Synthetic Monitoring | mainstream | Synthetics, synthetic tests, API tests, browser tests, uptime checks, multistep API tests |
| Source Map Uploads | RUM/ET enabler | source maps, sourcemaps, symbolication (needed when JS is minified/bundled) |
Data layer
| Canonical name | Commonality | Aliases / how it shows up |
|---|---|---|
| Database Monitoring (DBM) | mainstream | query monitoring, slow queries, explain plans, query performance, Postgres/MySQL/SQL Server/Oracle/Mongo monitoring |
| Data Streams Monitoring (DSM) | niche | Kafka/RabbitMQ/SQS/SNS/Kinesis/Pub/Sub monitoring, queue lag, consumer lag, pipeline latency, streaming monitoring, event-driven architecture |
| Data Observability | niche | Data Jobs Monitoring (DJM), Spark/Databricks monitoring, data quality monitoring |
Network
| Canonical name | Commonality | Aliases / how it shows up |
|---|---|---|
| Network Device Monitoring (NDM) | mainstream | SNMP monitoring, NetFlow, switch/router/firewall monitoring, network devices, Network Path |
| Cloud Network Monitoring (CNM) | mainstream | NPM, Network Performance Monitoring, network flows, service-to-service traffic, service mesh traffic |
| Universal Service Monitoring (USM) | niche | service monitoring without code, eBPF service map, instant service catalog telemetry |
Cloud & cost
| Canonical name | Commonality | Aliases / how it shows up |
|---|---|---|
| Serverless Monitoring | mainstream | Lambda monitoring, Fargate tasks, serverless functions/apps, FaaS, Cloud Run / Azure Functions monitoring |
| Cloud Cost Management (CCM) | mainstream | cost monitoring, cloud spend, cost optimization, FinOps, Cloudcraft, cost allocation |
Security
| Canonical name | Commonality | Aliases / how it shows up |
|---|---|---|
| Cloud SIEM | mainstream | SIEM, security monitoring, threat detection, security logs, security analytics |
| Cloud Security Management (CSM) | mainstream | CSPM, Cloud Security Posture Management, CIEM, misconfigurations, DevSecOps, posture management |
| Workload Protection | niche | CWS, Cloud Workload Security, runtime threat detection, container runtime security |
| App and API Protection (AAP) | niche | ASM, Application Security Management, WAF, RASP, API security, app-layer threat protection |
| Code Security | mainstream | SAST, IAST, SCA, secret scanning, IaC Security, supply-chain security, app sec testing |
| Sensitive Data Scanner (SDS) | niche | SDS, PII scanning, data redaction, sensitive-data detection |
Software delivery
| Canonical name | Commonality | Aliases / how it shows up |
|---|---|---|
| CI Visibility | niche | CI/CD Visibility, Pipeline Visibility, CI pipeline monitoring |
| Test Optimization | niche | Test Visibility, flaky-test detection, test analytics, Test Impact Analysis |
LLM / AI
| Canonical name | Commonality | Aliases / how it shows up |
|---|---|---|
| LLM Observability | niche | LLM Obs, LLMObs, AI/GenAI observability, prompt/model monitoring, token & cost tracking |
Service management
| Canonical name | Commonality | Aliases / how it shows up |
|---|---|---|
| Incident Management | niche | IM, incident response, postmortems, Enterprise Incident Response |
| On-Call | niche | paging, on-call scheduling, alert escalation |
| Workflow Automation | niche | workflows, runbook automation, automated remediation |
| Event Management | niche | event correlation, alert correlation, event pipeline |
Other (niche — match explicitly only)
| Canonical name | Commonality | Aliases / how it shows up |
|---|---|---|
| Custom Metrics | niche | custom metrics/events, DogStatsD metrics, MetricsWithoutLimits |
| GPU Monitoring | niche | NVIDIA/GPU metrics |
| IoT Monitoring | niche | device/edge monitoring |
| Feature Flags | niche | feature flagging, feature toggles |
| App Builder | niche | low-code internal apps |
| Bits AI | niche | AI SRE, AI incident investigations |
| CoScreen | niche | collaborative screen sharing, pair debugging |
Platform capabilities (Monitors & Alerting / Dashboards / SLOs — recommend by intent) These are core Datadog capabilities available across the platform; recommend them by intent:
| Capability | Recommend when the goal is… |
|---|---|
| Monitors & Alerting | "know when", "alert me", "notify me", "get paged when", "detect when X happens" |
| Dashboards | "see it all in one view", "single pane of glass", "visualize", "build a dashboard" |
| SLOs | "track SLAs / SLOs", "error budget", "reliability targets", "uptime guarantee" |
These are professional services / enablement / training / events — not Datadog products:
© datadog-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in dd-product-recommender of datadog-labs/agent-skills.
Open the folder on GitHubat commit d2411cc
Dd Product Recommender 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dd Product Recommender this skilldatadog-labs/agent-skills | 177 | — | ~12k | Automated safety check: Pass | MIT | |
| Weekly Production Reviewlangfuse/langfuse | 36k | — | ~4.1k | Automated safety check: Pass | Custom licence | |
| Datadog Query Recipeslangfuse/langfuse | 36k | — | ~824 | Automated safety check: Pass | Custom licence | |
| Debug Issue With Datadoglangfuse/langfuse | 36k | — | ~1.6k | Automated safety check: Pass | Custom licence | |
| Infra Scalinglangfuse/langfuse | 36k | — | ~4.4k | Automated safety check: Pass | Custom licence | |
| Langfuse Codebase Navigatorlangfuse/langfuse | 36k | — | ~1.4k | Automated safety check: Pass | Custom licence |
langfuse/langfuse
Prepare Langfuse weekly production reviews covering failures, fixes, open issues, and tracking gaps.
langfuse/langfuse
Research Langfuse production telemetry with reusable Datadog queries.
langfuse/langfuse
Establish root cause by combining Datadog telemetry with the Langfuse repo.
langfuse/langfuse
Tune and review Langfuse autoscaling for web, web-iso, and web-ingestion.
langfuse/langfuse
Navigate Langfuse repositories, code areas, and agent skills.
ai-evals-course/evals-skills
Builds a browser-based annotation page for reviewing LLM traces one at a time with pass/fail labels, notes and saved results, tailored to your data.
datadog-labs/agent-skills
Bootstrap a reproducible LLM Observability experiment through the Python ddtrace SDK or the Node dd-trace SDK.
datadog-labs/agent-skills
Ensure the user has an authenticated Datadog account with a valid DDAPIKEY on the right region before any Datadog setup or instrumentation.
datadog-labs/agent-skills
Entry point for Datadog onboarding. An agent skill from datadog-labs/agent-skills.
datadog-labs/agent-skills
APM - install, onboard, instrument, enable, set up, configure, traces, services, dependencies, performance analysis, Data Streams Monitoring (DSM), queue lag, pipeline latency.
datadog-labs/agent-skills
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…
datadog-labs/agent-skills
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…
Works with
Categories
Recommends the right Datadog products for a codebase and/or a stated goal — grounded in a tech-stack→product map and a use-case→product map built from Datadog product capabilities and common…. Dd Product Recommender is an agent skill from datadog-labs/agent-skills. Recommends the right Datadog products for a codebase and/or a stated goal — grounded in a tech-stack→product map and a use-case→product map built from Datadog product capabilities and common technology patterns.
Dd Product Recommender fits situations like: A user asks which Datadog products fit their app; what to monitor; which products serve a goal like security; LLM observability.
Run `npx skills add datadog-labs/agent-skills --skill dd-product-recommender -a claude-code`. Or copy the skill folder (dd-product-recommender in datadog-labs/agent-skills) into .claude/skills/dd-product-recommender in your project. Claude Code loads it when a task matches its description.
Run `npx skills add datadog-labs/agent-skills --skill dd-product-recommender -a codex`. Or copy the skill folder (dd-product-recommender in datadog-labs/agent-skills) into .agents/skills/dd-product-recommender in your project. Codex loads it when a task matches its description.
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 dd-product-recommender -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dd-product-recommender, .gemini/skills/dd-product-recommender, .github/skills/dd-product-recommender and .opencode/skills/dd-product-recommender in your project.
Going by SKILL.md and its folder, Dd Product Recommender needs the command-line tools its instructions call (gcloud). Our summary lists: Docker.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Dd Product Recommender is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 12k tokens (SKILL.md is roughly 47k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dd Product Recommender: Weekly Production Review (langfuse/langfuse, 36k stars), Datadog Query Recipes (langfuse/langfuse, 36k stars), Debug Issue With Datadog (langfuse/langfuse, 36k stars) and Infra Scaling (langfuse/langfuse, 36k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
datadog-labs (a GitHub organization) maintains it in datadog-labs/agent-skills, which has 177 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 8, 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.