Official agent skill

Create Config Field

by DataDog in DataDog/datadog-agent

Add a new configuration field to the Datadog Agent (datadog.yaml) by declaring it in the config schema

OfficialApache-2.0Auto-check: notesDevOps & Cloud

Install Create Config Field

skills CLI
$ npx skills add DataDog/datadog-agent --skill create-config-field -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install DataDog/datadog-agent create-config-field --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/DataDog/datadog-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/create-config-field .claude/skills/create-config-field && rm -rf skills-src

Use ~/.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/

Facts

Skill name
create-config-field
GitHub stars
3.8k
Token cost
~2.3k tokens
SKILL.md length
993 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
Apache-2.0

At a glance

Add a new configuration field to the Datadog Agent (datadog.yaml) by declaring it in the config schema

  • Works in 4 steps: Gather information from the user → Check the setting does not already exist → Add the node to the schema → …
  • DevOps & Cloud work in your project
  • SKILL.md covers Where settings live, Instructions, Keyword quick reference and Reading the setting from Go, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Create Config Field is an agent skill from DataDog/datadog-agent, published by the product's own GitHub organization. Add a new configuration field to the Datadog Agent (datadog.yaml) by declaring it in the config schema

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud. It works with Datadog. The repository describes itself as: Main repository for Datadog Agent. The licence is Apache-2.0.

When your agent uses it

  • DevOps & Cloud work in your project

Example prompts

  • “/create-config-field”

Requirements

  • Pre-approved tools (allowed-tools): Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Gather information from the user
  2. Check the setting does not already exist
  3. Add the node to the schema
  4. Lint and preview

What it can do on your machine

Read from SKILL.md and the folder at commit 20eff25. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • Edit
    • Glob
    • Grep
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash, yaml and go).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Create Config Field loads about 2.3k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 993 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~31
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion

Automated 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.

SKILL.md

The full file from DataDog/datadog-agent at commit 20eff25, republished under its Apache-2.0 licence (© DataDog). 993 words, ~2,303 tokens.

