·
Last changedVersion:
This version passed the hardening gate. Hardening applied 4 targeted changes and preserved all other text. Classified findings before hardening: 5. Classified findings closed: 1. Classified findings remaining: 4. Unclassified scanner findings remaining: 0. Review findings closed: 6. Review findings remaining: 17.
3
2
2
2
Expand | File | Group | Subtype | Severity | Status |
|---|---|---|---|---|---|
SKILL.md | Tool & MCP Manipulation | MCP over-permissioning | Medium | Open | |
BENCHMARK.md | Sensitive Data & Secret Exposure | Agent snooping | Medium | Closed | |
SKILL.md | Prompt Injection | Indirect prompt injection | Medium | Open | |
SKILL.md | Privilege Escalation & Host / Cloud Compromise | SSRF and cloud metadata access | Low | Open | |
references/k8s-recipe-workflow.md | Privilege Escalation & Host / Cloud Compromise | SSRF and cloud metadata access | Low | Open |
5 findings
Get from user intent to a working Dynamo recipe endpoint with minimal back and
forth. Do not create new guide content. Operate on the existing recipes/
tree, patch the smallest necessary set of manifests, deploy when the user has
cluster access, and prove success with an OpenAI-compatible smoke request.
kubectl configured with a working cluster context.hf-token-secret
(or equivalent) in the target namespace.recipes/ tree in the ai-dynamo/dynamo repository.Collect or infer these before changing manifests:
vllm, sglang, trtllm, tokenspeed), deployment mode, and GPU type/counthf-token-secretIf a required value is missing and cannot be inferred from the selected recipe, ask for only that value.
Run read-only checks first:
If kubectl is unavailable or the cluster is unreachable, continue by
selecting and validating the recipe, then return exact commands instead of
pretending the deployment ran.
Use the recipe matrix from recipes/README.md and the scanner:
Prefer an exact existing recipe. Do not invent new manifests unless the user explicitly asks to author a new recipe.
Read the selected recipe README, model-cache manifests, deploy.yaml, and
perf.yaml if present. Then run:
Resolve reported blockers before applying manifests: storage class, model cache PVC, image tag, HF token secret, GPU count, frontend service name, and router mode.
Patch only recipe-specific values needed for this run. Do not reformat whole YAML files. Common patches:
storageClassNameDYN_ROUTER_MODENever write Hugging Face tokens into files or logs. Use Kubernetes secrets.
The default sequence is:
Wait for the frontend and workers to be ready before testing.
Port-forward the frontend service, then verify /v1/models and one chat
completion:
If this fails, switch to
dynamo-troubleshoot.
| Script | Purpose | Arguments |
|---|---|---|
| Enumerate available recipes, optionally filtered |
|
| Validate a recipe directory before apply | positional recipe path |
Invoke via the agentskills.io run_script() protocol:
List sglang recipes that fit a single 8xB200 node:
Validate a specific recipe and resolve blockers before applying:
Equivalent through the agent protocol:
Return:
recipes/ tree only. Does not author new manifests.kubectl permission to the target namespace.dynamo-router-starter.dynamo-interconnect-check after deploy.| Symptom | Likely cause | Next step |
|---|---|---|
| Context not set or VPN down | Return exact commands instead of running them; resume when cluster is reachable |
| Cluster has no default | Patch |
Model-cache job stuck | PVC unbound or HF secret missing | Inspect PVC events; create or rename the HF secret to match the recipe |
Worker pods | Stale image tag or missing pull secret | Patch the image tag; verify image pull secret in the namespace |
| Frontend not ready or wrong service port | Wait for pods Ready; re-run port-forward; switch to |
See BENCHMARK.md for the NVCARPS-EVAL performance report (auto-generated by the NVSkills CI pipeline). To refresh, re-run /nvskills-ci on an upstream PR touching this skill.
references/k8s-recipe-workflow.md for command templates and readiness checks.scripts/recipe_tool.py for recipe discovery and lightweight validation.Get started with chainctlchainctl skill install public/nvidia/dynamo-recipe-runner:latest
Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.
skills.cgr.dev/public/github.com/nvidia/skills/dynamo-recipe-runner:latest
Apache-2.0
BENCHMARK.md
HARDENING.md
LICENSE
SKILL.md
evals/evals.json
references/k8s-recipe-workflow.md
scripts/recipe_tool.py
skill-card.md
skill.oms.sig