NVIDIA/NeMo-Relay is a runtime and library that gives coding agents and applications shared control over agent execution scopes, policies, plugins, lifecycle events, and observability data. It is for developers who need to inspect or instrument runs from agents such as Codex or Claude Code, or integrate frameworks and export traces and trajectories. The catalogue entries provide Relay plugins, hooks, instructions, skills, and an MCP server for those workflows.
Borrowing it
Nothing to install: this file belongs to NVIDIA/NeMo-Relay. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/NVIDIA/NeMo-Relay/main/.agents/skills/create-beta-tag/SKILL.mdgit clone --depth 1 https://github.com/NVIDIA/NeMo-RelayWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nvidia/nemo-relay/create-beta-tag)<a href="https://agentmods.dev/skills/nvidia/nemo-relay/create-beta-tag"><img src="https://agentmods.dev/badge/skills/nvidia/nemo-relay/create-beta-tag/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/nvidia/nemo-relay/create-beta-tag"><img src="https://agentmods.dev/badge/skills/nvidia/nemo-relay/create-beta-tag.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00038 | $0.00799 |
| Opus 5.5 | $0.00015 | $0.00320 |
| Sonnet 5.5 | $0.00008 | $0.00160 |
| Haiku 4.5 | $0.00004 | $0.00080 |
Grade A, and why
create-beta-tag scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 21d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Create a Beta Tag
Require an explicit stable base version in <major>.<minor>[.<patch>] form;
treat two components as patch 0. Do not infer it from the branch or package
metadata, and do not edit version files while creating the tag.
Prefer release/<major>.<minor>. If that remote branch does not exist, use
main only when its workspace version equals the requested base version. Select
the next unused positive beta number for that exact base version unless the user
provides one. Relay tags are raw SemVer: 0.9.0-beta.1, never v0.9.0-beta.1.
Before the destructive tag push, require explicit approval. Preserve user
changes: do not stash, discard, or switch away from a dirty checkout. Fetch the
source branch and tags, require HEAD to equal upstream/<source-branch>, and
require the workspace version to equal the stable base version. Verify both
local and remote tags are absent, create a signed annotated tag, verify it with
git tag -v, and push only refs/tags/<tag>. Stop on any failed check; never
force-update, replace, or delete tags.
Select and Verify the Source
Use upstream for NVIDIA/NeMo-Relay. The version and optional beta number
are user inputs. Validate a supplied number as a positive integer; otherwise
derive the next number after fetching tags for the selected source branch.
BASE_VERSION=<major.minor[.patch]>
[[ "$BASE_VERSION" =~ ^[0-9]+\.[0-9]+(\.[0-9]+)?$ ]] || { echo "Error: invalid base version" >&2; exit 1; }
if [[ "$BASE_VERSION" =~ ^[0-9]+\.[0-9]+$ ]]; then BASE_VERSION="$BASE_VERSION.0"; fi
RELEASE_BRANCH="release/$(printf '%s' "$BASE_VERSION" | cut -d. -f1,2)"
SOURCE_BRANCH="$RELEASE_BRANCH"
if git ls-remote --exit-code --heads upstream "refs/heads/$SOURCE_BRANCH" >/dev/null; then
:
else
lookup_status=$?
case "$lookup_status" in
2) SOURCE_BRANCH=main ;;
*) echo "Error: release branch lookup failed" >&2; exit "$lookup_status" ;;
esac
fi
git fetch upstream "$SOURCE_BRANCH" --tags
LAST_BETA="$(git tag --list "${BASE_VERSION}-beta.*" | sed -nE "s/^${BASE_VERSION//./\\.}-beta\.([1-9][0-9]*)$/\\1/p" | sort -n | tail -1)"
BETA_NUMBER="${BETA_NUMBER:-$(( ${LAST_BETA:-0} + 1 ))}"
[[ "$BETA_NUMBER" =~ ^[1-9][0-9]*$ ]]
TAG="${BASE_VERSION}-beta.${BETA_NUMBER}"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 21d ago First seen · 65 lines · 38 tokens per session scan A 17cad01c835a
create-beta-tag is a skill published in the GitHub repository NVIDIA/NeMo-Relay (196 stars, last pushed today), licensed Apache-2.0. It adds 38 tokens to every session and 799 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-26.
Other skills, from other repositories
agent-framework-py-release
Use when cutting a Python release for the microsoft/agent-framework monorepo. Triggers on "bump py versions", "cut a python release", "prepare release PR for python", "release py packages", "bump python to X.Y.Z", or similar requests to bump Python package versions and prepare a release PR. Handles all four lifecycle…
release-publish
Publish an approved Orchard release.
release-review
Review Orchard deployment manifests.
orchard-release
Check deployment evidence and recovery conditions.
release-notes
Draft short release notes from a list of changes. Use when the user asks for changelogs, release notes, or a concise product update.
orchard-review
Review a release proposal.