Official agent skill

Create Runtime Setting

by DataDog in DataDog/datadog-agent

Create a new RuntimeSetting that can be changed at runtime via agent config set/get and the config API

OfficialApache-2.0Auto-check: notes

Install Create Runtime Setting

skills CLI
$ npx skills add DataDog/datadog-agent --skill create-runtime-setting -a claude-code

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

GitHub CLI
$ gh skill install DataDog/datadog-agent create-runtime-setting --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-runtime-setting .claude/skills/create-runtime-setting && 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-runtime-setting
GitHub stars
3.8k
Token cost
~1.5k tokens
SKILL.md length
690 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create a new RuntimeSetting that can be changed at runtime via agent config set/get and the config API

  • Works in 6 steps: Gather information from the user → Read reference examples from the codebase → Create the RuntimeSetting implementation… → …
  • SKILL.md covers Instructions, Important Notes and Usage
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Create Runtime Setting is an agent skill from DataDog/datadog-agent, published by the product's own GitHub organization. Create a new RuntimeSetting that can be changed at runtime via agent config set/get and the config API

Its SKILL.md is about 1.5k 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.

Example prompts

  • “/create-runtime-setting”

Requirements

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

Workflow steps

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

  1. Gather information from the user
  2. Read reference examples from the codebase
  3. Create the RuntimeSetting implementation file
  4. Create a unit test file
  5. Register the setting
  6. Verify

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

    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 Runtime Setting loads about 1.5k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 690 words of instructions outside code blocks.

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

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). 690 words, ~1,525 tokens.

