Skip to content
Back to skills

Explain Lading Config

ASecurity

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,754 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 3, 2026
devopsrustshellbashgit

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 3, 2026

npx -y skills add DataDog/datadog-agent --skill explain-lading-config --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Explain Lading Config?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Explain Lading Config
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/datadog-explain-lading-config/badge)](https://www.skillsdirectory.com/skills/datadog-explain-lading-config)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: explain-lading-config
description: Explains a lading.yaml config file from the regression test suite, using the lading Rust source as ground truth for field meanings and defaults.
user_invocable: true
argument-hint: "[experiment name]"
model: sonnet
---

# explain-lading-config

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

## Quick Start

```bash
# 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:

```bash
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.

Files in this skill

  • SKILL.md4.7 KB
  • references/explanation-template.md2.9 KB
  • references/source-reading.md3.9 KB
  • scripts/resolve-lading-config.sh7.3 KB
  • scripts/validate-lading-checkout.sh885 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.