Context / Problem Statement
validate.yml checks structure, frontmatter, name=dir, py_compile, and README aggregate counts, but nothing detects a snippet/skill/template/example that ships without being referenced by README.md, ROADMAP.md, or the manifest, nor does anything catch broken markdown links. New content can land orphaned (discoverable only by directory listing), and doc links can rot.
Proposed Solution / Implementation Steps
- Add an
orphan-check job to validate.yml: enumerate files under snippets/, skills/, templates/, examples/; for each, grep README.md + ROADMAP.md for its name; fail listing any unreferenced item.
- Add a lightweight link check: collect markdown links from
*.md, validate that relative targets exist on disk; optionally check external https:// links with a soft-fail mode to avoid flakiness (or gate external checks behind the weekly schedule, not PRs).
- Keep it stdlib-only (consistent with
build_gallery.py) so no new CI deps are needed.
Definition of Done
Filed from the repository technical audit — see docs/technical-audit.md.
Context / Problem Statement
validate.ymlchecks structure, frontmatter, name=dir,py_compile, and README aggregate counts, but nothing detects a snippet/skill/template/example that ships without being referenced byREADME.md,ROADMAP.md, or the manifest, nor does anything catch broken markdown links. New content can land orphaned (discoverable only by directory listing), and doc links can rot.Proposed Solution / Implementation Steps
orphan-checkjob tovalidate.yml: enumerate files undersnippets/,skills/,templates/,examples/; for each, grepREADME.md+ROADMAP.mdfor its name; fail listing any unreferenced item.*.md, validate that relative targets exist on disk; optionally check externalhttps://links with a soft-fail mode to avoid flakiness (or gate external checks behind the weeklyschedule, not PRs).build_gallery.py) so no new CI deps are needed.Definition of Done
Filed from the repository technical audit — see
docs/technical-audit.md.