| Establish root cause by combining Datadog telemetry with the Langfuse repo. Use when investigating or triaging a user report, Linear or GitHub issue, incident, or pasted production error.
npx skills add https://github.com/langfuse/langfuse --skill debug-issue-with-datadog
Use this skill whenever the task is investigative rather than
implementational: a user, customer, or oncall has surfaced a problem and you
need to figure out *what is actually happening in production* and *where in the
code it lives*. The deliverable is an analysis, not a patch — though the
analysis should make the right patch obvious.
LFE-XXXX ID) describes a productionfailure, error spike, or customer report.
fix.
LFE-8837) and similar — these expect the structured analysis output below.
If the task is "implement this fix" rather than "figure out what's broken",
this is the wrong skill — go to backend-dev-guidelines or the relevant
package guide.
Read the inputs first, then plan the Datadog sweep, then read the code, then
write the analysis. Do not skip ahead to suggested patches before the data
supports them.
references/intake.md. For a Linear URL/ID, fetch
the issue *and* its comments via the Linear MCP — the description is often
updated inline as triage proceeds. For a GitHub issue, use gh issue view.
For pasted text, treat it as the description.
If intake contains an alert identity (a Datadog monitor ID or title, an
incident.io alert/INC reference, or an on-call page), first apply
incident-alert-tickets — a
documented cause section may resolve the investigation before any sweep.
window. Use references/repo-debug-map.md
to translate "PostHog integration", "ingestion failures", "evals stuck",
etc. into the Datadog filters and source files you should be looking at.
references/datadog-playbook.md: APM
spans, error logs, metrics, and monitors — split across prod-eu
and prod-us (and prod-hipaa / prod-jp when relevant). Always check
regional disparity first; it usually rules whole hypotheses in or out.
Use datadog-query-recipes for
reusable tenant, public API, queue consumer, and cross-environment query
shapes.
(projectId, error.message) or(error.type, error.message). Treat each distinct cluster as its own
hypothesis — Langfuse incidents commonly have *multiple* coexisting root
causes, not one.
from the repo-debug map and read enough of it to confirm or refute the
hypothesis. Cite specific files and line ranges in the output.
references/output-template.md.
also save under the workflow they specified (file, Linear comment via, etc.).
If the investigation was anchored to an alert identity, also offer the
human-gated write-back from
incident-alert-tickets: append the
established root cause as a dated cause section, or create the monitor's
ticket.
Two Datadog MCP servers are typically available — one bound to the EU site
(datadoghq.eu) and one to the US site (datadoghq.com). Always run
region-relevant queries against both unless intake clearly localizes the
incident. The prod-eu / prod-us env tags live on each side respectively.
service:worker resource_name:"process posthog-integration-project" status:error
service:worker env:prod-eu @langfuse.project.id:cm1r6u… status:error
aggregate_spans / aggregate_eventsgrouped by (error.message, projectId) over fetching individual traces.
output template).
See references/datadog-playbook.md for the
full set of starter queries and parameter shapes.
From the output template:
projectId (or per-cluster) error counts.reasoning, distinguishing primary causes from symptoms.
sketches. Reference the actual handler in worker/src/features/** or
web/src/**.
Findings come first, recommendations last. If the data is thin, say so
explicitly and propose what would need to be true to confirm each hypothesis —
do not invent root causes.
record new ones after (human-gated):
incident-alert-tickets
consumer measurements:
datadog-query-recipes
backend-dev-guidelines
clickhouse-best-practices
package AGENTS.md for the affected directory.
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take langfuse/debug-issue-with-datadog from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.