Auto generate readme tables#39
Conversation
mosheabr
left a comment
There was a problem hiding this comment.
Approve in principle — solves the human-vs-human conflict problem structurally by making components.yml the single source of truth for both README tables. Awk-spliced replacement between marker pairs is clean and uses standard tools.
Two items before merge:
-
Rebase from main — currently DIRTY/CONFLICTING because RAG Blueprint landed via #36 after this branch was cut. After rebase, the auto-gen will pick up the rag-blueprint components.yml entry and emit a row for it (with 0 skills count and
—version cell until the next bot sync populates skills/rag/). -
Follow-up (non-blocking): for components with multiple
skills:entries, the script links onlyskills[0].catalog_dir. In this PR's diff, NeMo Evaluator's catalog link flips fromskills/NeMo-Evaluator/toskills/NeMo-Evaluator-Launcher/because Launcher is index 0 in the yaml. Either reorder the yaml entries so the canonical dir is first, or extend the script to list multiple dirs when a component has more than one. Fine to land this PR as-is and address in a follow-up.
Side benefit worth noting: auto-gen surfaces stale skill counts in current README — Megatron-Bridge 9→25, Megatron-Core 6→7, Model-Optimizer 5→8, NeMo-Gym 1→2, TensorRT-LLM 20→24. These will now self-correct on each sync.
After rebase + push, this should sail through (DCO check is now live as of #38).
Adds a regeneration script (.github/scripts/regenerate-readme.sh) that builds both the "Available Skills" and "Getting Help & Contributing" tables from components.yml. The script wraps tables in marker pairs (<!-- skills-table-start --> / <!-- skills-table-end --> and the help equivalents) so subsequent runs replace just the table contents. Why: removes the per-row hand-maintenance step from onboarding. Teams edit components.yml; the workflow regenerates README on each sync. Also fixes drift — stale skill counts (Megatron-Bridge 9→25, Megatron-Core 6→7, Model-Optimizer 5→8, NeMo Gym 1→2, TensorRT-LLM 20→24) reflect actual SKILL.md file counts, and RAG Blueprint (in README but never registered in components.yml) is dropped. Also replaces per-row version markers (<!-- sync:slug:version -->...) with plain rendered cells. Since the workflow now regenerates the full row, version cells are part of the row template. Convention: when a component has multiple `skills:` entries (e.g. NeMo Evaluator with Launcher + Evaluator), the first entry is treated as the "primary" for the Catalog and Source links. Reorder the components.yml entries to change which skill displays. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Sayali Kandarkar <skandarkar@nvidia.com>
Replaces the per-row sed-based "Update README version markers" step with a single call to .github/scripts/regenerate-readme.sh. The script rebuilds both README tables from components.yml on every sync run, so adding/removing/reordering components no longer requires hand-editing README rows or marker blocks. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Sayali Kandarkar <skandarkar@nvidia.com>
The sync workflow now regenerates README tables from components.yml on every run (see auto-generate-readme-tables PR), so onboarding PRs no longer need to add README rows by hand. The reviewer checklist item becomes inapplicable. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Sayali Kandarkar <skandarkar@nvidia.com>
9b0e880 to
86460a7
Compare
|
Thank you for the feedback, @mosheabr Point 2 (NeMo Evaluator multi-skill linking) - I haven't touched it in this update, will be a separate follow-up PR (either a one-line components.yml reorder so NeMo-Evaluator is skills[0], or extending the script to render multiple catalog dirs per row). |
Onboarding type
components.ymlentry)For new product onboarding — author affirmations
By submitting this PR, I confirm on behalf of my team:
.agents/skills/orskills/path used for new entries (or existing path retained for legacy entries percomponents.yml)Reviewer checklist (OSS Skills PIC)
components.ymlentry valid (required fields, uniquecatalog_dir, path exists in source repo)SKILL.mdfrontmatter spec-compliant (at least one sampled)All PRs
git commit -s).If you forgot, run
git rebase --signoff origin/main && git push --force-with-leaseto retroactively sign all commits in your branch.Other context (for non-onboarding PRs)