Skip to content

chore(readme): replace Source + Version columns with per-skill links - #215

Merged
mosheabr merged 1 commit into
mainfrom
chore/skills-table-list-links
Jun 1, 2026
Merged

chore(readme): replace Source + Version columns with per-skill links#215
mosheabr merged 1 commit into
mainfrom
chore/skills-table-list-links

Conversation

@mosheabr

@mosheabr mosheabr commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator

Onboarding type

  • New product onboarding (new `components.d/.yml` file)
  • Other (catalog change, README fix, infrastructure, etc.)

Other context

The Skills Available table had two columns that weren't carrying their weight:

  • Source: linked to only the primary skill in each component — misleading for multi-skill products (cuOpt 12 skills, NeMo MBridge 20, VSS 15 — the cell pointed at one arbitrary catalog_dir).
  • Version: rendered as em dash whenever `VERSIONS_FILE` wasn't populated from the sync workflow, and wasn't load-bearing for catalog browsing even when set.

Replacement

Drop both. Add a single `Skills` column listing every skill in the component as a backtick-quoted markdown link to its catalog directory:

Before After
`Product | Description | Skills(#) | Source | Version` `Product | Description | Skills`

Example rendering:

```markdown
| AIQ | NVIDIA AI-Q Blueprint — ... | `aiq-research`, `aiq-deploy` |
| cuOpt | GPU-accelerated optimization — ... | `cuopt-developer`, `cuopt-install`, ... (12 skills listed) |
| Physical AI | Generate labeled synthetic training data ... | `physical-ai-defect-image-generation`, ... (7 skills aggregated across synced + manual) |
```

Multi-skill products expose every skill directly in the README — users no longer need to click through to a source repo just to find skill names for `npx skills add`.

Aggregation for Physical AI (synced + manual entries sharing the display name) merges skill lists across both entries, so the consolidated row lists all 7.

No change to the Getting Help & Contributing table or to sync/manual logic — purely a column rework of the Available Skills table.

All PRs

  • All commits signed off with DCO (`git commit -s`).

The Skills Available table had two columns that didn't carry their
weight:

- Source: linked to ONLY the primary skill in each component, which
  is misleading for multi-skill products (cuOpt has 12 skills,
  NeMo MBridge has 20, Video Search and Summarization has 15 —
  the Source cell pointed at one arbitrary primary catalog_dir).
- Version: rendered as em dash whenever VERSIONS_FILE was missing
  from the sync workflow context, and even when populated wasn't
  load-bearing for catalog browsing.

Replaces both with a single Skills column that lists every skill in
the component as a backtick-quoted markdown link to its catalog
directory:

  Product | Description | Skills
  ---     | ---         | ---
  AIQ     | NVIDIA AI-Q Blueprint - ... | [aiq-research], [aiq-deploy]
  cuOpt   | GPU-accelerated optimization - ... | [cuopt-developer], [cuopt-install], ...

Multi-skill products now expose every skill directly in the README
without users having to click through to a source repo. Single-skill
products land at exactly one link, same as before.

Aggregation for Physical AI (synced + manual sources sharing the
same display name) merges skill lists across both entries, so the
consolidated row lists all 7 skills.

No change to the Getting Help & Contributing table or to manual /
sync logic — purely a column rework of the Available Skills table.

Signed-off-by: Moshe Abramovitch <moshea@nvidia.com>
@mosheabr
mosheabr requested a review from sayalinvidia as a code owner June 1, 2026 19:15
@mosheabr
mosheabr merged commit 1104de0 into main Jun 1, 2026
3 checks passed
@mosheabr
mosheabr deleted the chore/skills-table-list-links branch June 1, 2026 19:26
mosheabr added a commit that referenced this pull request Jun 4, 2026
#2 (MED) — gh issue create can skip tracker on bad assignee:
  The "Track dropped skills" step has continue-on-error: true, so a
  bad assignee wouldn't kill the whole sync — but it would skip
  tracker creation entirely, defeating the feature. Both branches
  (edit existing / create new) now follow the same tolerant pattern:
  create-without-assignees first, then loop --add-assignee in a
  trim + per-handle warning. A typo in CATALOG_TRACKER_ASSIGNEES no
  longer blocks the tracker from existing.

