datadog-pulumi
Skill4 starsChanged 6 months agoMITView on GitHub
Use when creating or debugging Datadog monitors in Pulumi YAML, especially for schema mismatches, monitor validation errors, and provider-specific field mapping.
In this repository124 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/AGENTS.mdAGENTS.md
- .github/workflows/AGENTS.mdAGENTS.md
- .vscode/AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- agent-log-analysisSkill
- agent-mdSkill
- agent-md-writerSkill
- agent-skill-md-writerSkill
- agentskillsSkill
- agents-md-writerSkill
- ai-prompt-writerSkill
- ansibleSkill
- apache-airflow-apiSkill
- apache-airflow-dagsSkill
- astro-cliSkill
- astronomer-docsSkill
- awesome-copilotSkill
- brainstorm-agent-runsSkill
- brainstorm-github-prSkill
- brainstormSkill
- catSkill
- chrome-devtoolsSkill
- claude-docsSkill
- codeqlSkill
- code-reviewSkill
- code-tourSkill
- coding-standard-writerSkill
- context-aware-opsSkill
- copilot-cliSkill
- copilot-docsSkill
- critical-thinkingSkill
- datadog-agentSkill
- datadog-apiSkill
- datadog-mcpSkill
- datadog-monitorsSkill
- devcontainerSkill
- dictationSkill
- direnvSkill
- dockerfileSkill
- dockerSkill
- docs-reviewSkill
- docs-writerSkill
- dot-claudeSkill
- dotfilesSkill
- dot-githubSkill
- editorconfigSkill
- fact-writerSkill
- gdpr-compliantSkill
- gh-agent-taskSkill
- gh-apiSkill
- gh-aw-compileSkill
- gh-aw-firewall-debugSkill
- gh-aw-firewallSkill
- gh-aw-newSkill
- gh-awSkill
- gh-aw-troubleshootingSkill
- gh-codespaceSkill
- gh-issueSkill
- gh-modelsSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 9 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
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
- Distinctive: line 13
Use this skill to work with Datadog API examples using Pulumi.
- Distinctive: line 17
When migrating existing Datadog monitors from JSON definitions into declarative Pulumi YAML.
- Distinctive: line 19
When updating monitor thresholds or query definitions within an established Infrastructure as Code codebase.
- Very specific: line 23
When writing raw Datadog API curl commands without Pulumi (use datadog-api).
- Distinctive: line 25
If the project uses Terraform instead of Pulumi for infrastructure management.
- Very specific: line 35
Read the current Pulumi.yaml before editing.
- Very specific: line 37
Run pulumi preview --non-interactive immediately after each monitor edit.
- Distinctive: line 38
If preview output is large, extract only monitor validation and type errors.
- Distinctive: line 39
Do not stop at schema errors.
- Very specific: line 43
Keep threshold math consistent with the query comparator (e.g., query > 0 requires monitorThresholds.critical: 0, not 1).
- Distinctive: line 44
Treat Pulumi YAML as a typed schema, not a passthrough to Datadog's raw API.
- Distinctive: line 52
Use this flow when working with new Datadog resource types:
- Distinctive: line 73
Auth Failure: If provider auth fails before monitor creation, inspect stack config and env credentials separately before changing monitor …
≈ “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
<!-- markdownlint-disable MD013 MD023 MD031 MD032 -->Datadog Pulumi
Use this skill to work with Datadog API examples using Pulumi.
When to Use
- When migrating existing Datadog monitors from JSON definitions into declarative Pulumi YAML.
- To troubleshoot type errors or schema validation failures during a
pulumi preview. - When updating monitor thresholds or query definitions within an established Infrastructure as Code codebase.
When Not to Use
- When writing raw Datadog API curl commands without Pulumi (use
datadog-api). - For diagnosing why a specific Datadog monitor fired false positives in production (use
datadog-monitors). - If the project uses Terraform instead of Pulumi for infrastructure management.
Common Pitfalls
- Blind JSON Copy-Pasting: Pasting raw Datadog API JSON directly into Pulumi YAML and expecting it to work, ignoring the fact that Pulumi uses camelCase and slightly different type shapes.
- Ignoring Preview Errors: Running
pulumi upwithout fixing all the schema mismatch errors shown inpulumi preview, causing the provider to crash midway through execution. - Threshold Disconnects: Changing a monitor's alert threshold in the YAML but forgetting to update the corresponding mathematical operator in the query string itself.
Core Process
- Read the current
Pulumi.yamlbefore editing; preserve recent user changes. - Convert API or Terraform examples into Pulumi field names, not raw JSON.
- Run
pulumi preview --non-interactiveimmediately after each monitor edit. - If preview output is large, extract only monitor validation and type errors.
- Do not stop at schema errors; rewrite the monitor to the provider's actual type shape and rerun preview.
Core Principles
- Keep threshold math consistent with the query comparator (e.g., query
> 0requiresmonitorThresholds.critical: 0, not1). - Treat Pulumi YAML as a typed schema, not a passthrough to Datadog's raw API.
- For advanced monitors, verify whether the provider expects
camelCasenames, wrapper objects, or different nesting than Terraform or API JSON. - Preserve existing Pulumi resource IDs when only monitor content changes; renaming resource keys causes replacements.
Commands / Usage Patterns
Schema Discovery for YAML Format
Use this flow when working with new Datadog resource types:
- Confirm provider version:
pulumi plugin ls - Export schema for that version:
pulumi package get-schema datadog@<version> > /tmp/datadog-schema.json - Inspect inputs via
jqto determine exact Pulumi types (e.g.,datadog:index/MonitorVariables:MonitorVariables). - Inspect widget unions and nested types when fields fail type-checking.
- Map Datadog API JSON names to Pulumi schema names (e.g.,
groupBytogroupBies) and rerun preview.
Known Datadog Pulumi Patterns
- Log alerts grouped per host can use Datadog template variables in monitor text, but the query itself must group by host explicitly.
- Service checks often need
notifyNoData,noDataTimeframe, and status thresholds aligned with the service-check query shape. - Formula/event-platform monitors may require wrapper fields under
variables(e.g., usevariables.eventQueries, not a raw list of query objects). - Some schema names are intentionally awkward in this provider version (e.g., event query grouping uses
groupBies, notgroupBy). - For formula/event-query monitors, avoid empty search strings. Use
search.query: '*'instead of an empty string, because preview may pass whilepulumi upcan crash the Datadog provider during create.
Diagnostics and Troubleshooting
400 Bad Request: From/api/v1/monitor/validateusually means monitor logic, thresholds, or query syntax is wrong.is not assignable: From Pulumi usually means the YAML shape does not match the provider schema (e.g., mismatch between API JSON and YAML format); checkget-schemabefore guessing.- Provider Panic: During
Createafter a clean preview usually means a provider bug or an edge-case payload. Minimize optional fields first, then compare against the provider's monitor schema and upstream Terraform docs. - Auth Failure: If provider auth fails before monitor creation, inspect stack config and env credentials separately before changing monitor code.
What to Avoid
- Assuming Datadog API JSON keys map 1:1 to Pulumi YAML.
- Stopping at the first validation error; rewrite to the provider's actual shape and retry.
- Guessing schema structures without running
pulumi package get-schema datadog@<version>.
Limitations
- Some complex widgets and nested variables in Datadog API might have poorly mapped Pulumi YAML unions, requiring careful extraction of schemas via
jq.
Related Skills
- datadog-api: Useful for fetching existing monitor JSON definitions via API to compare against Pulumi schema mapping.
- datadog-mcp: Query existing observability data to help design and validate monitor thresholds.
- datadog-agent: Datadog Agent configuration and custom checks.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

