skills/skill-dev/beam-next-skills-audit/SKILL.md
Audit registry.yaml against disk, validate SKILL.md frontmatter, find duplicates and orphans. Load when user says 'audit skills registry', 'validate beam-next-skills', 'registry drift', 'skills catalog audit', 'check registry yaml'.
npx skillsauth add beam-ai-team/beam-next-skills beam-next-skills-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are auditing this beam-next-skills repository: the canonical index is registry.yaml at the repo root; each skill is a folder under skills/ containing at least SKILL.md with YAML frontmatter.
Goal: Find drift (registry vs filesystem), bad or missing metadata, duplicates, and content quality issues that hurt discovery in Beam Next / Prism.
beam-next-skills/
├── registry.yaml # Machine-readable index (skill_count, name, path, version, …)
├── README.md # Human overview (counts can drift from registry)
├── scripts/
│ └── validate_skill_frontmatter.py # Phase-1 frontmatter rules
└── skills/
├── {category}/
│ └── {skill-name}/
│ └── SKILL.md # Source of truth for description triggers; frontmatter required
Beam Next: A local workspace may mirror these under 00-system/skills/; this audit is for this Git repo unless another root is given.
registry.yaml and skills/).SKILLS_ROOT to that path for all commands below.Verify:
test -f "$SKILLS_ROOT/registry.yaml" && test -d "$SKILLS_ROOT/skills" && echo OK
| Scope | What you run | |-------|----------------| | Full | Everything below (default) | | Registry + disk | Steps 2–4 only (drift, orphans, phantoms) | | Frontmatter | Step 3 script + Step 5 | | Quality / consolidation | Steps 6–7 |
If unspecified, run full.
From $SKILLS_ROOT:
skill_count vs actual entries
grep -E "^skill_count:" registry.yaml
grep -c "^- name:" registry.yaml
The count of - name: lines under skills: must match skill_count. If not, registry is stale.
Duplicate skill names
grep "^- name:" registry.yaml | sed 's/.*name: //' | sort | uniq -d
Any output = duplicate names (must fix).
Duplicate paths
grep "path: skills/" registry.yaml | sort | uniq -d
Missing path or broken paths
For each path: in registry.yaml, verify the folder exists and contains SKILL.md:
while read -r p; do
test -f "$SKILLS_ROOT/$p/SKILL.md" || echo "MISSING: $p"
done < <(grep "path: skills/" registry.yaml | sed 's/.*path: //')
cd "$SKILLS_ROOT" && python3 scripts/validate_skill_frontmatter.py
CI-style failure:
python3 scripts/validate_skill_frontmatter.py --strict
Rules enforced (summary):
SKILL.md must start with --- frontmatter.type: skill (or agent per project conventions).tags: 2–5 items.category must be one of the allowed set in the script.Phantom registry entries — path in registry.yaml but no SKILL.md on disk (Step 2.4).
Orphan skills — folder with SKILL.md under skills/ but no matching path in registry.yaml.
find "$SKILLS_ROOT/skills" -name SKILL.md -print | sed "s|$SKILLS_ROOT/||; s|/SKILL.md||" | sort > /tmp/disk-skills.txt
# Diff against paths extracted from registry.yaml
Report: orphans (on disk only) and phantoms (registry only).
For a sample of skills (or all on a full audit), compare:
name in registry vs name in frontmatter — must match.version / updated — flag large drift.visibility — must be public or team in SKILL.md and should match registry.yaml (team = internal-only, e.g. ROI/costs; public = catalog-safe).Skills missing type: in frontmatter:
grep -L "^type:" $(find "$SKILLS_ROOT/skills" -name SKILL.md) 2>/dev/null | head
Align visibility from registry into SKILL.md (optional bulk fix):
python3 scripts/sync_visibility_from_registry.py --dry-run
python3 scripts/sync_visibility_from_registry.py
For each category or a random sample of 15–20 skills, open SKILL.md and check:
| Check | Pass |
|-------|------|
| Trigger clarity | description in frontmatter says when to load (phrases, user intent). |
| Not a stub | Body is not only a title; has workflow or clear instructions. |
| Connector skills | *-connect skills explain setup + link to *-master or product skills when relevant. |
| Consolidated skills | Large integrations describe CLI/resources instead of duplicating many endpoints. |
skills/ but no SKILL.md.skills/… layout.# Beam Next Skills Registry Audit — {date}
## Summary
- Registry path: `{SKILLS_ROOT}`
- `skill_count` in YAML: {n}
- `- name:` entries: {n} → MATCH / MISMATCH
- Duplicate names: {n}
- validate_skill_frontmatter.py issues: {n}
- Orphan skills (disk, not registry): {n}
- Phantom entries (registry, no SKILL.md): {n}
## Critical issues
{Duplicates, phantoms, skill_count mismatch}
## Warnings
{Frontmatter warnings, missing type, tag/category count}
## Description quality (sample)
| Skill | Trigger clarity | Notes |
|-------|-----------------|-------|
| ... | Good / Needs work / Bad | ... |
## Structural notes
{Script-only, outdated paths, consolidation candidates}
## Recommended actions
1. {Highest priority}
2. ...
grep "^- name:" registry.yaml | sed 's/.*name: //' | sort | uniq -d — must be empty.skill_count matches entry count.Optional:
cd "$SKILLS_ROOT" && python3 build_registry.py . # if build_registry.py exists
registry.yaml.skill_count mismatch.scripts/validate_skill_frontmatter.py — extend that script if you add new automated rules.skill_count is manual — easy to forget after adding a skill.path: strings, not only top-level names.description may be shorter than SKILL.md — OK unless triggers are wrong.validate_skill_frontmatter.py does not validate description length or trigger phrases — spot-audit only (Step 6).development
--- name: taste-skill type: skill version: '1.0' author: Leonxlnx (packaged by Zhichao Li) category: general tags: - frontend - design - anti-slop - landing-page updated: '2026-06-11' visibility: public description: Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check. license: MIT.
development
Use when communicating quantitative information in any form — Slack updates, emails, reports, decks, dashboards, landing pages, product UI, public talks. Covers two integrated layers: (1) making numbers semantically meaningful (translation, anchoring, simplification, story-pairing) and (2) showing numbers cleanly (chart vs table vs prose, chart-by-message, pre-attentive emphasis, color discipline, decluttering). Distilled and integrated from *Show Me the Numbers* (Stephen Few) and *Make Numbers Count* (Chip Heath & Karla Starr). Not for raw data analysis or statistics — this is about communication of numbers, not their derivation.
development
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
tools
Stateful multi-session tutor adapted for Beam — teach a stakeholder to understand, trust, and operate a specific agent, or teach a Solution Engineer a client's business process for delivery. Grounds every lesson in Knowledge Hub sources (real agent graphs, real tasks, transcripts, Linear) before any web resource. Also works for any general topic. Trigger on "teach me", "beam teach", "教我", "onboard <person> on <agent>", "help <stakeholder> understand the agent", "learn this client's process".