Code Design Rationale Investigator
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
Create a new Go core check that collects metrics and sends them to Datadog
$ npx skills add DataDog/datadog-agent --skill create-core-check -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DataDog/datadog-agent create-core-check --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/datadog-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/create-core-check .claude/skills/create-core-check && 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 "create-core-check" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/create-core-check into .claude/skills/create-core-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-core-check", 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/datadog-agent/tree/main/.agents/skills/create-core-checkType 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/datadog-agent --skill create-core-check -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DataDog/datadog-agent create-core-check --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/create-core-check .agents/skills/create-core-check && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "create-core-check" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/create-core-check into .agents/skills/create-core-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-core-check", 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/datadog-agent --skill create-core-check -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DataDog/datadog-agent create-core-check --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/create-core-check .cursor/skills/create-core-check && 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 "create-core-check" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/create-core-check into .cursor/skills/create-core-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-core-check", 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/datadog-agent.git --path .agents/skills/create-core-check--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/datadog-agent --skill create-core-check -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DataDog/datadog-agent create-core-check --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/create-core-check .gemini/skills/create-core-check && 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 "create-core-check" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/create-core-check into .gemini/skills/create-core-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-core-check", 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/datadog-agent create-core-checkInstalls 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/datadog-agent --skill create-core-check -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/create-core-check .github/skills/create-core-check && 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 "create-core-check" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/create-core-check into .github/skills/create-core-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-core-check", 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/datadog-agent --skill create-core-check -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/datadog-agent create-core-check --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/create-core-check .opencode/skills/create-core-check && 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 "create-core-check" agent skill from https://github.com/DataDog/datadog-agent/tree/main/.agents/skills/create-core-check into .opencode/skills/create-core-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-core-check", 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.
create-core-checkCreate a new Go core check that collects metrics and sends them to Datadog
Create Core Check is an agent skill from DataDog/datadog-agent, published by the product's own GitHub organization. Create a new Go core check that collects metrics and sends them to Datadog
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Datadog. The repository describes itself as: Main repository for Datadog Agent. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 20eff25. 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:
BashReadWriteEditGlobGrepAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and yaml).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Create Core Check loads about 2k tokens when it runs. Until then it costs about 23 tokens; SKILL.md has 883 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: Bash, Read, Write, Edit, Glob, Grep, 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/datadog-agent at commit 20eff25, republished under its Apache-2.0 licence (© DataDog). 883 words, ~2,029 tokens.
.claude/skills/create-core-check/SKILL.md (or your agent's skills folder).Create a new Go-based core check for the Datadog Agent. Core checks collect metrics, service checks, or events and send them to Datadog at regular intervals.
Use AskUserQuestion to collect the following. If $ARGUMENTS provides the check name, skip that question.
Check name: The identifier for the check (e.g. uptime, memory, ntp). Used as the package name, registration key, and config directory name.
Check category: Where should the check live under pkg/collector/corechecks/?
system/ — System-level checks (CPU, memory, uptime, disk)net/ — Network checks (NTP, DNS)containers/ — Container-related checksebpf/ — eBPF-based checks (these are more complex, see pkg/collector/corechecks/ebpf/AGENTS.md)embed/ — Embedded service checkscorechecks/ — For standalone checksWhat does it collect?: Describe the metrics, service checks, or events it produces.
Configuration: Does it need instance-level configuration?
uptime)memory with collect_memory_pressure)ntp with different servers)Component dependencies: Does the check need injected components?
Long-running?: Does the check run continuously in the background?
Run() is called at regular intervals (default 15s)Run() never returns, processes events in a loopPlatform restrictions: Does the check only work on certain platforms?
Before writing any code, read the appropriate reference files based on the check type determined in Step 1. Follow the patterns found in these files exactly.
| Check type | Reference file to read |
|---|---|
| Simple, no config | pkg/collector/corechecks/system/uptime/uptime.go |
| Simple with config | pkg/collector/corechecks/system/memory/memory.go |
| Multi-instance with config | pkg/collector/corechecks/net/ntp/ntp.go |
| With component dependencies | pkg/collector/corechecks/containerimage/check.go |
| Long-running | Read the NewLongRunningCheckWrapper usage in pkg/collector/corechecks/containerimage/check.go |
| Platform-specific stubs | Find a _no*.go or _stub.go file alongside a platform-specific check in pkg/collector/corechecks/system/ |
Also read these files for registration and test patterns:
pkg/commonchecks/corechecks.go — to see how checks are registered (import alias convention, RegisterCheck calls)_test.go file alongside whichever reference check you read — to see mock sender patternsDirectory: pkg/collector/corechecks/<category>/<checkname>/
Create the check implementation file following the patterns from the reference files read in Step 2. Key structural elements that every check needs:
CheckName constant — string identifier for the checkCheck struct — embeds core.CheckBase, plus any config or component fieldsFactory() function — returns option.Option[func() check.Check]. Components are injected as Factory parameters.Configure() method — calls CommonConfigure, then FinalizeCheckServiceTag, then parses instance config if neededRun() method — collects data, calls sender methods, ends with sender.Commit()Key rules to follow:
c.BuildID(integrationConfigDigest, rawInstance, rawInitConfig) before CommonConfigure()core.NewLongRunningCheckWrapper() in Factory, return 0 from Interval(), implement Stop()//go:build <platform> tag and create a stub file for other platforms that returns option.None[func() check.Check]()Edit pkg/commonchecks/corechecks.go:
corecheckLoader.RegisterCheck() call in RegisterChecks(), matching the Factory signature to available component parametersFile: cmd/agent/dist/conf.d/<checkname>.d/conf.yaml.default
Look at an existing example in cmd/agent/dist/conf.d/ for the format. At minimum:
init_config:
instances:
- {}For checks with configuration, use @param annotations following the same format as other conf.yaml.default files in the tree.
File: pkg/collector/corechecks/<category>/<checkname>/<checkname>_test.go
Follow the test patterns from the reference file read in Step 2. The standard test flow is:
mocksender.NewMockSender("")mockSender.On("FinalizeCheckServiceTag").Return()Configure the check with mockSender.GetSenderManager()mocksender.SetSender(mockSender, check.ID())Run() and assert expectationsRun the check tests:
dda inv test --targets=./pkg/collector/corechecks/<category>/<checkname>Build the agent:
dda inv agent.build --build-exclude=systemdRun the linter:
dda inv linter.goReport the results to the user.
The sender (c.GetSender()) provides these methods for submitting data:
| Method | Description |
|---|---|
Gauge(metric, value, hostname, tags) | Submit a gauge metric |
Rate(metric, value, hostname, tags) | Submit a rate metric |
Count(metric, value, hostname, tags) | Submit a count metric |
MonotonicCount(metric, value, hostname, tags) | Submit a monotonic count |
Histogram(metric, value, hostname, tags) | Submit a histogram metric |
Distribution(metric, value, hostname, tags) | Submit a distribution metric |
ServiceCheck(name, status, hostname, tags, message) | Submit a service check |
Event(event) | Submit an event |
Commit() | Flush all submitted data — must be called at end of Run() |
"" for hostname to use the agent's default hostname.nil for tags if no tags are needed.servicecheck.ServiceCheckOK, ServiceCheckWarning, ServiceCheckCritical, ServiceCheckUnknown (from pkg/metrics/servicecheck).CheckBase provides default implementations for most Check interface methods. You only need to override Run() and optionally Configure(), Stop(), and Interval().CommonConfigure handles standard configuration: collection interval (min_collection_interval), custom tags, service tag, etc.FinalizeCheckServiceTag() must be called after CommonConfigure to apply the service tag to the sender.sender.Commit() at the end of Run() to flush data.BuildID() must be called before CommonConfigure().option.None[func() check.Check]() pattern is used for platform stubs — the loader skips checks with no factory.integration.FakeConfigHash is the constant to use in tests for the config digest parameter./create-core-check — Interactive: prompts for all details/create-core-check my_check — Pre-fills the check name© DataDog, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/create-core-check of DataDog/datadog-agent.
Open the folder on GitHubat commit 20eff25
Create Core Check 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 |
|---|---|---|---|---|---|---|
| Create Core Check this skillDataDog/datadog-agent | 3.8k | — | ~2k | Automated safety check: Notes | Apache-2.0 | |
| Code Design Rationale Investigatorcursor/plugins | 10k | 9 repos | ~2.6k | Automated safety check: Pass | None | |
| Apm IntegrationsDataDog/dd-trace-js | 836 | — | ~3k | Automated safety check: Pass | Custom licence | |
| Bump LibdatadogDataDog/dd-trace-dotnet | 573 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Dd IdpDataDog/pup | 1k | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Datadog Data Source GeneratorDataDog/terraform-provider-datadog | 468 | — | ~2.7k | Automated safety check: Pass | MPL-2.0 |
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
DataDog/dd-trace-js
A skill your agent uses when adding, debugging, fixing, or modifying instrumentation and plugins for third-party libraries in dd-trace-js.
DataDog/dd-trace-dotnet
Update/bump the libdatadog native library version in dd-trace-dotnet.
DataDog/pup
Find, filter, count, and connect software, teams, engineering work and delivery, infrastructure, and operational or security records through Pup's read-only Datadog entity graph.
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/datadog-go
Cut a new datadog-go release and update CHANGELOG.md following the repo's house style.
DataDog/datadog-agent
Classify a failed CI as either caused by an active incident, flakiness, or a true code regression.
DataDog/datadog-agent
Run a structured discovery session to build an Allium specification through conversation.
DataDog/datadog-agent
Monitor the current PR's GitLab pipeline to completion, then report success, auto-fix, or investigate a failure.
DataDog/datadog-agent
A skill your agent uses when an engineer or manager asks to recap, summarize, or post an update on a Jira Epic — a progress update for an in-progress Epic (how far along it is, what's shipped so…
DataDog/datadog-agent
Explains a lading.yaml config file from the regression test suite, using the lading Rust source as ground truth for field meanings and defaults.
DataDog/datadog-agent
Extract an Allium specification from an existing codebase. An agent skill from DataDog/datadog-agent.
Works with
Create a new Go core check that collects metrics and sends them to Datadog. Create Core Check is an agent skill from DataDog/datadog-agent, published by the product's own GitHub organization.
Run `npx skills add DataDog/datadog-agent --skill create-core-check -a claude-code`. Or copy the skill folder (.agents/skills/create-core-check in DataDog/datadog-agent) into .claude/skills/create-core-check in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DataDog/datadog-agent --skill create-core-check -a codex`. Or copy the skill folder (.agents/skills/create-core-check in DataDog/datadog-agent) into .agents/skills/create-core-check 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/datadog-agent --skill create-core-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-core-check, .gemini/skills/create-core-check, .github/skills/create-core-check and .opencode/skills/create-core-check in your project.
SKILL.md names no scripts, command-line tools or credentials: Create Core Check is instructions for the agent only. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion.
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.
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.
Create Core Check is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k 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 Create Core Check: Code Design Rationale Investigator (cursor/plugins, 10k stars), Apm Integrations (DataDog/dd-trace-js, 836 stars), Bump Libdatadog (DataDog/dd-trace-dotnet, 573 stars) and Dd Idp (DataDog/pup, 1k 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/datadog-agent, which has 3,757 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 8, 2026.
Source: DataDog/datadog-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.