Download SKILL.mdSave it as .claude/skills/create-config-field/SKILL.md (or your agent's skills folder).
name
create-config-field
description
Add a new configuration field to the Datadog Agent (datadog.yaml) by declaring it in the config schema
allowed-tools
Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
argument-hint
[config.key.name]
model
sonnet

Add a new configuration setting to a Datadog Agent config file by declaring it in the configuration schema.

The schema is the single source of truth for every Agent setting: its type, default, documentation, environment variables, validation rules and visibility all live in one YAML node. Do not add BindEnvAndSetDefault calls by hand — the pkg/config/setup/*_settings.go files are generated from the schema, and so are datadog.yaml.example / system-probe.yaml.example, the JSON Schema published to SchemaStore, and the runtime config validation.

Consult these references only when the instructions below do not provide enough detail for the current task:

  • For guidance on adding, documenting, or publishing settings, read the settings how-to.
  • For unfamiliar keywords or validation rules, read the keyword reference.
  • For complex nested settings or the distinction between sections and object values, read the annotated examples.
  • For command arguments, read the CLI reference.
  • For schema terminology and design rationale, read the schema overview.

Where settings live

One schema per config file, all under pkg/config/schema/yaml/:

Config fileSchema--schema value
datadog.yamlpkg/config/schema/yaml/core_schema.yamlcore (default)
system-probe.yamlpkg/config/schema/yaml/system-probe_schema.yamlsystem-probe

Large top-level sections are split into sibling files referenced via $ref, so the node for apm_config.enabled lives in apm_config.yaml, not in core_schema.yaml.

Never grep for the file by hand — dda inv -- schema.locate resolves the $ref for you (see Step 2).

Instructions

Step 1: Gather information from the user

Use AskUserQuestion to collect the following. If $ARGUMENTS provides the setting path, skip that question.

  1. Target schema: datadog.yaml (core) or system-probe.yaml?
  2. Setting path (dot-separated, e.g. my_feature.enabled).
  3. Type: boolean, string, number, integer, array, or object. For array, also the element type (items.type is mandatory).
  4. Default: a single default, or per-platform platform_default.
  5. Visibility: public (appears in the generated *.yaml.example and public docs) or undocumented (the default — internal, no keyword emitted).
  6. Description: mandatory for public, strongly encouraged otherwise. Written for users, not Agent developers. This should explain what the settings does and how to use it.
  7. Description for each ancestor section: if a setting is public, each parent section must be public too with their own description. Ask for a description per section newly made public, separately from the setting's. Never reuse or copy the setting's description into its parent section — a section describes what the group of settings is for, a setting describes its own value.
  8. Comment: an optional description aimed at developers.
Step 2: Check the setting does not already exist
bash
dda inv -- schema.locate my_feature.enabled          # exact path
dda inv -- schema.locate '.*my_feature'              # pattern (regex/glob)

This also tells you which file to edit. See the locate-config-setting skill for the full flag set.

Step 3: Add the node to the schema

Preferred — the interactive wizard, which routes split sections to the right sub-file, preserves the file's hand-curated ordering, makes ancestor sections public when needed, and lints at the end:

bash
dda inv schema.add-setting                       # core schema
dda inv schema.add-setting --schema=system-probe # system-probe schema

The wizard is interactive (it reads from stdin), so when you cannot drive a TTY, edit the YAML directly instead. Read a neighbouring node first and match its style:

yaml
my_feature:
  node_type: section
  type: object
  visibility: public
  description: Configuration for my feature.
  properties:

    enabled:
      node_type: setting
      type: boolean
      default: false
      description: Enables my feature.
      visibility: public

Rules that the linter enforces:

  • Every node needs node_type: section or node_type: setting.
  • Every setting and section name must be snake_case (lowercase letters and digits, in words separated by single underscores).
  • Every setting needs a type and exactly one of default / platform_default.
  • platform_default must cover every platform — list linux, windows, darwin, aix explicitly, or add an other catch-all. container / fargate are optional and fall back to linux then other.
  • An array setting must declare items.type.
  • A public node needs a non-empty description, and every ancestor section must also be public with a description — its own description, gathered in Step 1, not a copy of the child setting's.
  • A section needs at least one child; a public section needs at least one direct public child.
  • Set node_type: setting — not section — when the value is an object (e.g. docker_labels_as_tags: type: object, default: {}). A section is only for grouping child settings.

Placement matters: the generated config examples follow schema order, so insert the node where it belongs logically, not at the end of the file.

Show full SKILL.md (341 more words)Show less
Step 4: Lint and preview
bash
dda inv schema.lint

If the change requires generated Go code or a configuration-example preview, consult the relevant workflow for regenerating Go code or generating configuration examples.

Keyword quick reference

Full up-to-date details in doc/reference/agent-schema/keywords.md.

KeywordWhereNotes
node_typeallsection or setting. Mandatory.
typesettingboolean, number, integer, string, array, object.
defaultsettingMust match type. Mutually exclusive with platform_default.
platform_defaultsettingKeys: linux, windows, darwin, aix, container, fargate, other.
descriptionallMandatory when public. Use the | block scalar for multi-line.
visibilityallpublic or undocumented (default).
env_varssettingOverrides the derived DD_* name; first match wins.
env_parsersettingcomma_separated, space_separated, json. Needed for complex types.
sensitivesettingScrubs the value from logs, flare and Fleet Automation.
itemssettingMandatory for array.
propertiessection / object settingChild settings on a section; value sub-schema on an object setting.
titlesectionBanner heading in the generated example.
commentallDeveloper-only note; never rendered to users.
examplesettingOverrides the value shown on the rendered example line.
tagsallSee below.

Relative defaults: use ${conf_path}, ${install_path}, ${log_path}, ${run_path} with / separators rather than hardcoding per-OS paths — e.g. default: "${conf_path}/conf.d". Valid in default and platform_default.

Tags

Three are usable for new settings:

  • template_section:<name> — selects which config-example flavors include the setting. Omit it and the setting renders in every build type.
  • platform_only:<os>[,<os>] — restricts the setting to the listed OSes (windows, linux, darwin); it is dropped from the examples generated for any other --os-target.
  • generate_const:<Name> — emits a Go constant <Name> in pkg/config/setup holding this setting's default. Use it instead of hardcoding a default (port, timeout, path) in Go code, so the two can never drift.

golang_type:*, no-env and the legacy env_parser values (comma_and_space_separated, traces_span, csv_comma_separated, comma_then_space_separated, json_list_or_*) exist only to support existing settings — do not use them for new ones.

Reading the setting from Go

go
pkgconfigsetup.Datadog().GetBool("my_feature.enabled")
pkgconfigsetup.SystemProbe().GetInt("system_probe_config.max_conns")

In components, prefer the injected config.Component over the global accessor.

  • locate-config-setting — find where an existing setting is defined.
  • create-release-note — a user-visible new setting needs a reno note.

Usage

  • /create-config-field — interactive: prompts for all details
  • /create-config-field my_feature.enabled — pre-fills the setting path

© 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

Files

Just SKILL.md in .agents/skills/create-config-field of DataDog/datadog-agent.

Open the folder on GitHubat commit 20eff25

Compare with similar skills

Create Config Field 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.

Create Config Field compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Config Field this skillDataDog/datadog-agent3.8k—~2.3kAutomated safety check: NotesApache-2.0
Apm IntegrationsDataDog/dd-trace-js836—~3kAutomated safety check: PassCustom licence
Dd IdpDataDog/pup1k—~2kAutomated safety check: PassApache-2.0
Datadog Data Source GeneratorDataDog/terraform-provider-datadog468—~2.7kAutomated safety check: PassMPL-2.0
Apm IntegrationsDataDog/dd-trace-java736—~3.7kAutomated safety check: NotesApache-2.0
Tool ConnectorZhixiangLuo/10xProductivity478—~925Automated safety check: PassMIT

Similar skills

  • Apm Integrations

    DataDog/dd-trace-js

    Official

    A skill your agent uses when adding, debugging, fixing, or modifying instrumentation and plugins for third-party libraries in dd-trace-js.

    836 GitHub stars~3k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Dd Idp

    DataDog/pup

    Official

    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.

    1k GitHub stars~2k tokensUpdated 2 days ago
    DevOps & CloudAuto-check passed
  • Datadog Data Source Generator

    DataDog/terraform-provider-datadog

    Official

    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.

    468 GitHub stars~2.7k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Apm Integrations

    DataDog/dd-trace-java

    Official

    Write a new library instrumentation end-to-end. An agent skill from DataDog/dd-trace-java.

    736 GitHub stars~3.7k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Tool Connector

    ZhixiangLuo/10xProductivity

    Connect any tool you use at work to your agent — including internal company tools, custom-built systems, deployment portals, incident trackers, internal knowledge bases, HR systems, and commercial…

    478 GitHub stars~925 tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Redis Observability

    redis/agent-skills

    Official

    Redis observability guidance — which metrics to monitor (memory, connections, hit ratio, ops/sec, rejected connections), which built-in commands to reach for during incident triage (SLOWLOG, INFO…

    165 GitHub starsUsed in 2 repos~911 tokens
    DevOps & CloudAuto-check passed

More from DataDog/datadog-agent

All 35 skills in this repo
  • Triage CI Failure

    DataDog/datadog-agent

    Official

    Classify a failed CI as either caused by an active incident, flakiness, or a true code regression.

    3.8k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Elicit

    DataDog/datadog-agent

    Official

    Run a structured discovery session to build an Allium specification through conversation.

    3.8k GitHub starsUsed in 1 repo~3.7k tokens
    Auto-check passed
  • Follow PR

    DataDog/datadog-agent

    Official

    Monitor the current PR's GitLab pipeline to completion, then report success, auto-fix, or investigate a failure.

    3.8k GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Create Epic Recap

    DataDog/datadog-agent

    Official

    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…

    3.8k GitHub stars~5k tokensUpdated today
    Auto-check: notes
  • Explain Lading Config

    DataDog/datadog-agent

    Official

    Explains a lading.yaml config file from the regression test suite, using the lading Rust source as ground truth for field meanings and defaults.

    3.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Distill

    DataDog/datadog-agent

    Official

    Extract an Allium specification from an existing codebase. An agent skill from DataDog/datadog-agent.

    3.8k GitHub starsUsed in 1 repo~7k tokens
    Auto-check passed

Works with

Categories

Questions about Create Config Field

What does Create Config Field do?

Add a new configuration field to the Datadog Agent (datadog.yaml) by declaring it in the config schema. Create Config Field is an agent skill from DataDog/datadog-agent, published by the product's own GitHub organization.

When should I use Create Config Field?

Create Config Field fits situations like: devOps & Cloud work in your project.

How do I install Create Config Field in Claude Code?

Run `npx skills add DataDog/datadog-agent --skill create-config-field -a claude-code`. Or copy the skill folder (.agents/skills/create-config-field in DataDog/datadog-agent) into .claude/skills/create-config-field in your project. Claude Code loads it when a task matches its description.

How do I install Create Config Field in Codex?

Run `npx skills add DataDog/datadog-agent --skill create-config-field -a codex`. Or copy the skill folder (.agents/skills/create-config-field in DataDog/datadog-agent) into .agents/skills/create-config-field in your project. Codex loads it when a task matches its description.

Can I use Create Config Field in Cursor, Gemini CLI or GitHub Copilot?

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-config-field -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-config-field, .gemini/skills/create-config-field, .github/skills/create-config-field and .opencode/skills/create-config-field in your project.

What does Create Config Field need to run?

SKILL.md names no scripts, command-line tools or credentials: Create Config Field is instructions for the agent only. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion.

Does Create Config Field access the network?

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.

Is Create Config Field safe to install?

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.

What licence does Create Config Field use?

Create Config Field 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.

How many tokens does Create Config Field use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Create Config Field?

Skills that share tags, products or a category with Create Config Field: Apm Integrations (DataDog/dd-trace-js, 836 stars), Dd Idp (DataDog/pup, 1k stars), Datadog Data Source Generator (DataDog/terraform-provider-datadog, 468 stars) and Apm Integrations (DataDog/dd-trace-java, 736 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create Config Field?

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.