Review Tests
hashicorp/terraform-provider-aws
Review Terraform AWS Provider acceptance and unit test basics: required basic and disappears tests, TestAcc naming, TestCase essentials (PreCheck/ErrorCheck/ProtoV5ProviderFactories/CheckDestroy)…
Official agent skill
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.
$ npx skills add DataDog/terraform-provider-datadog --skill fix-broken-integration-tests -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DataDog/terraform-provider-datadog fix-broken-integration-tests --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/terraform-provider-datadog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/fix-broken-integration-tests .claude/skills/fix-broken-integration-tests && 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 "fix-broken-integration-tests" agent skill from https://github.com/DataDog/terraform-provider-datadog/tree/master/.claude/skills/fix-broken-integration-tests into .claude/skills/fix-broken-integration-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fix-broken-integration-tests", 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/terraform-provider-datadog/tree/master/.claude/skills/fix-broken-integration-testsType 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/terraform-provider-datadog --skill fix-broken-integration-tests -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DataDog/terraform-provider-datadog fix-broken-integration-tests --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/terraform-provider-datadog.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/fix-broken-integration-tests .agents/skills/fix-broken-integration-tests && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fix-broken-integration-tests" agent skill from https://github.com/DataDog/terraform-provider-datadog/tree/master/.claude/skills/fix-broken-integration-tests into .agents/skills/fix-broken-integration-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fix-broken-integration-tests", 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/terraform-provider-datadog --skill fix-broken-integration-tests -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DataDog/terraform-provider-datadog fix-broken-integration-tests --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/terraform-provider-datadog.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/fix-broken-integration-tests .cursor/skills/fix-broken-integration-tests && 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 "fix-broken-integration-tests" agent skill from https://github.com/DataDog/terraform-provider-datadog/tree/master/.claude/skills/fix-broken-integration-tests into .cursor/skills/fix-broken-integration-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fix-broken-integration-tests", 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/terraform-provider-datadog.git --path .claude/skills/fix-broken-integration-tests--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/terraform-provider-datadog --skill fix-broken-integration-tests -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DataDog/terraform-provider-datadog fix-broken-integration-tests --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/terraform-provider-datadog.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/fix-broken-integration-tests .gemini/skills/fix-broken-integration-tests && 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 "fix-broken-integration-tests" agent skill from https://github.com/DataDog/terraform-provider-datadog/tree/master/.claude/skills/fix-broken-integration-tests into .gemini/skills/fix-broken-integration-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fix-broken-integration-tests", 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/terraform-provider-datadog fix-broken-integration-testsInstalls 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/terraform-provider-datadog --skill fix-broken-integration-tests -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DataDog/terraform-provider-datadog.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/fix-broken-integration-tests .github/skills/fix-broken-integration-tests && 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 "fix-broken-integration-tests" agent skill from https://github.com/DataDog/terraform-provider-datadog/tree/master/.claude/skills/fix-broken-integration-tests into .github/skills/fix-broken-integration-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fix-broken-integration-tests", 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/terraform-provider-datadog --skill fix-broken-integration-tests -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/terraform-provider-datadog fix-broken-integration-tests --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/terraform-provider-datadog.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/fix-broken-integration-tests .opencode/skills/fix-broken-integration-tests && 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 "fix-broken-integration-tests" agent skill from https://github.com/DataDog/terraform-provider-datadog/tree/master/.claude/skills/fix-broken-integration-tests into .opencode/skills/fix-broken-integration-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fix-broken-integration-tests", 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.
fix-broken-integration-testsRuns 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.
Give it test function names, error messages, a resource name or a ticket ID, and the agent narrows that down to concrete Go test names. Ticket IDs are looked up with acli jira, free text is searched in datadog/tests, and flaky_tests.yaml is checked for context. It then confirms the failure still exists on master by reading recent runs of the test_integration.yml workflow with gh, going ahead when tests failed in 2 or more of the last 3 runs and asking you otherwise.
The run is autonomous across eight phases: identify, validate in CI, reproduce locally, plan the fix, execute it, open a draft PR, monitor and report. It tracks progress with tasks, compares the exact CI error with the local reproduction and the final result, and flags intermittent failures in the PR description. A fix-patterns.md file collects known fix approaches.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ca0801d. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGlobGrepBashAgentSkillTaskCreateTaskUpdate…and 2 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitmakeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, 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.
Fix Broken Datadog Provider Tests loads about 2.4k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 836 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent, Skill, TaskCreate, TaskUpdate, TaskGet, AskUserQuestionAutomated 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/terraform-provider-datadog at commit ca0801d, republished under its MPL-2.0 licence (© DataDog). 836 words, ~2,356 tokens.
.claude/skills/fix-broken-integration-tests/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Input: $ARGUMENTS
Determine the repository root at the start of each phase:
REPO_ROOT=$(git rev-parse --show-toplevel)All relative file paths below are relative to $REPO_ROOT.
Parse $ARGUMENTS to extract concrete Go test function names.
If input matches [A-Z]+-\d+ (looks like a ticket ID):
acli jira workitem view <TICKET-ID> --fields 'summary,status,description' 2>&1Extract test names mentioned in the description. If the ticket is already
Done, warn the user: "Ticket is marked Done — tests may already be fixed.
Proceeding to validate in CI."
If input contains Go test function names (starts with TestAcc or Test):
Use them directly. A comma- or space-separated list is fine.
If input is a free-form description (resource name, error message, etc.): Use the Grep tool to search the test directory:
Grep pattern "<keyword>" path "datadog/tests/" glob "*_test.go"Then identify which test functions match the description. Read the test file to confirm the relevant test names.
Also check flaky_tests.yaml to see if the tests are already tracked:
grep -A4 "<TestName>" flaky_tests.yamlNote any existing reason/context — it informs the fix strategy.
Create a task to track progress:
TaskCreate: "Fix integration tests: <list of tests>"Confirm the tests are still failing on master before doing any work.
gh run list --workflow test_integration.yml \
--repo DataDog/terraform-provider-datadog \
--branch master --limit 5 --json databaseId,conclusion,createdAtFor each completed run (check the 3 most recent):
gh run view <RUN_ID> --log-failed \
--repo DataDog/terraform-provider-datadog 2>&1 \
| grep -E "FAIL.*<TestName>" | head -20Decision point:
"These tests did not fail in the last 3 CI runs. They may have been fixed already, or the failure is intermittent. How do you want to proceed?" Options: "Reproduce locally anyway", "Check more CI runs", "Abort"
Record the exact error message from CI — you'll compare it against the local reproduction and the final CI result.
Run the failing tests against the real API to confirm the current failure mode.
Skill: "dd-tf-provider-test-runner"
Args: "Test pattern: <TestName1>|<TestName2> Record mode: none Working directory: <value of REPO_ROOT>"If local reproduction matches CI error: proceed to Phase 4.
If local test passes: warn the user —
"Tests pass locally with RECORD=none. The failure may be environment-specific (quota, org state) or intermittent. Recommend running a few more times or checking org state before proceeding."
Capture the exact local error output for comparison.
Read the failure patterns reference:
Read: .claude/skills/fix-broken-integration-tests/fix-patterns.mdMatch the error message against the patterns to identify the fix type. Read the relevant source files to understand the current code:
datadog/tests/<resource>_test.godatadog/fwprovider/<resource>.go or datadog/<resource>.godatadog/tests/<resource>_sweep_test.go (may need creating)Draft a concrete fix plan covering:
RECORD=true)flaky_tests.yamlAsk the user to confirm before making any changes:
"Here is my proposed fix for
<TestName(s)>:
- Fix type: <e.g., sweeper, dynamic timestamps, provider read bug>
- Files affected:
<list>- Cassette re-recording needed: yes/no
- Summary:
<one sentence>Proceed?"Options: "Yes, execute the fix", "Modify the plan first", "Abort"
git checkout -b fix/<resource>-integration-testFollow the appropriate pattern from fix-patterns.md:
clockFromContext(ctx).Now().Local().Add(...); update config function signatures to accept start, end int64datadog/tests/<resource>_sweep_test.go; add cleanupXxx(t) call at top of each failing test function; add TestSweepXxx standalone functionRead function; add attribute normalization or DiffSuppressFuncif !isReplaying() { t.Skip(...) }If the fix changes what the API interaction looks like:
Skill: "dd-tf-provider-test-runner"
Args: "Test pattern: <TestName> Record mode: true Working directory: <REPO_ROOT>"Skill: "dd-tf-provider-test-runner"
Args: "Test pattern: <TestName> Record mode: false Working directory: <REPO_ROOT>"If cassette replay fails, investigate and re-record.
If the test is in flaky_tests.yaml, remove its entry.
make fmtcheck
make testgit add <changed files>
git commit -m "[datadog_<resource>] Fix integration test — <brief root cause>
<one paragraph explaining what was failing and why, and how it is fixed>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>"git push -u origin <branch-name>Use changelog/bugfix only if provider code changed; use changelog/no-changelog
for test-only or sweeper-only changes.
gh pr create --draft \
--title "[datadog_<resource>] Fix integration test — <brief description>" \
--label "ci/integrations" \
--label "<changelog/bugfix or changelog/no-changelog>" \
--body "$(cat <<'EOF'
## Summary
- **Failing tests:** `<TestName1>`, `<TestName2>`
- **Root cause:** <one-line root cause>
- **Fix:** <one-line fix description>
## Details
<paragraph about what was failing and the error observed in CI>
<paragraph about the fix approach and what changed>
## Test plan
- [ ] Tests pass with `RECORD=none` locally
- [ ] Tests pass in CI integration run (triggered by `ci/integrations` label)
EOF
)"Report the PR URL to the user.
The ci/integrations label triggers .github/workflows/test_integration.yml.
This run typically takes 35–45 minutes.
Poll every 5 minutes for the run to appear and complete:
# Wait for the run to be created (retry up to 10 minutes)
gh run list --repo DataDog/terraform-provider-datadog \
--branch <branch-name> --workflow test_integration.yml \
--limit 3 --json databaseId,status,conclusion,createdAt
# Check run status
gh run view <RUN_ID> --repo DataDog/terraform-provider-datadogContinue polling until status == "completed".
Timeout: If the run has not completed after 90 minutes, stop polling and report the current status. Advise the user to check manually.
gh run view <RUN_ID> --log-failed --repo DataDog/terraform-provider-datadog 2>&1 \
| grep -E "FAIL.*<TestName>|Error:" | head -40.claude/skills/fix-broken-integration-tests/fix-patterns.mdTESTING.md, AGENTS.mddatadog/tests/sweep_test.go, datadog/tests/sensitive_data_scanner_sweep_test.godatadog/tests/provider_test.go© 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
SKILL.md and 1 other file in .claude/skills/fix-broken-integration-tests of DataDog/terraform-provider-datadog.
Open the folder on GitHubat commit ca0801d
Fix Broken Datadog Provider Tests 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 |
|---|---|---|---|---|---|---|
| Fix Broken Datadog Provider Tests this skillDataDog/terraform-provider-datadog | 468 | — | ~2.4k | Automated safety check: Notes | MPL-2.0 | |
| Review Testshashicorp/terraform-provider-aws | 11k | — | ~908 | Automated safety check: Pass | MPL-2.0 | |
| Review Tests Helpershashicorp/terraform-provider-aws | 11k | — | ~994 | Automated safety check: Pass | MPL-2.0 | |
| Avm Tf TestingAzure/terraform-azurerm-avm-ptn-alz | 135 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Test Fix WorkflowGoogleCloudPlatform/magic-modules | 974 | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Test Failure Decision TreeGoogleCloudPlatform/magic-modules | 974 | — | ~4.2k | Automated safety check: Pass | Custom licence |
hashicorp/terraform-provider-aws
Review Terraform AWS Provider acceptance and unit test basics: required basic and disappears tests, TestAcc naming, TestCase essentials (PreCheck/ErrorCheck/ProtoV5ProviderFactories/CheckDestroy)…
hashicorp/terraform-provider-aws
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…
Azure/terraform-azurerm-avm-ptn-alz
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.
GoogleCloudPlatform/magic-modules
Workflow for diagnosing, fixing, and verifying failing Terraform acceptance tests from GitHub issue URLs (detecting test-failure labels), direct prompts, or log files using Failure Scenario Decision…
GoogleCloudPlatform/magic-modules
Classification decision tree and remediation strategies for diagnosing Terraform acceptance test failures across all workflows.
langfuse/langfuse
Tune and review Langfuse autoscaling for web, web-iso, and web-ingestion.
DataDog/terraform-provider-datadog
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.
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.
Categories
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. Give it test function names, error messages, a resource name or a ticket ID, and the agent narrows that down to concrete Go test names.yaml is checked for context.
Fix Broken Datadog Provider Tests fits situations like: fixing a failing TestAcc integration test in terraform-provider-datadog; checking whether a reported test failure still reproduces in recent CI runs; turning a Jira ticket about broken tests into a draft pull request; triaging a flaky provider test and recording why it fails.
Run `npx skills add DataDog/terraform-provider-datadog --skill fix-broken-integration-tests -a claude-code`. Or copy the skill folder (.claude/skills/fix-broken-integration-tests in DataDog/terraform-provider-datadog) into .claude/skills/fix-broken-integration-tests in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DataDog/terraform-provider-datadog --skill fix-broken-integration-tests -a codex`. Or copy the skill folder (.claude/skills/fix-broken-integration-tests in DataDog/terraform-provider-datadog) into .agents/skills/fix-broken-integration-tests 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/terraform-provider-datadog --skill fix-broken-integration-tests -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fix-broken-integration-tests, .gemini/skills/fix-broken-integration-tests, .github/skills/fix-broken-integration-tests and .opencode/skills/fix-broken-integration-tests in your project.
Going by SKILL.md and its folder, Fix Broken Datadog Provider Tests needs the command-line tools its instructions call (gh, git and make). Our summary lists: GitHub CLI (gh) for reading CI runs; The Jira CLI (acli) for ticket lookups; A local checkout of the Datadog Terraform provider repository. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep, Bash, Agent, Skill, TaskCreate, TaskUpdate, TaskGet, AskUserQuestion.
SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Fix Broken Datadog Provider Tests 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.
About 2.4k tokens (SKILL.md is roughly 9.4k 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 Fix Broken Datadog Provider Tests: 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 Test Fix Workflow (GoogleCloudPlatform/magic-modules, 974 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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 7, 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.