From datadog
This skill should be used when the user wants to search, analyze, or investigate Datadog logs. Translates natural language or code snippets into Datadog log queries, executes via search-logs and aggregate-logs MCP tools, and presents structured results with follow-up suggestions. Activates on: "search logs", "find logs", "datadog logs", "log search", "check logs", "query logs", "analyze logs", "show me errors", "recent errors", "find 5xx", "investigate logs", "debug with logs", "log analysis", "count errors by", "group logs by", "error breakdown", "cercare log", "cerca nei log", "log datadog", "analizzare log".
npx claudepluginhub fabn/claude-plugins --plugin datadogThis skill uses the workspace's default tool permissions.
Search and analyze Datadog logs using MCP tools. Supports natural language queries, code-snippet-based log discovery, and automatic scoping by a configured default service.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Search and analyze Datadog logs using MCP tools. Supports natural language queries, code-snippet-based log discovery, and automatic scoping by a configured default service.
search-logs for log retrieval, aggregate-logs for analyticsRead the project's local CLAUDE.md (in current working directory) for plugin configuration:
<!-- datadog_default_service: my-service-name -->
<!-- datadog_default_filter: env:production -->
datadog_default_service is set, auto-scope all queries with service:<name>datadog_default_filter is set, prepend it to all queriesDetermine query mode from user input:
Parse the user's intent to extract:
filter.from/filter.tostatus:(error), status:(warn), etc.Translate to Datadog search syntax using reference/search-syntax.md. Apply this template:
<default_filter> service:<default_or_specified> <status_filter> <user_keywords> <field_filters>
Examples:
| User says | Query built |
|---|---|
| "show me recent errors" | service:my-app status:error |
| "find 5xx responses in the last 30min" | service:my-app @http.status_code:[500 TO 599] |
| "check warnings for the worker service" | service:worker status:warn |
| "logs about payment timeout" | service:my-app "payment timeout" |
When the user points to code containing logging statements:
Rails.logger.error("Payment failed for order #{order_id}") → status:error "Payment failed for order"logger.warn("Retrying request", extra: { attempt: n }) → status:warn "Retrying request"console.error('API timeout', { endpoint }) → status:error "API timeout"If Datadog MCP tools are not already available, discover them first:
ToolSearch("datadog")
For log retrieval — use search-logs:
filter.query: the constructed query stringfilter.from: start of time range (default: now-1h)filter.to: end of time range (default: now)sort: -timestamp (newest first)page.limit: 25 (default, adjustable by user)For analytics/aggregation — use aggregate-logs:
filter.query: same querycompute: appropriate aggregation (count, avg, sum, percentiles on a field)group_by: relevant facets (e.g., status, @http.status_code, service, host)Use aggregation when the user asks for:
For log entries:
For aggregations:
Always suggest follow-ups when results are interesting:
Support query refinement without starting from scratch:
page.limit or use the cursor from the previous search-logs response to fetch the next pagefilter.from to now-5maggregate-logs with group_by: host-@http.url:*/health* to query@http.status_code:500Each refinement modifies the previous query context.
| Situation | Action |
|---|---|
| MCP tools not available | Tell user to run /datadog:setup to configure the Datadog plugin |
| No results returned | Suggest broadening the query: wider time range, fewer filters, check service name spelling |
| Authentication error | Suggest checking API key scopes — logs_read_data permission is required |
| Rate limiting | Wait and retry, inform user of the delay |
| Malformed query | Validate query syntax against reference/search-syntax.md, fix and retry |
| Service name unknown | Ask user to specify or run /datadog:setup to configure a default |
reference/search-syntax.md — Complete Datadog log search syntax with examples, operators, and MCP tool parameter formats