← ClaudeAtlas

newskilllisted

Scaffold a new skillhub skill, or repair one that drifted, across all four registration surfaces in one motion — folder, README table row, marketplace plugin, and trigger evals — then prove it with validate-skills.py. User-invoked.
duthaho/skillhub · ★ 9 · AI & Automation · score 79
Install: claude install-skill duthaho/skillhub
# newskill — add a skill without drift `/newskill scaffold <name> "<description>" <category>` — create a new skill, registered `/newskill fix [<name>]` — complete a skill that exists in some surfaces but not others A skillhub skill lives in **four surfaces**, and it is only really "added" when all four agree: 1. **Folder** — `.claude/skills/<name>/SKILL.md` with valid frontmatter. 2. **README table row** — a row in the right category table (a prose mention does *not* count; the validator checks for a table row specifically). 3. **Marketplace** — `<name>` listed in one plugin's `skills[]` in `.claude-plugin/marketplace.json`. 4. **Trigger evals** — cases in `evals/triggers.json` (model-invoked skills only; user-invoked skills are exempt). **Drift** is these four disagreeing — the default failure of hand-adding a skill. The oracle for drift is `python3 scripts/validate-skills.py`: it already reports which surfaces are missing. This skill's whole job is to make the four agree and leave the validator green. ## The loop (both modes end here) Run `python3 scripts/validate-skills.py` → read each FAIL/WARN → fix that exact surface → re-run. Repeat until **no FAIL**. Never assert done from memory; the validator is cheap and authoritative. ## Mode: scaffold Adding a brand-new skill from a name + description + category. 1. **Guard.** If `.claude/skills/<name>/` already exists, **stop** — this is a `fix`, not a scaffold; never overwrite an existing `SKILL.md`. Also r