Azure Mgmt Botservice Dotnet
aiskillstore/marketplace
Azure Resource Manager SDK for Bot Service in .NET. An agent skill from aiskillstore/marketplace.
Open an Angler PR that adds the latest .NET agent release to metricnames.txt.
$ npx skills add newrelic/newrelic-dotnet-agent --skill angler-dotnet-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent angler-dotnet-release --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/angler-dotnet-release .claude/skills/angler-dotnet-release && 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 "angler-dotnet-release" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/angler-dotnet-release into .claude/skills/angler-dotnet-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "angler-dotnet-release", 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/angler-dotnet-releaseType 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 angler-dotnet-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent angler-dotnet-release --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/angler-dotnet-release .agents/skills/angler-dotnet-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "angler-dotnet-release" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/angler-dotnet-release into .agents/skills/angler-dotnet-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "angler-dotnet-release", 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 angler-dotnet-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent angler-dotnet-release --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/angler-dotnet-release .cursor/skills/angler-dotnet-release && 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 "angler-dotnet-release" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/angler-dotnet-release into .cursor/skills/angler-dotnet-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "angler-dotnet-release", 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/angler-dotnet-release--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 angler-dotnet-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install newrelic/newrelic-dotnet-agent angler-dotnet-release --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/angler-dotnet-release .gemini/skills/angler-dotnet-release && 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 "angler-dotnet-release" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/angler-dotnet-release into .gemini/skills/angler-dotnet-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "angler-dotnet-release", 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 angler-dotnet-releaseInstalls 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 angler-dotnet-release -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/angler-dotnet-release .github/skills/angler-dotnet-release && 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 "angler-dotnet-release" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/angler-dotnet-release into .github/skills/angler-dotnet-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "angler-dotnet-release", 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 angler-dotnet-release -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 angler-dotnet-release --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/angler-dotnet-release .opencode/skills/angler-dotnet-release && 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 "angler-dotnet-release" agent skill from https://github.com/newrelic/newrelic-dotnet-agent/tree/main/.claude/skills/angler-dotnet-release into .opencode/skills/angler-dotnet-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "angler-dotnet-release", 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.
angler-dotnet-releaseOpen an Angler PR that adds the latest .NET agent release to metricnames.txt.
Angler Dotnet Release is an agent skill from newrelic/newrelic-dotnet-agent. Open an Angler PR that adds the latest .NET agent release to metricnames.txt. Use when the user asks to add a .NET agent version to Angler, update Angler for a new agent release, or "create the Angler PR" after a .NET agent release ships.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/create_angler_pr.sh`).
It works with .NET and Slack. The repository describes itself as: The New Relic .NET language agent. The licence is Apache-2.0.
6 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.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitbashdotnetghFrom 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:
source.datanerd.usFrom 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.
Angler Dotnet Release loads about 2.3k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 1,210 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); the scripts in this folder are not scanned.
The full file from newrelic/newrelic-dotnet-agent at commit aca7658, republished under its Apache-2.0 licence (© newrelic). 1,210 words, ~2,296 tokens.
.claude/skills/angler-dotnet-release/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.When a new .NET agent version ships, Angler needs a one-line addition to its
metric_names.txt so the new Supportability/AgentVersion/<version> metric is
recognized. This skill discovers the latest release, makes that edit, opens the
PR end-to-end via the GitHub API (no local clone of Angler is needed), and -- for
a ready-for-review PR -- posts an approval request to the #dotnet-team Slack
channel if a Slack tool is connected.
Reference for the shape of the change: Angler PR #837
(https://source.datanerd.us/agents/angler/pull/837) -- a single line added to
src/main/resources/metric_names.txt.
The bundled script scripts/create_angler_pr.sh does the work. It needs only
gh plus standard shell tools (awk, base64, grep) that ship with the same
Git Bash that runs gh -- no extra runtime to install. It manipulates the
~7,600-line file inside the shell, so that content never enters context.
The latest release tag (e.g. v10.51.1) becomes a 4-part version 10.51.1.0
(a 3-part tag gets a trailing .0). That line is inserted at the top of the
// .NET agent version metrics section, which is ordered newest-first:
// .NET agent version metrics
Supportability/AgentVersion/10.51.1.0 <- inserted
Supportability/AgentVersion/10.51.0.0The PR targets master and is titled Add .NET Agent v<version> to Angler.
It is opened ready for review by default, or as a draft when the release
also adds supportability metrics that must be added by hand (see Step 2).
Run gh auth status. It must report authentication for both github.com
(to read the latest release) and source.datanerd.us (to open the Angler PR).
If either is missing, stop and tell the user which host needs auth.
bash .claude/skills/angler-dotnet-release/scripts/create_angler_pr.sh --dry-runIf it reports status: PRESENT, Angler is already up to date; stop and report
that (a normal outcome, not an error).
To target a specific version instead of the latest release, add --version X.Y.Z.
The discovery tool reflects over the compiled agent, and the scan is only
meaningful if that build reflects the released code on main. A stale
checkout or a feature branch produces misleading candidates. So before building,
check the checkout state:
git rev-parse --abbrev-ref HEAD
git status --porcelain
git fetch origin main && git rev-list --left-right --count HEAD...origin/mainIf the checkout is not on main, is behind origin/main, or has uncommitted
changes, tell the user and ask:
The metric scan reflects the compiled agent, so it should be built from the latest
main. You are currently on<branch>(<N>commits behindorigin/main, with uncommitted changes). Switch tomainand pull latest before building? (Answer no to build the current checkout as-is.)
Only switch branches / pull when the user agrees and the working tree is
clean -- never discard uncommitted work. If the user declines, build the current
checkout and note in the final report that the scan reflects <branch>, not
main.
Then build -- the discovery tool needs a current FullAgent.sln build to run.
Ask the user for permission before building:
Check whether src/Agent/newrelichome_x64_coreclr/NewRelic.Agent.Core.dll
exists:
FullAgent.slnhas not been built yet. Build it now so the discovery tool can run? This may take a few minutes.
FullAgent.slnwas built previously. Rebuild now to make sure the discovery tool reflects the latest agent code? (Skip if you know the build is already current.)
If the user says yes (or the default): run the build, then proceed:
dotnet build FullAgent.slnIf the user says no and the DLL is absent: skip discovery entirely and proceed to Step 3, opening the PR ready-for-review.
If the user says no and the DLL is present: proceed with the existing build -- the discovery results may not reflect uncommitted changes.
Once the build is confirmed, fetch the Angler file and run the tool:
# Fetch Angler file if not already on disk from Step 1
gh api --hostname source.datanerd.us \
"repos/agents/angler/contents/src/main/resources/metric_names.txt?ref=master" \
--jq .content | base64 -d > /tmp/angler_current.txt
dotnet run --project build/MetricNameDiscovery/MetricNameDiscovery.csproj \
-- --diff /tmp/angler_current.txt 2>/dev/nullParse every line from the === Candidate additions === section (lines starting
with +). Strip the leading + to get the bare metric name.
If no candidates are found: proceed to Step 3 and open ready-for-review.
If candidates are found: present the numbered list to the user and ask them to categorize each one:
The discovery tool found the following supportability metrics that are in the agent code but not yet in Angler:
<metric name><metric name> ...For each metric, reply with one of:
- A -- add to Angler (include in this PR)
- E -- add to the exclusions list (creates a separate dotnet-agent PR)
- S -- skip for now (take no action)
Example: "1=A, 2=E, 3=S"
Before opening the Angler PR, commit the exclusions to the dotnet-agent repo:
build/MetricNameDiscovery/exclusions.txt -- append each metric with
a # comment (ask the user for the reason if they did not provide one, or
use "triaged <date>" as a default).chore/metric-discovery-exclusions-<version>), commit
the file, and open a draft PR in the dotnet-agent repo:chore: Add metric discovery exclusions for v<version>Then proceed to Step 3 for the Angler PR.
Determine the flags:
--extra-metric "NAME" for each metric the user classified A in
Step 2. Omit the flag entirely if none were classified A. Extra metrics are
inserted under the // .NET MISC section (not alongside the version line).--draft only if there are no A metrics AND the user explicitly asked for
a draft. If any A metrics exist, the PR can be ready-for-review (the script
commits everything in one shot).# No extra metrics -- ready for review
bash .claude/skills/angler-dotnet-release/scripts/create_angler_pr.sh
# With extra metrics -- still ready for review (all lines committed by the script)
bash .claude/skills/angler-dotnet-release/scripts/create_angler_pr.sh \
--extra-metric "Supportability/Dotnet/NetFramework/net481" \
--extra-metric "Supportability/DotNET/AppDomainCaching/Disabled"Pass the same --version X.Y.Z here if one was used in Step 1.
A ready-for-review PR needs a teammate's approval, so let the team know. Do this only when the PR was opened ready for review -- a draft is not ready for approval yet, so skip this for a draft and notify once the PR is marked ready.
First check whether a Slack send-message tool is available in this session
(e.g. slack_send_message). The plugin that provides it may not be connected --
that is fine and not a failure.
In both cases the message is:
An Angler PR for .NET Agent v
<version>has been created and needs review/approval:<PR URL>
Slack tool available -> post to the private channel #dotnet-team.
Resolve its id by searching channels for dotnet-team with private channels
included, and pick the exact-name match (the public #dotnet-agent also
matches that search -- do not post there). Do not use @here / @channel
unless the user asks. Report the link to the message you posted.
Slack tool not available -> not a failure. Give the user the message text above to post manually.
Relay what the script printed: the PR URL, and for a draft, the web-edit URL plus a reminder to add the extra metrics and mark the PR ready when done. If you posted to Slack in Step 4, include the message link; if the Slack tool was unavailable, include the suggested text for the user to post manually.
If the script fails, surface the message verbatim. Common causes: not authenticated to one of the two hosts, or a branch/PR from a prior attempt already exists (the script reuses an existing branch, but the GitHub API rejects a duplicate open PR for the same head) -- point the user at the existing branch/PR rather than retrying blindly.
© 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
SKILL.md and 1 other file (scripts) in .claude/skills/angler-dotnet-release of newrelic/newrelic-dotnet-agent.
Open the folder on GitHubat commit aca7658
Angler Dotnet Release 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 |
|---|---|---|---|---|---|---|
| Angler Dotnet Release this skillnewrelic/newrelic-dotnet-agent | 117 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Azure Mgmt Botservice Dotnetaiskillstore/marketplace | 433 | 4 repos | ~2.5k | Automated safety check: Pass | None | |
| Azure Mgmt Botservice Dotnetmicrosoft/skills | 3.1k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Agent Browser CLIvercel-labs/agent-browser | 44k | 24 repos | ~864 | Automated safety check: Pass | Apache-2.0 | |
| Slack GIF Creatoranthropics/skills | 180k | 29 repos | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Minimax DOCXpoco-ai/poco-claw | 1.4k | 7 repos | ~3.9k | Automated safety check: Pass | MIT |
aiskillstore/marketplace
Azure Resource Manager SDK for Bot Service in .NET. An agent skill from aiskillstore/marketplace.
microsoft/skills
Azure Resource Manager SDK for Bot Service in .NET. An agent skill from microsoft/skills.
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…
anthropics/skills
Provides Slack size and frame limits, Python animation helpers and validators for building animated GIFs sized for emoji and messages.
poco-ai/poco-claw
Professional DOCX document creation, editing, and formatting using OpenXML SDK (.NET).
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
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
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
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…
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…
Open an Angler PR that adds the latest .NET agent release to metricnames.txt. Angler Dotnet Release is an agent skill from newrelic/newrelic-dotnet-agent.txt.
Angler Dotnet Release fits situations like: the user asks to add a .NET agent version to Angler; update Angler for a new agent release; create the Angler PR after a .NET agent release ships.
Run `npx skills add newrelic/newrelic-dotnet-agent --skill angler-dotnet-release -a claude-code`. Or copy the skill folder (.claude/skills/angler-dotnet-release in newrelic/newrelic-dotnet-agent) into .claude/skills/angler-dotnet-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add newrelic/newrelic-dotnet-agent --skill angler-dotnet-release -a codex`. Or copy the skill folder (.claude/skills/angler-dotnet-release in newrelic/newrelic-dotnet-agent) into .agents/skills/angler-dotnet-release 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 angler-dotnet-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/angler-dotnet-release, .gemini/skills/angler-dotnet-release, .github/skills/angler-dotnet-release and .opencode/skills/angler-dotnet-release in your project.
Going by SKILL.md and its folder, Angler Dotnet Release needs a shell for the scripts in its folder and the command-line tools its instructions call (git, bash, dotnet and gh). Our summary lists: A Bash shell.
SKILL.md names 1 domain. In commands or code: source.datanerd.us; 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Angler Dotnet Release 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.3k tokens (SKILL.md is roughly 9.2k 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 Angler Dotnet Release: Azure Mgmt Botservice Dotnet (aiskillstore/marketplace, 433 stars), Azure Mgmt Botservice Dotnet (microsoft/skills, 3.1k stars), Agent Browser CLI (vercel-labs/agent-browser, 44k stars) and Slack GIF Creator (anthropics/skills, 180k 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 9, 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.