Official agent skill

Datadog Terraform Provider Test Runner

by DataDog in DataDog/terraform-provider-datadog

Runs Datadog Terraform provider acceptance tests in none, true or false record modes, then saves trimmed output and pass, fail and skip counts to a timestamped file.

OfficialMPL-2.0Auto-check passedTesting & QA

Install Datadog Terraform Provider Test Runner

skills CLI
$ npx skills add DataDog/terraform-provider-datadog --skill dd-tf-provider-test-runner-agent -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install DataDog/terraform-provider-datadog dd-tf-provider-test-runner-agent --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/DataDog/terraform-provider-datadog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/dd-tf-provider-test-runner .claude/skills/dd-tf-provider-test-runner-agent && rm -rf skills-src

Use ~/.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/

Facts

Skill name
dd-tf-provider-test-runner-agent
GitHub stars
468
Token cost
~949 tokens
SKILL.md length
426 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MPL-2.0

At a glance

Runs Datadog Terraform provider acceptance tests in none, true or false record modes, then saves trimmed output and pass, fail and skip counts to a timestamped file.

  • Works in 4 steps: Validate Environment → Prepare Output Files → Run the Test → …
  • Running one Datadog provider acceptance test against the real API
  • SKILL.md covers Input Parameters, Execution Steps, Example Invocation and Important Notes, plus 1 more section
  • Calls make; needs DD_TEST_CLIENT_API_KEY and DD_TEST_CLIENT_APP_KEY

What it does

The skill is written as a sub-agent that receives a Go test regex pattern, a record mode and the provider repository path. Mode none runs against the real API without saving cassettes, true runs against the real API and records interactions as cassettes, and false replays existing cassettes without calling the API. It first checks that DD_TEST_CLIENT_API_KEY and DD_TEST_CLIENT_APP_KEY are set when the mode needs the real API.

Results go to a unique timestamped temporary file. The agent runs the test with a timeout of at least 10 minutes, since runs can take several minutes, then keeps only the test-specific output, including assertion failures and useful API logs. It records totals for passed, failed and skipped tests, the duration and the failed test names with their errors, by reading the PASS, FAIL and SKIP lines.

When your agent uses it

  • Running one Datadog provider acceptance test against the real API
  • Recording new cassettes for a changed test
  • Replaying recorded cassettes to check a test without API access
  • Capturing test output in a file so the main session can read it

Example prompts

  • “Run TestAccDatadogMonitor_Basic in the provider repo with RECORD=false and summarize the result.”
  • “Re-record the cassettes for the monitor acceptance tests against the real API.”
  • “Run every TestAcc.*Monitor.* test with RECORD=none and list which ones fail.”

Requirements

  • A checkout of the terraform-provider-datadog repository and a Go toolchain
  • DD_TEST_CLIENT_API_KEY and DD_TEST_CLIENT_APP_KEY for the none and true modes

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Validate Environment
  2. Prepare Output Files
  3. Run the Test
  4. Parse Results

What it can do on your machine

Read from SKILL.md and the folder at commit c7fec96. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • make

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • DD_TEST_CLIENT_API_KEY
    • DD_TEST_CLIENT_APP_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Datadog Terraform Provider Test Runner loads about 949 tokens when it runs. Until then it costs about 51 tokens; SKILL.md has 426 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~51
When it runs · the whole SKILL.md, loaded when a task matches
~949

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from DataDog/terraform-provider-datadog at commit c7fec96, republished under its MPL-2.0 licence (© DataDog). 426 words, ~949 tokens.

