Explains a lading.yaml config file from the regression test suite, using the lading Rust source as ground truth for field meanings and defaults.
npx skills add https://github.com/DataDog/datadog-agent --skill explain-lading-config
Explain what a lading regression test config does, grounded in lading source code.
# 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.
Run .agents/skills/explain-lading-config/scripts/validate-lading-checkout.sh.
main, warnthe user that explanations are grounded in a non-main branch, then continue.
git clone command on stderr.Relay that to the user and stop.
Override the checkout location with LADING_DIR if needed.
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".
AskUserQuestion to pick one, then read thatpath.
i can match 20+): do nottry 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>.
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.
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>).
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.
Write the explanation following the structure in
references/explanation-template.md (generator summary, aggregate load,
blackhole sinks, target metrics, source references). Read it now.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Use when implementing any feature or bugfix, before writing implementation code
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use for submitting experiments via API, tracking experiment status, downloading results, optimizing protein sequences for better expression using computational tools (NetSolP, SoluProt, SolubleMPNN, ESM), or managing protein design workflows with wet-lab validation.
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.
Take datadog/explain-lading-config from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.