mcpbeat

Explain Lading Config

datadog/explain-lading-config

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

5k tokens
context cost
the whole folder, loaded on every use
5
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
3695
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/DataDog/datadog-agent --skill explain-lading-config

What comes with it

15 325 bytes besides the instruction
references/explanation-template.md
references/source-reading.md
scripts/resolve-lading-config.sh
scripts/validate-lading-checkout.sh

What it tells the agent to use

found in the instruction text
Read reads your files

The instruction itself

6 sections, as written by the author

explain-lading-config

Explain what a lading regression test config does, grounded in lading source code.

Quick Start

# 1. Verify the lading checkout exists and is on a known branch
bash .agents/skills/explain-lading-config/scripts/validate-lading-checkout.sh

# 2. Resolve $ARGUMENTS to a lading.yaml path (exact/substring/glob/path)
bash .agents/skills/explain-lading-config/scripts/resolve-lading-config.sh "$ARGUMENTS"

# 3. Read the resolved file, then ground every field in lading source
#    (see references/source-reading.md for the full strategy).

# 4. Write up the explanation following references/explanation-template.md.

Defaults must be resolved to concrete values, not function names. Full workflow below.

Step 1: Validate lading checkout

Run .agents/skills/explain-lading-config/scripts/validate-lading-checkout.sh.

  • Exit 0: script prints the current branch on stdout. If it is not main, warn

the user that explanations are grounded in a non-main branch, then continue.

  • Exit non-zero: the script prints a suggested git clone command on stderr.

Relay that to the user and stop.

Override the checkout location with LADING_DIR if needed.

Step 2: Determine target file

Use .agents/skills/explain-lading-config/scripts/resolve-lading-config.sh to

avoid ad-hoc matching. The script enumerates experiments under

test/regression/cases/ (active) and test/regression/x-disabled-cases/

(disabled). Each experiment is a <case>/lading/lading.yaml addressed by its

case-directory name; disabled rows are flagged with a trailing (disabled)

column in the listing. ebpf/cases/ (split-mode) and

ebpf/config-only/cases/ are intentionally out of scope; if a user asks about

one, tell them this skill doesn't cover it yet.

The script handles path-like inputs, substring case names, and shell

globs (*, ?).

If $ARGUMENTS is provided: run resolve-lading-config.sh "$ARGUMENTS".

  • Exit 0: stdout is the resolved absolute path; read it.
  • Exit 3 (ambiguous): stderr lists candidates.
  • ≤ 4 candidates: use AskUserQuestion to pick one, then read that

path.

  • > 4 candidates (a broad substring like i can match 20+): do not

try to force them into AskUserQuestion. Print the experiment names

as a short bulleted list and ask the user to narrow the query and

re-invoke /explain-lading-config <name>.

  • Exit 2 (not found): stderr may include "did you mean?" suggestions — if

present, offer the suggestions to the user via AskUserQuestion (up to

4 options) or as a short list; if not, relay the error and stop.

  • Exit 4 (wrong repo): the script is being run from outside the agent repo.

Relay the error verbatim and stop — the user needs to cd into the repo.

If the resolved path contains /x-disabled-cases/, flag this explicitly

in the explanation — the experiment exists on disk but is not currently

executed by SMP. Otherwise a user may assume it's live.

Reading very large configs: multi-sender configs (e.g.

uds_dogstatsd_20mb_12k_contexts_20_senders, ~870 lines) are usually

block-copies of one template with a few fields varying (typically only

seed). Before a full Read, check size and duplication:

wc -l <path>                                    # scale check
grep -c '^  - ' <path>                          # top-level list entries
yq '.generator | length' <path> 2>/dev/null     # if yq is present

For highly-duplicated configs, Read only the first block (plus the

blackhole/target_metrics sections) and report the generator as

"N identical copies, seed differs" instead of walking every block. Spot-

check one later block to confirm uniformity.

If $ARGUMENTS is omitted: run resolve-lading-config.sh with no

argument. It emits <experiment>\t<path> lines for every discovered config.

Print the experiment names as a plain bulleted list to the user (preserving

the (disabled) markers) and ask them to type the name (or re-invoke the

skill with /explain-lading-config <name>).

Step 3: Read the lading codebase for context

Before explaining, read the lading source files that ground the populated

sections of the config. The detailed strategy (variant-to-module mapping,

grep-before-Read invariants, fallback for renamed files) lives in

references/source-reading.md — read it now.

Step 4: Explain the config

Write the explanation following the structure in

references/explanation-template.md (generator summary, aggregate load,

blackhole sinks, target metrics, source references). Read it now.

How to use it

Copy the folder

Take datadog/explain-lading-config from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.