mcpbeat Sign in

Run Windows E2e Agent Skill

Run Windows E2E tests (MSI install tests or Fleet Automation/installer tests) locally against AWS-provisioned VMs

4k tokens
context cost
the whole folder, loaded on every use
5
files
instructions only
0
copies elsewhere
how many repositories repackaged it
3695
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/DataDog/datadog-agent --skill run-windows-e2e

What comes with it

10 131 bytes besides the instruction
references/running.md
references/setup.md
references/troubleshooting.md
references/vm-access.md

What it tells the agent to use

found in the instruction text
Bash runs shell commands — read the instruction before connecting

The instruction itself

8 sections, as written by the author

Run Windows E2E tests from test/new-e2e/tests/windows/ or test/new-e2e/tests/installer/windows/.

Detailed reference material lives in references/ next to this file — read the

relevant one when a step calls for it rather than duplicating it here:

  • references/setup.md — prerequisites, ~/.test_infra_config.yaml, dev mode
  • references/running.mdsetup-env, local builds, go test flags
  • references/vm-access.md — connecting to a dev-mode VM (RDP/SSH)
  • references/troubleshooting.md — test outputs, Pulumi locks, AWS profile

Instructions

Step 1 — Parse $ARGUMENTS

Determine:

  • Suite: which test suite to run (e.g. install-test, service-test, agent-package, install-script). If not provided, ask the user.
  • Test function: specific TestXxx function. Most suites expect exactly one test per run — ask the user which one if not specified.
  • Artifact source: --build pipeline (default), --build local, or --build release; pass --pipeline-id <id> through if given.
  • Stable/previous version (upgrade tests only): if the user specifies a version to upgrade *from*, plan a second setup-env run with --prefix STABLE_AGENT in Step 3 (see references/running.md "Upgrade tests").
  • Branch: if the user mentions a branch ("from main"), pass --branch <name> to setup-env. The default is the current git branch, which may have no pipelines if it's a local feature branch.

Map suite names to Go package paths:

| Suite | Package path |

|-------|-------------|

| install-test | ./test/new-e2e/tests/windows/install-test |

| service-test | ./test/new-e2e/tests/windows/service-test |

| fips-test | ./test/new-e2e/tests/windows/fips-test |

| domain-test | ./test/new-e2e/tests/windows/domain-test |

| installer / Fleet Automation (agent-package, install-script, install-exe, ddot, apm-inject, …) | ./test/new-e2e/tests/installer/windows |

The installer / Fleet Automation tests are all one flat package (the

suites/<package>/ subdirectories were flattened in #47161) — pick the area by

test function with -run (e.g. TestAgentUpgrades, TestInstallScript,

TestDDOTExtensionViaMSI, TestAPMInjectInstalls).

If the user gives a partial name or test function, search with Glob/Grep under test/new-e2e/tests/windows/ and test/new-e2e/tests/installer/windows/ to resolve it.

Step 2 — Check prerequisites

test -f ~/.test_infra_config.yaml && echo "EXISTS" || echo "MISSING"
pulumi version 2>/dev/null || echo "MISSING"

If either is missing, offer to run dda inv e2e.setup and wait for the user to

complete its interactive prompts. If prerequisites exist but devMode is not

set, mention that devMode: true reuses VMs across runs (much faster for

iterative development). Full detail in references/setup.md.

Step 3 — Resolve artifact environment variables

Run setup-env with --fmt json to capture the required env vars (no shell

eval needed — prepend the parsed pairs inline to go test in Step 5).

# From a pipeline (most common)
dda inv new-e2e-tests.setup-env --build pipeline --fmt json [--branch <branch>] [--pipeline-id <id>]

# From a local build (run `dda inv msi.build` first, + `msi.package-oci` for installer/OCI tests)
dda inv new-e2e-tests.setup-env --build local --fmt json

For upgrade tests, run a second time with --prefix STABLE_AGENT and merge the

vars in. GitLab token handling, local-build details, and the STABLE_AGENT

flow are in references/running.md.

Step 4 — Check for stale state (dev mode only)

If devMode: true and the user is rerunning, the previous VM may still have the

agent installed. Ask whether they've cleaned up (MSI tests: uninstall the agent;

installer tests: datadog-installer.exe purge). See

references/running.md "Clean state between runs".

Step 5 — Build and confirm the go test command

go test -v -timeout 30m -tags test <package-path> -run <TestFunction>$

Two rules to apply (rationale in references/running.md):

anchor the -run regex with $ at both suite and subtest level, and use the

exact package path with no trailing /... (or output won't stream).

Show the full command to the user and confirm before running.

Step 6 — Run the test

Warn the user that AWS SSO auth may open a browser window when the test starts

(the test pauses until login completes), and that a non-sandbox AWS_PROFILE

will cause auth errors — advise unset AWS_PROFILE.

Run with run_in_background: true since tests provision real AWS VMs.

Provisioning takes a few minutes; once the VM is up, SSH becomes available

within ~60s (Linux) / ~180s (Windows). If SSH is not available within those

windows, troubleshoot before assuming the test is still running normally

(see references/vm-access.md).

Step 7 — Report results

When the test completes:

  • Report pass/fail.
  • On failure, point the user to ~/e2e-output/latest/ (crash dumps, agent/installer logs, event logs). If devMode is on, the VM is still up — offer to help RDP/SSH in via references/vm-access.md.
  • For Pulumi lock errors or AWS auth errors, see references/troubleshooting.md.

Other skills for the same job

different authors, same section of the catalogue
Webapp Testing
by anthropics
vendor ×12

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

6k tokens scripts
Finishing A Development Branch
by ZhanlinCui
×7

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

1k tokens
Test Driven Development
by w95
×7

Use when implementing any feature or bugfix, before writing implementation code

2k tokens
Systematic Debugging
by ratacat
×7

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes

10k tokens scripts
Verification Before Completion
by ZhanlinCui
×6

Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always

1k tokens
Backtest Expert
by BaggaT236
×3

Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.

15k tokens scripts
Adaptyv
by christophacham
×3

Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use for submitting experiments via API, tracking experiment status, downloading results, optimizing protein sequences for better expression using computational tools (NetSolP, SoluProt, SolubleMPNN, ESM), or managing protein design workflows with wet-lab validation.

16k tokens
Aeon
by christophacham
×3

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

19k tokens

How to use it

Copy the folder

Take datadog/run-windows-e2e from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.