fn skill_name_slug(name: &str) -> StringExpand description
Derive a slug for an Agent Skill name that is valid per the Agent Skills
name grammar: lowercase letters, digits, and hyphens ONLY (no
underscores). derive_slug is shared with agent role-slugs, which
deliberately DO permit underscores, so it isn’t spec-valid here as-is —
hyphenate underscores (and re-collapse any resulting run of hyphens)
rather than reusing it directly (Codex P1, PR #2322).