基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/DataDog/datadog-agent --skill e2e-audit命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | e2e-audit |
| description | Judge whether Agent behavior belongs in a new-e2e, integration, or unit test |
| allowed-tools | Read, Glob, Grep, Bash |
| argument-hint | <behavior description> | <path-to-test-file-or-dir> [more paths...] |
| model | sonnet |
Decide whether assertions about proposed or existing Agent behavior belong in
a full new-e2e test, an integration test, or a unit test. Produce only a
verdict and rationale. Never edit, move, or delete tests.
Analyze observable claims and failure modes, not entire test files or individual
assert or require calls. Group checks that validate the same contract as one
assertion, including implicit claims such as successful installation, startup,
or command execution.
Choose the cheapest test that preserves the boundary and failure mode that matter. Do not ask only whether an assertion can be made with mocks; ask what the assertion would stop validating if its dependencies were replaced.
Use new-e2e when the deployed Agent or its real environment is part of the
behavior being validated. This includes boundaries such as:
A behavior is not E2E-worthy merely because the current test reaches it through SSH, a CLI, or remote infrastructure. If those layers add no relevant coverage, use a lower-level test.
Use an integration test when the important boundary can be preserved locally,
for example by wiring components with fx.Test, using a local fakeintake, or
using a real local daemon, driver, or hardware dependency. A real local
dependency does not by itself require new-e2e.
Use a unit test when the behavior is isolated logic and does not require a real component graph, process, or external dependency.
Duplicating an E2E assertion in a unit or integration test is useful when the lower-level test preserves its failure mode: it provides faster PR feedback, more deterministic failures, and easier debugging. Do not treat this useful duplication as waste by itself.
After identifying lower-level coverage, reevaluate what the E2E test uniquely validates. Repeating the same assertion through the deployed Agent can still be valuable when it catches assembly, configuration, packaging, lifecycle, or forwarding failures that the lower-level test cannot. If nearly all material assertions have equivalent lower-level coverage and the E2E test preserves no meaningful additional boundary, its feedback no longer justifies its provisioning, runtime, and maintenance cost; recommend removing it. Base this decision on residual failure coverage, not only the number of duplicated assertions.
If the description does not establish the relevant assertions or boundaries, ask for the missing information or return an explicitly uncertain verdict.
*_test.go files.
Follow shared suites, setup code, helpers, and provisioners rather than
judging files in isolation.For large reviews, inspect files in parallel if possible, then verify and synthesize the results.
Use one of these verdicts:
For proposed behavior, classify each expected assertion and return an overall verdict with a short reason. For existing tests, classify each material assertion and return one verdict per concrete suite, naming the assertion and boundary that determine it. State what the E2E test uniquely validates after accounting for lower-level coverage, or say that no material E2E-only boundary remains. When several assertions differ, use a concise table with these columns: assertion, failure caught, smallest environment, and classification. Add only material uncertainty, lower-level candidates, or consolidation opportunities.
Input: Verify that installing the Agent package creates a running service with the expected permissions and that data reaches fakeintake after a reboot.
Output: E2E justified — The package installation, service lifecycle, permissions, reboot, and forwarding path are the behavior under test; a lower-level test would not preserve those deployed-system boundaries.
Input: Verify that the assembled Agent components transform a payload and send it to a local fakeintake.
Output: Should be an integration test — A locally assembled component graph and fakeintake preserve the component wiring and payload boundary without provisioning remote infrastructure.
Input: Verify that the configuration parser rejects a negative timeout and applies the default when the field is absent.
Output: Should be a unit test — This is isolated parsing and validation logic that does not require a real component graph, process, or external dependency.
Do not propose implementation changes unless the user asks for them.
Monitor the current PR's GitLab pipeline to completion, then report success or investigate a failure. Use when the user asks to follow, babysit, watch, or wait on a PR/pipeline, or just after pushing to / creating a PR.
Classify a failed CI as either caused by an active incident, flakiness, or a true code regression. Use when a PR's pipeline is red and it isn't obvious whether the PR's own changes are at fault. Trigger phrases include: - "investigate this CI failure" - "please fix CI" - "why did this job fail" - "is there an incident affecting CI" - "should I retry this" This should also be invoked whenever the user asks you to investigate _or fix_ a failing CI, to ensure we don't spend hours trying to fix something broken upstream.
Write or extend Datadog Agent new-e2e tests, including fakeintake coverage and the GitLab wiring that runs them; derives scope from the current diff when no target is named. Not for running tests that already exist (run-e2e, run-windows-e2e), or for judging whether a behavior belongs in E2E at all (e2e-audit).