diff --git a/.claude/skills/peltier/SKILL.md b/.claude/skills/peltier/SKILL.md index fa55131..24b9542 100644 --- a/.claude/skills/peltier/SKILL.md +++ b/.claude/skills/peltier/SKILL.md @@ -1,6 +1,6 @@ --- name: peltier -description: Prove a performance change is real — or refuse to claim it. Use when optimizing code for speed, verifying a claimed speedup ("is this actually faster?", "did my optimization work?"), checking for a performance regression ("did this PR make things slower?"), or comparing the performance of two implementations. Runs peltier's trust layer: equivalence gates, A/A environment calibration, interleaved A/B with bootstrap confidence intervals. Never reports a naked percentage and never claims a win that is not statistically significant. Do NOT use for correctness-only work. +description: "Prove a performance change is real — or refuse to claim it. Use when optimizing code for speed, verifying a claimed speedup ('is this actually faster?', 'did my optimization work?'), checking for a performance regression ('did this PR make things slower?'), or comparing the performance of two implementations. Runs peltier's trust layer — equivalence gates, A/A environment calibration, interleaved A/B with bootstrap confidence intervals. Never reports a naked percentage and never claims a win that is not statistically significant. Do NOT use for correctness-only work." --- # peltier — prove it, or claim nothing diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aec64d5..efc13a8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -105,6 +105,23 @@ jobs: - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 + - name: SKILL.md frontmatter is loadable + run: | + python3 - <<'PY' + import sys, yaml, pathlib + p = pathlib.Path(".claude/skills/peltier/SKILL.md") + text = p.read_text(encoding="utf-8") + if not text.startswith("---\n"): + sys.exit("SKILL.md must open with a --- frontmatter block") + fm = yaml.safe_load(text.split("---", 2)[1]) # raises on malformed YAML + for key in ("name", "description"): + if not isinstance(fm.get(key), str) or not fm[key].strip(): + sys.exit(f"frontmatter '{key}' must be a non-empty string") + if fm["name"] != p.parent.name: + sys.exit(f"frontmatter name '{fm['name']}' != directory '{p.parent.name}'") + print(f"frontmatter OK: name={fm['name']}, description={len(fm['description'])} chars") + PY + - name: Preflight resolves inside a peltier checkout run: | sh .claude/skills/peltier/scripts/preflight.sh | tee /tmp/pf.txt