Download SKILL.mdSave it as .claude/skills/create-runtime-setting/SKILL.md (or your agent's skills folder).
name
create-runtime-setting
description
Create a new RuntimeSetting that can be changed at runtime via `agent config set/get` and the config API
allowed-tools
Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
argument-hint
[setting-name]
model
sonnet

Create a new RuntimeSetting implementation for the Datadog Agent. RuntimeSettings are settings that can be read and changed at runtime via:

  • The CLI: agent config get <setting>, agent config set <setting> <value>, agent config list-runtime
  • The HTTP API: GET /config/{setting}, POST /config/{setting}

Instructions

Step 1: Gather information from the user

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

  1. Setting name (the config key, e.g. log_payloads, dogstatsd_stats): the name used to register and access the setting via the API.

  2. Value type: What type of value does this setting hold?

    • Boolean (true/false)
    • Integer
    • String
    • String slice (list of strings)
  3. Description: A human-readable description of what this setting controls (shown in /config/list-runtime).

  4. Hidden: Should this setting be hidden from the public runtime settings list? (default: false)

  5. Scope: Where should this setting live?

    • Shared (pkg/config/settings/) — Used by multiple agent services (agent, trace-agent, process-agent, etc.)
    • Agent-specific (cmd/agent/subcommands/run/internal/settings/) — Only used by the core agent
  6. Config key: The datadog.yaml config key this setting maps to (e.g. log_payloads, internal_profiling.enabled). Often the same as the setting name, but can differ.

  7. Which services should register it: Ask which services should have this setting registered:

    • Core Agent (cmd/agent/subcommands/run/command.go)
    • Cluster Agent (cmd/cluster-agent/subcommands/start/command.go)
    • Trace Agent (cmd/trace-agent/subcommands/run/command.go)
    • Process Agent (cmd/process-agent/subcommands/run/command.go)
    • Security Agent (cmd/security-agent/subcommands/runtime/command.go)
    • System Probe (cmd/system-probe/subcommands/run/command.go)
    • DogStatsD (cmd/dogstatsd/subcommands/start/command.go)
Step 2: Read reference examples from the codebase

Before writing any code, read the appropriate reference files to follow existing patterns exactly.

  1. Read the interface defined in comp/core/settings/component.go to understand the RuntimeSetting methods.

  2. Read an existing implementation matching the chosen value type. Use Glob with pattern pkg/config/settings/runtime_setting_*.go to list available examples, then read one that matches the desired type (boolean, integer, string, etc.).

  3. Read the test file alongside the chosen reference to see the test pattern.

  4. Read a registration site: Look at one of the command.go files listed in Step 1.7 to see how settings are added to the Settings map.

Step 3: Create the RuntimeSetting implementation file

File naming convention: runtime_setting_<feature_name>.go

File location:

  • Shared: pkg/config/settings/runtime_setting_<feature>.go
  • Agent-specific: cmd/agent/subcommands/run/internal/settings/runtime_setting_<feature>.go

Create the implementation following the patterns from the reference file read in Step 2. Every RuntimeSetting needs:

  1. Struct with a ConfigKey string field
  2. Constructor New<Name>RuntimeSetting() that sets the config key
  3. Description() — returns the human-readable description
  4. Hidden() — returns whether hidden from list-runtime
  5. Name() — returns the config key
  6. Get(config) — reads the current value using the appropriate typed getter
  7. Set(config, v, source) — validates/converts the input value, then calls config.Set()

Type conversion in Set(): for Boolean and Integer types, use the GetBool(v) / GetInt(v) helper functions from pkg/config/settings — these handle string-to-type conversion. For agent-specific settings, import the helpers via settings "github.com/DataDog/datadog-agent/pkg/config/settings".

Show full SKILL.md (256 more words)Show less
Step 4: Create a unit test file

Create a test file alongside the implementation: runtime_setting_<feature>_test.go

Follow the test patterns from the reference test file read in Step 2. The test should verify:

  • Name(), Description(), Hidden() return expected values
  • Get returns the correct value from config
  • Set with a valid value updates the config
  • Set with a string representation works (e.g. "true"/"false" for bools)
  • Set with an invalid value returns an error
Step 5: Register the setting

Find the settings.Params provider in the appropriate command.go file(s) for each selected service (from Step 1.7). Add the new setting to the Settings map following the existing pattern in that file. The import alias convention and registration format are visible in the existing entries.

Step 6: Verify
  1. Run the new test:

    bash
    dda inv test --targets=<package_path>
  2. Run the linter on changed files:

    bash
    dda inv linter.go
  3. Report the results to the user. If tests or linting fail, fix the issues.

Important Notes

  • The RuntimeSetting interface is defined in comp/core/settings/component.go
  • Helper functions GetBool and GetInt are in pkg/config/settings/runtime_setting.go
  • All Set methods receive a model.Source parameter for config source tracking — always pass it through to config.Set()
  • Settings are exposed via HTTP at /config/{setting_name} (GET to read, POST to write) and via the CLI: agent config get <setting>, agent config set <setting> <value>, agent config list-runtime
  • Follow existing code style: use the same comment patterns, error formatting, and naming conventions as existing RuntimeSettings

Usage

  • /create-runtime-setting — Interactive: prompts for all details
  • /create-runtime-setting my_new_setting — Pre-fills the setting name, prompts for the rest

© 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-runtime-setting of DataDog/datadog-agent.

Open the folder on GitHubat commit 20eff25

Compare with similar skills

Create Runtime Setting 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 Runtime Setting compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Runtime Setting this skillDataDog/datadog-agent3.8k—~1.5kAutomated safety check: NotesApache-2.0
Code Design Rationale Investigatorcursor/plugins10k9 repos~2.6kAutomated safety check: PassNone
Apm IntegrationsDataDog/dd-trace-js836—~3kAutomated safety check: PassCustom licence
Bump LibdatadogDataDog/dd-trace-dotnet573—~1.7kAutomated safety check: PassApache-2.0
Dd IdpDataDog/pup1k—~2kAutomated safety check: PassApache-2.0
Datadog Data Source GeneratorDataDog/terraform-provider-datadog468—~2.7kAutomated safety check: PassMPL-2.0

Similar skills

  • Official

    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.

    10k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed
  • 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 today
    DevOps & CloudAuto-check passed
  • Bump Libdatadog

    DataDog/dd-trace-dotnet

    Official

    Update/bump the libdatadog native library version in dd-trace-dotnet.

    573 GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-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 yesterday
    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 today
    DevOps & CloudAuto-check passed
  • Release

    DataDog/datadog-go

    Official

    Cut a new datadog-go release and update CHANGELOG.md following the repo's house style.

    375 GitHub stars~2k tokensUpdated 1 mo ago
    DevelopmentAuto-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

Questions about Create Runtime Setting

What does Create Runtime Setting do?

Create a new RuntimeSetting that can be changed at runtime via agent config set/get and the config API. Create Runtime Setting is an agent skill from DataDog/datadog-agent, published by the product's own GitHub organization.

How do I install Create Runtime Setting in Claude Code?

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

How do I install Create Runtime Setting in Codex?

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

Can I use Create Runtime Setting 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-runtime-setting -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-runtime-setting, .gemini/skills/create-runtime-setting, .github/skills/create-runtime-setting and .opencode/skills/create-runtime-setting in your project.

What does Create Runtime Setting need to run?

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

Does Create Runtime Setting 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 Runtime Setting 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 Runtime Setting use?

Create Runtime Setting 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 Runtime Setting use?

About 1.5k tokens (SKILL.md is roughly 6.1k 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 Runtime Setting?

Skills that share tags, products or a category with Create Runtime Setting: 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.

Who maintains Create Runtime Setting?

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.