Back to list
DataDog

lading-preflight

by DataDog

A suite of data generation and load testing tools

92🍴 13📅 Jan 22, 2026

SKILL.md


name: lading-preflight description: Environment validation checklist. Run this FIRST when starting a new Claude session to verify the environment is ready for optimization work. Checks Rust toolchain, ci/ scripts, hyperfine, profilers, payloadtool, git, and database access. allowed-tools: Bash

Pre-flight Checklist

Run this skill FIRST when starting a new session.

This validates that the environment is properly configured for optimization hunting, reviewing, and rescuing in lading.


Execute All Checks

Run each check in order. STOP on any failure and report the issue.

Phase 1: Rust Toolchain

echo "=== Phase 1: Rust Toolchain ==="
rustc --version

Expected: rustc 1.70.0 or newer (Rust 2024 edition requires 1.82+) If fails: Install via rustup: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

cargo --version

Expected: Version string like cargo 1.XX.X If fails: Reinstall rustup

cargo nextest --version

Expected: Version string like cargo-nextest nextest X.Y.Z If fails: cargo install cargo-nextest


Phase 2: CI Scripts

echo "=== Phase 2: CI Scripts ==="
test -x ci/validate && echo "ci/validate executable" || echo "FAIL: ci/validate"
test -x ci/test && echo "ci/test executable" || echo "FAIL: ci/test"
test -x ci/check && echo "ci/check executable" || echo "FAIL: ci/check"
test -x ci/clippy && echo "ci/clippy executable" || echo "FAIL: ci/clippy"
test -x ci/fmt && echo "ci/fmt executable" || echo "FAIL: ci/fmt"
test -x ci/kani && echo "ci/kani present" || echo "WARN: ci/kani (optional for proofs)"

Expected: All scripts exist and are executable If fails: Check you're in the lading repo root, run chmod +x ci/*


Phase 3: Build Verification

echo "=== Phase 3: Build Verification ==="
ci/check

Expected: Clean compilation with no errors If fails: Check cargo update, may need dependency fixes

cargo build --release --bin payloadtool

Expected: Successful build, binary at target/release/payloadtool If fails: Missing dependencies or Rust version too old


Phase 4: Benchmarking Tools

echo "=== Phase 4: Benchmarking Tools ==="
which hyperfine && hyperfine --version || echo "WARN: hyperfine not found"

Expected: Version like hyperfine 1.X.X If missing: cargo install hyperfine or brew install hyperfine

cargo criterion --version 2>/dev/null || echo "WARN: cargo-criterion not found"

Expected: Version like cargo-criterion 1.X.X If missing: cargo install cargo-criterion