Download SKILL.mdSave it as .claude/skills/dd-tf-provider-test-runner-agent/SKILL.md (or your agent's skills folder).
name
dd-tf-provider-test-runner-agent
description
Run Datadog Terraform provider acceptance tests with proper RECORD modes and capture output for analysis. This agent is invoked via Task tool and writes results to files.
tools
Bash, Write, Read
model
haiku

Datadog Terraform Provider Test Runner Agent

You are the dd-tf-provider-test-runner-agent. Your job is to run Datadog Terraform provider acceptance tests and capture the results for the main Claude context to read.

Input Parameters

When invoked, you will receive:

  • Test pattern: A Go test regex pattern (e.g., TestAccDatadogMonitor_Basic, TestAcc.*Monitor.*)
  • Record mode: One of
    • none: will run the tests against a real API but won't persist interactions as cassettes.
    • true: will run the tests against a real API and will record interactions as cassettes
    • false: will run the tests without calling a real API, by reusing the interactions pre-recorded in cassettes.
  • Working directory: The path to the terraform provider repository

Execution Steps

Step 1: Validate Environment

Check that required environment variables are set when running in RECORD=none or RECORD=true modes.:

bash
if [ -z "$DD_TEST_CLIENT_API_KEY" ] || [ -z "$DD_TEST_CLIENT_APP_KEY" ]; then
    echo "ERROR: DD_TEST_CLIENT_API_KEY and DD_TEST_CLIENT_APP_KEY must be set"
    exit 1
fi
Step 2: Prepare Output Files

Test results should be stored in a unique timestamped temporary file for future reference.

Step 3: Run the Test

Execute the test command and capture output:

bash
cd <working_directory>
RECORD=<mode> \
DD_TEST_CLIENT_API_KEY=$DD_TEST_CLIENT_API_KEY \
DD_TEST_CLIENT_APP_KEY=$DD_TEST_CLIENT_APP_KEY \
TESTARGS="-run <pattern>" \
make testacc 2>&1 | tee <output_file>

IMPORTANT: The test may take a long time (several minutes). Use a timeout of at least 600000ms (10 minutes).

Step 4: Parse Results

From the output, extract the test-speecific output only, leaving behind all initialization and non-relevant logs. Always keep the test assertion failure and API logs useful to diagnose the issue later.

Also store:

  • Total tests run
  • Passed tests
  • Failed tests
  • Skipped tests
  • Duration
  • Failed test names and error messages

Look for these patterns in the output:

  • --- PASS: lines for passed tests
  • --- FAIL: lines for failed tests
  • --- SKIP: lines for skipped tests
  • PASS or FAIL at the end for overall result
  • Duration in format like ok ... 45.123s or FAIL ... 45.123s
Show full SKILL.md (156 more words)Show less

Example Invocation

When you receive a prompt like:

Test pattern: TestAccDatadogMonitor_Basic
Record mode: none|true
Working directory: /path/to/terraform-provider-datadog

You should:

  1. Validate DD_TEST_CLIENT_API_KEY and DD_TEST_CLIENT_APP_KEY environment variables exist. If they are not set, do not try to run in alternative ways. Just quit with a message.
  2. Run: cd /path/to/provider && RECORD=none TESTARGS="-run TestAccDatadogMonitor_Basic" make testacc 2>&1 | tee /tmp/tf-provider-test-runs-history/2026-01-26-143000-TestAccDatadogMonitor_Basic.log
  3. Parse the output for pass/fail counts

Important Notes

  • Always use tee to capture output while showing progress
  • The test timeout should be set to 600000ms (10 minutes) or higher via the Bash tool
  • If a test times out, note this in the summary
  • Always write the summary even if tests fail - the main context needs to know what happened
  • Do NOT include API keys in any output files - they are already in the environment
  • IMPORTANT: Always run tests using make testacc, do not try to run custom bash or new commands. Just stick to this!

Shared Testing Guidance

Reference the repository testing guide for full context:

© DataDog, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/dd-tf-provider-test-runner of DataDog/terraform-provider-datadog.

Open the folder on GitHubat commit c7fec96

Compare with similar skills

Datadog Terraform Provider Test Runner 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.

Datadog Terraform Provider Test Runner compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Datadog Terraform Provider Test Runner this skillDataDog/terraform-provider-datadog468—~949Automated safety check: PassMPL-2.0
Review Testshashicorp/terraform-provider-aws11k—~908Automated safety check: PassMPL-2.0
Review Tests Helpershashicorp/terraform-provider-aws11k—~994Automated safety check: PassMPL-2.0
Avm Tf TestingAzure/terraform-azurerm-avm-ptn-alz135—~1.8kAutomated safety check: PassMIT
Infra Scalinglangfuse/langfuse36k—~4.4kAutomated safety check: PassCustom licence
Dd AWS Integrationdatadog-labs/agent-skills177—~6.8kAutomated safety check: NotesMIT

Similar skills

  • Review Tests

    hashicorp/terraform-provider-aws

    Official

    Review Terraform AWS Provider acceptance and unit test basics: required basic and disappears tests, TestAcc naming, TestCase essentials (PreCheck/ErrorCheck/ProtoV5ProviderFactories/CheckDestroy)…

    11k GitHub stars~908 tokensUpdated today
    Testing & QAAuto-check passed
  • Review Tests Helpers

    hashicorp/terraform-provider-aws

    Official

    Review Terraform AWS Provider test helpers: Exists/Destroy check functions, exportstest.go wiring, create.Error wrapping, data source tests, list resource tests (querycheck + Terraform version…

    11k GitHub stars~994 tokensUpdated today
    Testing & QAAuto-check passed
  • Avm Tf Testing

    Azure/terraform-azurerm-avm-ptn-alz

    Official

    A skill your agent uses for AVM Terraform validation, provider-mocked unit tests, real-Azure integration tests, E2E example tests, PowerShell hooks, OIDC, policy checks, and Avm.Authoring CI behavior.

    135 GitHub stars~1.8k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Infra Scaling

    langfuse/langfuse

    Tune and review Langfuse autoscaling for web, web-iso, and web-ingestion.

    36k GitHub stars~4.4k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Dd AWS Integration

    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…

    177 GitHub stars~6.8k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Dd Azure Integration

    datadog-labs/agent-skills

    Set up the Datadog Azure integration with Terraform - creates an Entra ID app registration and service principal, assigns Monitoring Reader across the chosen subscriptions and management groups…

    177 GitHub stars~7.1k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes

More from DataDog/terraform-provider-datadog

  • Datadog Data Source Generator

    DataDog/terraform-provider-datadog

    Official

    Generates a Datadog Terraform provider data source from an OpenAPI operation with tfgen and opens a review-ready GitHub PR with a risk scan and testing guide.

    468 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Fix Broken Datadog Provider Tests

    DataDog/terraform-provider-datadog

    Official

    Runs an end-to-end workflow to diagnose, reproduce, fix and validate a failing integration test in the Datadog Terraform provider, ending with a draft PR.

    468 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check: notes

Questions about Datadog Terraform Provider Test Runner

What does Datadog Terraform Provider Test Runner do?

Runs Datadog Terraform provider acceptance tests in none, true or false record modes, then saves trimmed output and pass, fail and skip counts to a timestamped file. The skill is written as a sub-agent that receives a Go test regex pattern, a record mode and the provider repository path. Mode none runs against the real API without saving cassettes, true runs against the real API and records interactions as cassettes, and false replays existing cassettes without calling the API.

When should I use Datadog Terraform Provider Test Runner?

Datadog Terraform Provider Test Runner fits situations like: running one Datadog provider acceptance test against the real API; recording new cassettes for a changed test; replaying recorded cassettes to check a test without API access; capturing test output in a file so the main session can read it.

How do I install Datadog Terraform Provider Test Runner in Claude Code?

Run `npx skills add DataDog/terraform-provider-datadog --skill dd-tf-provider-test-runner-agent -a claude-code`. Or copy the skill folder (.claude/skills/dd-tf-provider-test-runner in DataDog/terraform-provider-datadog) into .claude/skills/dd-tf-provider-test-runner-agent in your project. Claude Code loads it when a task matches its description.

How do I install Datadog Terraform Provider Test Runner in Codex?

Run `npx skills add DataDog/terraform-provider-datadog --skill dd-tf-provider-test-runner-agent -a codex`. Or copy the skill folder (.claude/skills/dd-tf-provider-test-runner in DataDog/terraform-provider-datadog) into .agents/skills/dd-tf-provider-test-runner-agent in your project. Codex loads it when a task matches its description.

Can I use Datadog Terraform Provider Test Runner in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DataDog/terraform-provider-datadog --skill dd-tf-provider-test-runner-agent -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-tf-provider-test-runner-agent, .gemini/skills/dd-tf-provider-test-runner-agent, .github/skills/dd-tf-provider-test-runner-agent and .opencode/skills/dd-tf-provider-test-runner-agent in your project.

What does Datadog Terraform Provider Test Runner need to run?

Going by SKILL.md and its folder, Datadog Terraform Provider Test Runner needs the command-line tools its instructions call (make) and credentials named DD_TEST_CLIENT_API_KEY and DD_TEST_CLIENT_APP_KEY. Our summary lists: A checkout of the terraform-provider-datadog repository and a Go toolchain; DD_TEST_CLIENT_API_KEY and DD_TEST_CLIENT_APP_KEY for the none and true modes.

Does Datadog Terraform Provider Test Runner access the network?

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.

Is Datadog Terraform Provider Test Runner safe to install?

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.

What licence does Datadog Terraform Provider Test Runner use?

Datadog Terraform Provider Test Runner is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Datadog Terraform Provider Test Runner use?

About 949 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Datadog Terraform Provider Test Runner?

Skills that share tags, products or a category with Datadog Terraform Provider Test Runner: Review Tests (hashicorp/terraform-provider-aws, 11k stars), Review Tests Helpers (hashicorp/terraform-provider-aws, 11k stars), Avm Tf Testing (Azure/terraform-azurerm-avm-ptn-alz, 135 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.

Who maintains Datadog Terraform Provider Test Runner?

DataDog (a GitHub organization, an official publisher) maintains it in DataDog/terraform-provider-datadog, which has 468 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 8, 2026.

Source: DataDog/terraform-provider-datadog on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.