datadog/write-e2e
Write E2E tests for the Datadog Agent using the new-e2e framework with fakeintake assertions
npx skills add https://github.com/DataDog/datadog-agent --skill write-e2e
Write end-to-end tests for the Datadog Agent using the test/e2e-framework/ framework.
Parse $ARGUMENTS to determine what to test.
| What | Where | Read first? |
|------|-------|:---:|
| E2E test writing guidelines and rules | test/new-e2e/codereview_guideline.md | ✅ |
| Framework API (environments, provisioners, agentparams) | test/e2e-framework/AGENTS.md | ✅ |
| Fakeintake API (payload types, client methods, extending) | test/fakeintake/AGENTS.md | ✅ |
| Setup, prerequisites, running tests | docs/public/how-to/test/e2e.md | |
| Real tests to use as patterns | test/new-e2e/tests/ (see lookup table in e2e-framework AGENTS.md) | |
| Check system overview | root AGENTS.md § "Check System" | |
| Test placement / team ownership | CODEOWNERS | |
| CI job definitions | .gitlab/test/e2e/e2e.yml, .gitlab/windows/test/e2e/windows.yml | |
| CI trigger rules | .gitlab-ci.yml (search for .on_*_or_e2e_changes) | |
| Examples | test/new-e2e/examples/ | |
Read every file marked "Read first?" before writing any test. Browse examples and a few real tests
that match your use case. Make sure to follow _all_ the guidelines specified.
test/new-e2e/tests/<area> directory (check CODEOWNERS);one file per platform target (e.g., disk_nix_test.go, disk_win_test.go)
cd test/new-e2e && go vet ./tests/<area>/...dda inv new-e2e-tests.run --targets=./tests/<area>/...
See test/e2e-framework/AGENTS.md § "Validating E2E tests" if it fails
grep -n 'TARGETS:.*<area>' .gitlab/test/e2e/e2e.ymlShow the user: files created, how to compile-check, how to run locally
(dda inv new-e2e-tests.run --targets=./tests/<area>/...), and whether
CI changes are needed.
Take datadog/write-e2e from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.