grep -rq "criterion" lading_payload/Cargo.toml 2>/dev/null && echo "criterion: found in lading_payload" || echo "WARN: criterion not found"
ls lading_payload/benches/*.rs 2>/dev/null | head -3 && echo "criterion benchmarks: present" || echo "WARN: no criterion benchmarks"

Expected: criterion found, benchmarks present in lading_payload/benches/ Note: criterion is for micro-benchmarks; proptest is for property tests (different purposes)


Phase 5: Profiling Tools

echo "=== Phase 5: Profiling Tools ==="
PROFILERS=""
which samply > /dev/null 2>&1 && PROFILERS="${PROFILERS}samply "
which cargo-flamegraph > /dev/null 2>&1 && PROFILERS="${PROFILERS}cargo-flamegraph "
which sample > /dev/null 2>&1 && PROFILERS="${PROFILERS}sample(macOS) "
which perf > /dev/null 2>&1 && PROFILERS="${PROFILERS}perf(linux) "

if [ -n "$PROFILERS" ]; then
    echo "Available profilers: $PROFILERS"
else
    echo "WARN: No profilers found"
    echo "Install one: cargo install samply OR cargo install flamegraph"
fi

Expected: At least one profiler available Recommended:

  • macOS: cargo install samply (best option) or use built-in sample
  • Linux: perf (system package) or cargo install samply

Phase 6: Memory Tools

echo "=== Phase 6: Memory Tools ==="
./target/release/payloadtool --help 2>&1 | grep -q "memory-stats" && echo "payloadtool --memory-stats: supported" || echo "WARN: payloadtool missing --memory-stats"

Expected: payloadtool --memory-stats: supported If fails: Rebuild payloadtool from current branch

# Optional advanced memory tools
which heaptrack > /dev/null 2>&1 && echo "heaptrack: available" || echo "heaptrack: not found (optional)"
which valgrind > /dev/null 2>&1 && echo "valgrind: available" || echo "valgrind: not found (optional)"

Expected: Optional tools reported; not required for basic work Note: payloadtool --memory-stats is the primary memory measurement tool


Phase 7: Git State

echo "=== Phase 7: Git State ==="
git config user.name || echo "FAIL: git user.name not set"
git config user.email || echo "FAIL: git user.email not set"

Expected: Name and email configured If fails: git config user.name "Name" and git config user.email "email"

git status --short | head -10
DIRTY=$(git status --porcelain | wc -l | tr -d ' ')
if [ "$DIRTY" -gt 0 ]; then
    echo "WARN: Working tree has $DIRTY uncommitted changes"
else
    echo "Working tree: clean"
fi

Expected: Report status; dirty tree is a warning, not a failure Note: Commit or stash changes before starting optimization work


Quick All-in-One Check

#!/bin/bash
set -e  # Exit on ANY error

echo "=== LADING PREFLIGHT START ==="

echo "Phase 1: Rust toolchain..."
rustc --version > /dev/null
cargo --version > /dev/null
cargo nextest --version > /dev/null

echo "Phase 2: CI scripts..."
test -x ci/validate
test -x ci/test
test -x ci/check
test -x ci/clippy
test -x ci/fmt

echo "Phase 3: Build..."
ci/check
cargo build --release --bin payloadtool

echo "Phase 4: Benchmarking..."
which hyperfine > /dev/null
cargo criterion --version > /dev/null

echo "Phase 5: Profiling..."
which samply > /dev/null || which sample > /dev/null || which perf > /dev/null

echo "Phase 6: Memory tools..."
./target/release/payloadtool --help | grep -q "memory-stats"

echo "Phase 7: Git..."
git config user.name > /dev/null
git config user.email > /dev/null

echo "=== LADING PREFLIGHT PASSED ==="

CRITICAL: The set -e ensures the script exits immediately on ANY failure. If you see output stop before "LADING PREFLIGHT PASSED", a check failed.


Report Format

After running checks, output:

LADING PREFLIGHT REPORT
=======================
Timestamp: <current time>
Status: PASS | FAIL

Phase 1 - Rust Toolchain:
  [*] rustc 1.XX.X
  [*] cargo 1.XX.X
  [*] cargo-nextest X.Y.Z

Phase 2 - CI Scripts:
  [*] ci/validate
  [*] ci/test
  [*] ci/check
  [*] ci/clippy
  [*] ci/fmt
  [*] ci/kani

Phase 3 - Build:
  [*] ci/check passes
  [*] payloadtool built

Phase 4 - Benchmarking:
  [*] hyperfine X.Y.Z
  [*] cargo-criterion X.Y.Z

Phase 5 - Profiling:
  [*] samply (or sample/perf)

Phase 6 - Memory:
  [*] payloadtool --memory-stats
  [ ] heaptrack (optional)

Phase 7 - Git:
  [*] user.name configured
  [*] user.email configured
  [!] Working tree dirty (12 files)

Ready for: /lading-optimize-hunt, /lading-optimize-review, /lading-optimize-rescue

Or if failed:

LADING PREFLIGHT REPORT
=======================
Status: FAIL

Failed checks:
  [X] cargo-nextest - not found
      Fix: cargo install cargo-nextest

  [X] ci/validate - not executable
      Fix: chmod +x ci/validate

DO NOT proceed with optimization skills until all required checks pass.

Usage

/lading-preflight             # Run full checklist

Run this at the start of every new Claude session before any optimization work.

Score

Total Score

65/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon