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 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).tools
Build a Palantir-shape, PDF-native use-case proposal document for a sophisticated enterprise account: research-grounded use cases (each with description, challenge, impact, value), an operating-graph ontology page, a recommended PoC with a week-by-week plan, and a closing page that asks for one decision. Load when a client asks us to 'propose high-impact use cases', requests a use-case presentation/catalog for a function (finance, HR, ops), or when a technical evaluation team will review candidates to pick a PoC. NOT for single-account cold outreach (use prospect-brief), full process diagnostics (use operating-diagnostic), or priced proposals (use proposal-creation).
development
Convert Beam Figma slide designs into high-fidelity, editable HTML presentation decks. Use when Codex is asked to audit Figma slides, extract slide templates, rebuild Beam slides as HTML decks, decide whether Figma imagery should be exported or rebuilt in HTML/CSS, create Beam/Prism-compatible deck templates, or improve fidelity of existing Beam HTML slide rebuilds.
development
Use the Beam AI reusable slide library: individual HTML slide templates extracted from Beam Figma rebuilds, kept separate from deck themes and full deck templates. Load when the user asks for a slide library, specific Beam slide patterns, reusable Figma-inspired slides, Prism slide-library items, or slide-level HTML templates.
development
Use Beam AI deck and report design packs, HTML templates, and curated examples to create sales decks, customer intro decks, RPO decks, and DIN A4 use-case proposal reports. Load when the user asks for Beam-branded presentation templates, Prism-compatible deck templates, Beam report templates, customer intro decks, commercial proposals, or reusable HTML deck/report examples.