#3 (LOW) — Hardcoded personal fallback:
  Reworked per Codex's catch that GitHub issue assignees are users,
  not teams — so the earlier "use a team handle" comment was wrong.
  If CATALOG_TRACKER_ASSIGNEES is unset we now skip assignment
  entirely and emit a ::warning title=Drift notifications inactive::.
  No personal fallback; a deactivated handle would silently mute
  notifications. The warning surfaces in the workflow log every run
  until the secret is set.

#4 (LOW / clarification) — Deleted-sig case:
  Added an inline comment in the drift loop noting that an rsync
  that deletes skill.oms.sig alongside content edits registers the
  deletion in `git diff` (sig_changed matches → drift NOT flagged
  here), and the now-sigless skill falls through to the compliance
  step under "missing artifacts: skill.oms.sig". Defense in depth.

#1 (HIGH per Sayali) — README version inconsistency on revert:
  NOT addressed in this commit — verified against
  .github/scripts/regenerate-readme.sh on main: the README table
  is now "Product | Description | Skills" (PR #215, commit 1104de0
  on 2026-06-01 dropped the Source + Version columns). VERSIONS_FILE
  is declared but never consumed, and /tmp/sync-versions.txt is
  vestigial. So the exact "README will lie" risk Sayali raised is
  stale. Plan to send her the context separately and open a small
  follow-up PR to drop the dead sync-versions write + VERSIONS_FILE
  declaration so this trap doesn't catch a future reader.

Signed-off-by: Moshe Abramovitch <moshea@nvidia.com>
mosheabr added a commit that referenced this pull request Jun 8, 2026
#2 (MED) — gh issue create can skip tracker on bad assignee:
  The "Track dropped skills" step has continue-on-error: true, so a
  bad assignee wouldn't kill the whole sync — but it would skip
  tracker creation entirely, defeating the feature. Both branches
  (edit existing / create new) now follow the same tolerant pattern:
  create-without-assignees first, then loop --add-assignee in a
  trim + per-handle warning. A typo in CATALOG_TRACKER_ASSIGNEES no
  longer blocks the tracker from existing.

#3 (LOW) — Hardcoded personal fallback:
  Reworked per Codex's catch that GitHub issue assignees are users,
  not teams — so the earlier "use a team handle" comment was wrong.
  If CATALOG_TRACKER_ASSIGNEES is unset we now skip assignment
  entirely and emit a ::warning title=Drift notifications inactive::.
  No personal fallback; a deactivated handle would silently mute
  notifications. The warning surfaces in the workflow log every run
  until the secret is set.

#4 (LOW / clarification) — Deleted-sig case:
  Added an inline comment in the drift loop noting that an rsync
  that deletes skill.oms.sig alongside content edits registers the
  deletion in `git diff` (sig_changed matches → drift NOT flagged
  here), and the now-sigless skill falls through to the compliance
  step under "missing artifacts: skill.oms.sig". Defense in depth.

#1 (HIGH per Sayali) — README version inconsistency on revert:
  NOT addressed in this commit — verified against
  .github/scripts/regenerate-readme.sh on main: the README table
  is now "Product | Description | Skills" (PR #215, commit 1104de0
  on 2026-06-01 dropped the Source + Version columns). VERSIONS_FILE
  is declared but never consumed, and /tmp/sync-versions.txt is
  vestigial. So the exact "README will lie" risk Sayali raised is
  stale. Plan to send her the context separately and open a small
  follow-up PR to drop the dead sync-versions write + VERSIONS_FILE
  declaration so this trap doesn't catch a future reader.

Signed-off-by: Moshe Abramovitch <moshea@nvidia.com>
mosheabr added a commit that referenced this pull request Jun 8, 2026
#2 (MED) — gh issue create can skip tracker on bad assignee:
  The "Track dropped skills" step has continue-on-error: true, so a
  bad assignee wouldn't kill the whole sync — but it would skip
  tracker creation entirely, defeating the feature. Both branches
  (edit existing / create new) now follow the same tolerant pattern:
  create-without-assignees first, then loop --add-assignee in a
  trim + per-handle warning. A typo in CATALOG_TRACKER_ASSIGNEES no
  longer blocks the tracker from existing.

