nvidia/skill-card-generator
Use only to generate or update a governance skill card for a specified existing agent skill directory. Do not use for explaining, listing, comparing, or discussing skill capabilities.
npx skills add https://github.com/NVIDIA/skills --skill skill-card-generator
Skill directory to analyze: $ARGUMENTS
Create a draft NVIDIA governance skill card for an existing agent skill. The skill gathers source signals, guides the agent to build a grounded JSON context, renders a deterministic markdown card, and checks that human-review markers were removed before submission.
Use this when:
Do NOT use for:
jinja2 is installed before running render_card.py.SKILL.md or skill.md.target_skill_directory plus this skill's references/ and scripts/, writes only to the target skill directory or /tmp/, and shell execution only for the three scripts listed below.SKILL.md completely before running any script.$ARGUMENTS; if omitted, use the current working directory..env, credential files, hidden auth folders, or unrelated repo files; do not write outside the target skill directory or /tmp/.scripts/discover_assets.py against the target. Use the structured signal summary first; if output is truncated, read only targeted files or small excerpts.credential_requirements with only two fields: requires_api_key_or_credential and credential_types. Ground the classification in SKILL.md prose documentation — not script inspection alone. For credential_types, use the controlled vocabulary in references/style-guide.md. Never include credential values, assignments, or raw environment variable names.references/style-guide.md for every context field. Use HUMAN-REQUIRED only when no source supports a truthful value.scripts/render_card.py and fix any schema errors before proceeding.scripts/validate_submission.py.10. Before finishing, confirm the rendered card has no unrendered {{ ... }} or {% ... %} template fragments.
| Script | Purpose | Arguments |
| --- | --- | --- |
| scripts/discover_assets.py | Extracts skill files, repo signals, style guide, and template into one discovery report. | <skill_directory> |
| scripts/render_card.py | Validates context JSON and renders the skill card from the Jinja template. | --context <context.json> --template <skill-card.md.j2> --out <output.md> |
| scripts/validate_submission.py | Fails if the rendered card still contains VERIFY or SELECT review markers. | <rendered-card.md> |
Discover signals for a target skill:
run_script("scripts/discover_assets.py", args=["/path/to/target-skill"])
Render a card from the completed context:
run_script(
"scripts/render_card.py",
args=[
"--context", "/tmp/target-skill-context.json",
"--template", "references/skill-card.md.j2",
"--out", "/path/to/target-skill/target-skill-card.md"
]
)
Validate the reviewed card before submission:
run_script("scripts/validate_submission.py", args=["/path/to/target-skill/target-skill-card.md"])
| Error | Cause | Solution |
| --- | --- | --- |
| directory not found | The target path is wrong or not mounted in the workspace. | Re-run discovery with the absolute path to the skill directory. |
| jinja2 not installed | The renderer dependency is missing. | Install jinja2, then re-run render_card.py. |
| Context validation failed | Required fields are missing or typed incorrectly. | Fix the context JSON using references/style-guide.md. |
| Unresolved marker failure | VERIFY or SELECT markers remain after review. | Confirm each marked field, prune catalog entries, then re-run validate_submission.py. |
SKILL.md - this file (orchestration)references/style-guide.md - per-context-field guidancereferences/skill-card.md.j2 - exact card layoutreferences/Skill Card Generator License.txt - license text for this skill packagereferences/catalog/limitations.json - canned technical-limitations catalogreferences/catalog/risks.json - canned risk-management catalogscripts/discover_assets.py - discovery and signal extractionscripts/render_card.py - Jinja renderer with context validationscripts/validate_submission.py - pre-submission marker validatorTake nvidia/skill-card-generator from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.