GitVersion .NET Development
GitTools/GitVersion
Gives repository-specific .NET guidance for GitVersion: build and test commands, central package management, project layout and coding conventions.
A skill your agent uses when the user mentions a Dotty PR, dotty (package/dependency) updates, or asks to update the .NET agent compatibility docs / net-agent-compatibility-requirements after tested…
$ npx skills add newrelic/newrelic-dotnet-agent --skill update-dotty-docs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent update-dotty-docs --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/update-dotty-docs .claude/skills/update-dotty-docs && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "update-dotty-docs" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/update-dotty-docs into .claude/skills/update-dotty-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-dotty-docs", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/update-dotty-docsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add newrelic/newrelic-dotnet-agent --skill update-dotty-docs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent update-dotty-docs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/update-dotty-docs .agents/skills/update-dotty-docs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "update-dotty-docs" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/update-dotty-docs into .agents/skills/update-dotty-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-dotty-docs", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add newrelic/newrelic-dotnet-agent --skill update-dotty-docs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent update-dotty-docs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/update-dotty-docs .cursor/skills/update-dotty-docs && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "update-dotty-docs" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/update-dotty-docs into .cursor/skills/update-dotty-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-dotty-docs", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/newrelic/newrelic-dotnet-agent.git --path .claude/skills/update-dotty-docs--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add newrelic/newrelic-dotnet-agent --skill update-dotty-docs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent update-dotty-docs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/update-dotty-docs .gemini/skills/update-dotty-docs && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "update-dotty-docs" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/update-dotty-docs into .gemini/skills/update-dotty-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-dotty-docs", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install newrelic/newrelic-dotnet-agent update-dotty-docsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add newrelic/newrelic-dotnet-agent --skill update-dotty-docs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/update-dotty-docs .github/skills/update-dotty-docs && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "update-dotty-docs" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/update-dotty-docs into .github/skills/update-dotty-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-dotty-docs", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add newrelic/newrelic-dotnet-agent --skill update-dotty-docs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent update-dotty-docs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/newrelic/newrelic-dotnet-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/update-dotty-docs .opencode/skills/update-dotty-docs && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "update-dotty-docs" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/update-dotty-docs into .opencode/skills/update-dotty-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-dotty-docs", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
update-dotty-docsA skill your agent uses when the user mentions a Dotty PR, dotty (package/dependency) updates, or asks to update the .NET agent compatibility docs / net-agent-compatibility-requirements after tested…
Update Dotty Docs is an agent skill from newrelic/newrelic-dotnet-agent. Use when the user mentions a Dotty PR, dotty (package/dependency) updates, or asks to update the .NET agent compatibility docs / net-agent-compatibility-requirements after tested library version bumps.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Dependency management and Subagents. It works with New Relic, .NET and Git. The repository describes itself as: The New Relic .NET language agent. The licence is Apache-2.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit aca7658. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Update Dotty Docs loads about 2.1k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 1,019 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from newrelic/newrelic-dotnet-agent at commit aca7658, republished under its Apache-2.0 licence (© newrelic). 1,019 words, ~2,082 tokens.
.claude/skills/update-dotty-docs/SKILL.md (or your agent's skills folder).You orchestrate: find the PR, drive CI-failure decisions, review, create the
docs PR. Delegate context-heavy work to subagents so bulk output (diffs, ~90
CI-check lines, huge job logs, the docs .mdx search) stays out of your
context - you get only the slim result. Never run gh pr diff, gh pr checks,
gh api .../jobs/<id>/logs, or the docs .mdx search in the main thread.
Every subagent prompt MUST tell the subagent to:
gh/git/file commands directly.gh auth status; if it fails, report the error and stop (covers
gh-missing and not-authenticated). Git is assumed.gh api user --jq '.login' -> $GH_USER.
Verify the fork exists: gh api repos/$GH_USER/docs-website --jq '.full_name'.
If no fork, stop (do not create one).develop to newrelic/docs-website:develop before anything
else. The fork is often hundreds of commits behind, and a stale base makes
the later PR diff misleading:gh api --method POST repos/$GH_USER/docs-website/merge-upstream -f branch=developmerge_type in the response: fast-forward means it synced, none
with "not behind the upstream" means it was already current. Both are
success. Report which one to the user. Any other result - stop and report.This API call needs no clone, so it runs before Step 5 clones the fork. Do not
sync with git reset --hard: settings deny it, and it needs a clone anyway.
Run yourself (you need the PR number in Step 8):
gh pr list --repo newrelic/newrelic-dotnet-agent --search "dotty" --state open --limit 1 --json number,title,body,urlIf none found, stop. Otherwise record the PR number.
Dispatch one read-only subagent (Explore). Prompt (substitute the PR number):
Run these two commands directly (do not invoke any skill; do not spawn subagents):
gh pr diff <number> --repo newrelic/newrelic-dotnet-agentgh pr checks <number> --repo newrelic/newrelic-dotnet-agentFrom the diff, for each changed
<PackageReference>where the Version changed, extract: package name (Include), old version, new version, and section from theCondition:
net4xx-> Frameworknet8.0/net10.0/etc. -> Core- no Condition -> both Collapse identical package+old+new rows that differ only by TFM into one row with the combined section. Ignore
NewRelic.Agent.Apibumps.From the checks, look only at jobs matching
Run IntegrationTests (*),Run Unbounded Tests (*), andRun Linux Container Tests (*). Report the overall verdict.Return ONLY this, nothing else:
- A markdown table:
package | old | new | section.- CI: either the literal
all passing, or a table of failing jobs:name | job_id | url(extract job_id from the job URL's trailing number).
If CI is all passing, skip to Step 4. Otherwise, for each failing job use
AskUserQuestion with three options:
After handling all failing jobs, summarize which packages are safe to update.
On Analyze, dispatch one read-only subagent (Explore) per failing job, all in a single message so they run concurrently. Prompt each (substitute job_id and paste the package-change table):
Run this directly (do not invoke any skill; do not spawn subagents):
gh api repos/newrelic/newrelic-dotnet-agent/actions/jobs/<job_id>/logsThe following packages were bumped in this PR:
<package-change table>Correlate the failing errors in the log with these packages. Check for transitive dependency conflicts (example:
OpenAI2.9.0 removed a type thatAzure.AI.OpenAIdepends on - inspect dependency chains intests/Agent/IntegrationTests/SharedApplications/Common/MFALatestPackages/MFALatestPackages.csprojin the current repo if needed).Return ONLY: a short list of implicated package names, each with a one-line reason. If nothing is implicated, return
no packages implicated.
Aggregate the returned lists. Present implicated packages to the user and confirm which are safe to update before continuing.
From the slim table (Step 2 & 3), for any major version change (e.g., 3.x -> 4.x), report it prominently - it may block merging the Dotty PR.
Step 0 already synced the fork, so a plain clone of develop gives a current
base. Clone to a known path (not a bash tempdir - the path must survive across
tool calls). Use C:\tmp\docs-website-dotty-<date> or similar; record the
absolute path for later steps.
git clone --branch develop https://github.com/$GH_USER/docs-website.git <path>
cd <path>
git checkout -b dotnet/dotty-updates-YYYY-MM-DDAll subsequent steps run inside the clone path.
Dispatch one edit-capable subagent (general-purpose). Prompt (substitute the clone path and paste the safe-to-update package table):
Work inside
<clone-path>. Do not invoke any skill; do not spawn subagents. Edit this file only:src/content/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdxIt has two tabbed sections:
.NET Core(id="core") and.NET Framework(id="framework"). For each package below, update the version in the section(s) matching itssectioncolumn (both = update both tabs).Packages to update:
<safe-to-update package table>Package-to-docs mapping: not every package has a docs entry - skip silently if the name is not found. Always search the file for the package name. Non-obvious mappings:
Microsoft.Azure.Cosmos-> Cosmos DB,CouchbaseNetClient-> Couchbase,EnyimMemcachedCore-> Memcached,AWSSDK.BedrockRuntime-> AWS Bedrock,Elastic.Clients.Elasticsearch-> Elasticsearch,MySql.Data-> MySQL,Npgsql-> PostgreSQL,AWSSDK.DynamoDBv2-> DynamoDB. Logging/LLM/AWS-SDK packages typically map by exact name.Version formats - change only the version number, nothing else:
- Bullet (Datastores, Messaging):
* Latest verified compatible version: 3.57.0- Table column (LLM, Logging - last
<td>in row): the version inside the<td>.Return ONLY: a table
package | old | new | section | updated?whereupdated?isyesorno docs entry.
Present, from inside the clone path:
git diff yourself (small, controlled change).Do not commit or push without explicit approval.
Never use "Dotty" (team-specific term) in the commit message or PR title/body;
use "latest supported library versions" phrasing. Branch name may keep dotty.
chore(.net agent): Update compatibility docs for latest supported library versions--draft):gh pr create --repo newrelic/docs-website --base develop --head $GH_USER:<branch> \
--title "chore(.net agent): Update compatibility docs for latest supported library versions" \
--body "<brief list of packages updated>"gh pr comment <dotty-pr-number> --repo newrelic/newrelic-dotnet-agent \
--body "Compatibility docs update PR created: <docs-pr-url>"© newrelic, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/update-dotty-docs of newrelic/newrelic-dotnet-agent.
Open the folder on GitHubat commit aca7658
Update Dotty Docs next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Update Dotty Docs this skillnewrelic/newrelic-dotnet-agent | 117 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| GitVersion .NET DevelopmentGitTools/GitVersion | 3.1k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Update .NET OS Packagesdotnet/core | 22k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Ghostty Submodule and GhosttyKit Workflowmanaflow-ai/cmux | 28k | 1 repos | ~580 | Automated safety check: Pass | Custom licence | |
| OBS Plugin Dependency Upgradesorayuki/obs-multi-rtmp | 5.1k | — | ~609 | Automated safety check: Pass | GPL-2.0 | |
| Dependency UpdaterAsvarox/allkaraoke | 261 | 4 repos | ~3.5k | Automated safety check: Pass | MIT |
GitTools/GitVersion
Gives repository-specific .NET guidance for GitVersion: build and test commands, central package management, project layout and coding conventions.
dotnet/core
Audits and updates os-packages.json files listing the Linux packages each .NET release needs per distro, then regenerates the Markdown from the JSON.
manaflow-ai/cmux
Workflow rules for the Ghostty submodule in cmux: rebuilding GhosttyKit.xcframework, pushing fork changes and updating the parent submodule pointer safely.
sorayuki/obs-multi-rtmp
Updates the obs-multi-rtmp plugin repo to the latest upstream plugin template and OBS Studio version, including dependency metadata, then rebuilds it with CMake.
Asvarox/allkaraoke
Smart dependency management for any language. An agent skill from Asvarox/allkaraoke.
Chachamaru127/claude-code-harness
Hands one implementation task to Cursor Composer in an isolated git worktree, then reviews its diff and cherry-picks the result into the main branch.
newrelic/newrelic-dotnet-agent
Parse and diagnose New Relic .NET agent logs (newrelicagent.log) and profiler logs (NewRelic.Profiler.<pid.log) from a support ticket.
newrelic/newrelic-dotnet-agent
Open an Angler PR that adds the latest .NET agent release to metricnames.txt.
newrelic/newrelic-dotnet-agent
Build the New Relic .NET agent locally and validate that code changes compile.
newrelic/newrelic-dotnet-agent
Run the New Relic .NET agent integration tests locally. An agent skill from newrelic/newrelic-dotnet-agent.
newrelic/newrelic-dotnet-agent
Mandatory unit-test and code-coverage rules for the .NET agent.
newrelic/newrelic-dotnet-agent
A skill your agent uses when a CI integration, unbounded, or container test job fails intermittently, passes on a rerun, fails identically across every matrix variant, or shows an infra-shaped error…
Categories
A skill your agent uses when the user mentions a Dotty PR, dotty (package/dependency) updates, or asks to update the .NET agent compatibility docs / net-agent-compatibility-requirements after tested…. Update Dotty Docs is an agent skill from newrelic/newrelic-dotnet-agent.NET agent compatibility docs / net-agent-compatibility-requirements after tested library version bumps.
Update Dotty Docs fits situations like: the user mentions a Dotty PR; dotty (package/dependency) updates; asks to update the .NET agent compatibility docs / net-agent-compatibility-requirements after tested library version bumps.
Run `npx skills add newrelic/newrelic-dotnet-agent --skill update-dotty-docs -a claude-code`. Or copy the skill folder (.claude/skills/update-dotty-docs in newrelic/newrelic-dotnet-agent) into .claude/skills/update-dotty-docs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add newrelic/newrelic-dotnet-agent --skill update-dotty-docs -a codex`. Or copy the skill folder (.claude/skills/update-dotty-docs in newrelic/newrelic-dotnet-agent) into .agents/skills/update-dotty-docs in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add newrelic/newrelic-dotnet-agent --skill update-dotty-docs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/update-dotty-docs, .gemini/skills/update-dotty-docs, .github/skills/update-dotty-docs and .opencode/skills/update-dotty-docs in your project.
Going by SKILL.md and its folder, Update Dotty Docs needs the command-line tools its instructions call (gh and git).
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Update Dotty Docs is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Update Dotty Docs: GitVersion .NET Development (GitTools/GitVersion, 3.1k stars), Update .NET OS Packages (dotnet/core, 22k stars), Ghostty Submodule and GhosttyKit Workflow (manaflow-ai/cmux, 28k stars) and OBS Plugin Dependency Upgrade (sorayuki/obs-multi-rtmp, 5.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
newrelic (a GitHub organization) maintains it in newrelic/newrelic-dotnet-agent, which has 117 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.
Source: newrelic/newrelic-dotnet-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.