#3 (LOW) — Hardcoded personal fallback:
  Reworked per Codex's catch that GitHub issue assignees are users,
  not teams — so the earlier "use a team handle" comment was wrong.
  If CATALOG_TRACKER_ASSIGNEES is unset we now skip assignment
  entirely and emit a ::warning title=Drift notifications inactive::.
  No personal fallback; a deactivated handle would silently mute
  notifications. The warning surfaces in the workflow log every run
  until the secret is set.

#4 (LOW / clarification) — Deleted-sig case:
  Added an inline comment in the drift loop noting that an rsync
  that deletes skill.oms.sig alongside content edits registers the
  deletion in `git diff` (sig_changed matches → drift NOT flagged
  here), and the now-sigless skill falls through to the compliance
  step under "missing artifacts: skill.oms.sig". Defense in depth.

#1 (HIGH per Sayali) — README version inconsistency on revert:
  NOT addressed in this commit — verified against
  .github/scripts/regenerate-readme.sh on main: the README table
  is now "Product | Description | Skills" (PR #215, commit 1104de0
  on 2026-06-01 dropped the Source + Version columns). VERSIONS_FILE
  is declared but never consumed, and /tmp/sync-versions.txt is
  vestigial. So the exact "README will lie" risk Sayali raised is
  stale. Plan to send her the context separately and open a small
  follow-up PR to drop the dead sync-versions write + VERSIONS_FILE
  declaration so this trap doesn't catch a future reader.

Signed-off-by: Moshe Abramovitch <moshea@nvidia.com>
melo-gonzo pushed a commit to melo-gonzo/NVIDIAskills that referenced this pull request Aug 5, 2026
NVIDIA#2 (MED) — gh issue create can skip tracker on bad assignee:
  The "Track dropped skills" step has continue-on-error: true, so a
  bad assignee wouldn't kill the whole sync — but it would skip
  tracker creation entirely, defeating the feature. Both branches
  (edit existing / create new) now follow the same tolerant pattern:
  create-without-assignees first, then loop --add-assignee in a
  trim + per-handle warning. A typo in CATALOG_TRACKER_ASSIGNEES no
  longer blocks the tracker from existing.

NVIDIA#3 (LOW) — Hardcoded personal fallback:
  Reworked per Codex's catch that GitHub issue assignees are users,
  not teams — so the earlier "use a team handle" comment was wrong.
  If CATALOG_TRACKER_ASSIGNEES is unset we now skip assignment
  entirely and emit a ::warning title=Drift notifications inactive::.
  No personal fallback; a deactivated handle would silently mute
  notifications. The warning surfaces in the workflow log every run
  until the secret is set.

NVIDIA#4 (LOW / clarification) — Deleted-sig case:
  Added an inline comment in the drift loop noting that an rsync
  that deletes skill.oms.sig alongside content edits registers the
  deletion in `git diff` (sig_changed matches → drift NOT flagged
  here), and the now-sigless skill falls through to the compliance
  step under "missing artifacts: skill.oms.sig". Defense in depth.

NVIDIA#1 (HIGH per Sayali) — README version inconsistency on revert:
  NOT addressed in this commit — verified against
  .github/scripts/regenerate-readme.sh on main: the README table
  is now "Product | Description | Skills" (PR NVIDIA#215, commit 1104de0
  on 2026-06-01 dropped the Source + Version columns). VERSIONS_FILE
  is declared but never consumed, and /tmp/sync-versions.txt is
  vestigial. So the exact "README will lie" risk Sayali raised is
  stale. Plan to send her the context separately and open a small
  follow-up PR to drop the dead sync-versions write + VERSIONS_FILE
  declaration so this trap doesn't catch a future reader.

Signed-off-by: Moshe Abramovitch <moshea@nvidia.com>
Signed-off-by: Carmelo Gonzales <43048528+melo-gonzo@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant