claude-skills/scripts
Ben Fairless 5b85956d63
feat(ci): add frontmatter YAML validator as gate G10
Every existing gate reads frontmatter with a regex or a line scan
(generate-docs.py, sync-codex-skills.py, check_paths.py), so a block that is
not valid YAML passed CI while Claude Code loaded the skill with no metadata.
The 14 files fixed in the previous commit had drifted that way unnoticed.

check_frontmatter.py parses each block with yaml.safe_load and enforces what
Claude Code actually reads:

  errors   - unparseable YAML, non-mapping frontmatter, missing description,
             missing agent name, an agent name containing ':' (refused since
             CC 2.1.218), or a missing frontmatter block
  warnings - keys outside the current skill/agent frontmatter spec, and a
             combined description + when_to_use over the 1536-char cap that
             the skill listing truncates at

Warnings are non-blocking so this lands without requiring the wider metadata
cleanup; --strict flips them fatal. The run also tallies the off-spec keys no
runtime reads (license 172, metadata 125, domain 76, compatible_tools 37,
triggers 14), which gives that cleanup a worklist regenerated on every run.

Clean on the current tree: 593 files, 0 errors, 17 warnings.

Assisted-by: Claude Code:claude-opus-5
2026-08-03 08:55:36 +08:00
..
audit_skills.py chore(registry,ci): derive counters, register 11 plugins, add CI guards 2026-06-10 14:33:19 +00:00
check_dual_publish.py chore(registry,ci): derive counters, register 11 plugins, add CI guards 2026-06-10 14:33:19 +00:00
check_frontmatter.py feat(ci): add frontmatter YAML validator as gate G10 2026-08-03 08:55:36 +08:00
check_paths.py fix(ci,scripts): post-merge review items M1/M2/A3/A4 2026-06-11 15:23:27 +00:00
check_paths_allowlist.txt fix(ci): allowlist 3 arquiteto-de-empresa teaching-example path refs 2026-06-24 12:48:43 +00:00
check_plugin_json.py fix(plugin-schema): align with live Claude Code spec — migrate to "./"-prefixed skills field 2026-05-21 07:03:11 +00:00
codex-install.bat Dev (#44) 2026-01-23 09:09:42 +01:00
codex-install.sh Fix bugs and improve inline Python script functionality (#857) 2026-07-01 04:32:28 +02:00
convert.sh fix(scripts,plugins): exclude tool-sync dirs from convert.sh; rename si plugin's status/review skills 2026-07-08 05:37:03 +00:00
derive_counters.py fix(scripts): fail loudly when a README badge is missing/renamed 2026-07-03 06:46:37 +00:00
extract_release_notes.py feat(release): auto-tag + GitHub Release from CHANGELOG on push to main 2026-05-19 04:00:06 +00:00
gemini-install.sh feat: add Gemini CLI + OpenClaw support, fix Codex missing 25 skills 2026-03-09 14:58:41 +01:00
generate-docs.py Merge origin/dev: reconcile docs redesign with upstream skill changes 2026-06-11 15:52:42 +00:00
install.sh feat(integrations): change Augment from flat rules to skill bundles 2026-04-25 04:48:41 +05:30
openclaw-install.sh fix(ci): fix workflow errors + add OpenClaw support (#222) 2026-02-24 17:33:21 +01:00
review-new-skills.sh feat(ci): add automated Tessl skill quality review on PRs 2026-04-07 12:21:30 +02:00
smoke_exceptions.txt fix(ci): add skillopt_sleep internal modules to smoke_exceptions.txt 2026-07-08 05:53:25 +00:00
smoke_json_output.py feat(tooling): JSON-output sample gate (G9) + --sample fixtures (#654) 2026-06-11 15:29:39 +00:00
smoke_scripts.py polish: PR #838 second-pass nits (non-blocking) 2026-06-11 15:40:45 +00:00
sync-codebuff-skills.py fix: resolve open GitHub issues #805 #806 #807 #748 #785 2026-06-11 03:34:13 +00:00
sync-codex-skills.py docs(audit): add productivity domain audit record + update codex sync domain description 2026-07-17 06:03:12 +00:00
sync-gemini-skills.py chore(registry,ci): derive counters, register 11 plugins, add CI guards 2026-06-10 14:33:19 +00:00
sync-hermes-skills.py chore(registry,ci): derive counters, register 11 plugins, add CI guards 2026-06-10 14:33:19 +00:00
sync-vibe-skills.py Merge remote-tracking branch 'origin/dev' into claude/skills-plugins-audit-vrttx1 2026-06-11 03:59:40 +00:00
sync_skill_bundles.py chore(phase-0): add dual-publish + plugin.json validation tools 2026-05-09 05:54:15 +00:00
vibe-install.sh feat(install): add Mistral Vibe cross-platform sync (closes #705) 2026-05-23 02:04:17 +00:00