netdaemon-nuget-upgrade
Updates NetDaemon NuGet packages. Consolidates updates while protecting MQTT dependencies.
Install
mkdir -p .claude/skills/netdaemon-nuget-upgrade && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18307" && unzip -o skill.zip -d .claude/skills/netdaemon-nuget-upgrade && rm skill.zipInstalls to .claude/skills/netdaemon-nuget-upgrade
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
NetDaemon project workflow for consolidating Dependabot and NuGet dependency updates with dotnet-outdated while excluding MQTT packages. Use when working in net-daemon/netdaemon to upgrade NuGet packages, verify no MQTT package versions changed, run tests, and publish a dependency-update PR with gh-axi.Key capabilities
- →Upgrade NetDaemon NuGet packages
- →Exclude MQTT packages from updates
- →Run dry-run of dotnet outdated
- →Verify package diff before testing
- →Run full test command for NetDaemon solution
How it works
The skill creates a new branch, runs `dotnet outdated` to identify and apply NuGet package updates while excluding MQTT packages, verifies the changes, runs tests, and then creates a pull request.
Inputs & outputs
When to use netdaemon-nuget-upgrade
- →Upgrading NuGet dependencies
- →Managing project library updates
- →Validating dependency changes
About this skill
NetDaemon NuGet Upgrade
Purpose
Use this project-local workflow when upgrading NetDaemon NuGet packages, especially when replacing several Dependabot PRs with one dependency-update branch.
Ground Rules
- Work from the NetDaemon repo root unless the user gives another checkout.
- Follow
AGENTS.md: usegh-axifor GitHub work and never add an agent co-author. - Use the existing repo label
pr: dependency-updatewith the space after the colon. Do not create a duplicate no-space label. - If the task includes merging a PR, ask the user immediately before each merge.
Workflow
- Start from current
mainand create a branch such ascodex/upgrade-nuget-packages. Use a date or short suffix if that branch already exists. - Check the tool:
Ifdotnet outdated --versiondotnet-outdatedis missing, install or restore it only after confirming the appropriate project-local/global approach. - Run the dry-run exactly:
Review the proposed package IDs.dotnet outdated - Apply the update only after the dry-run is clean:
dotnet outdated -u - Verify the package diff before testing:
git diff --stat git diff --check - Run the full test command:
If the only failure is the Docker-backed integration project reportingdotnet test NetDaemon.sln --configuration Release --logger "trx;LogFileName=netdaemon-tests.trx" --verbosity quietDockerUnavailableException, inactive Docker, or an unreachable Docker socket, treat it as a local environment limitation. The owner will handle Docker; do not block the dependency-update PR solely on that local Docker failure. - If Docker blocks local integration tests, still run the CI unit-test projects explicitly:
Fix any non-Docker test, build, lint, or diff-check failure before publishing.dotnet test src/HassModel/NetDaemon.HassModel.Tests --no-build --configuration Release --logger "trx;LogFileName=unit-hassmodel.trx" --verbosity quiet dotnet test src/Extensions/NetDaemon.Extensions.Scheduling.Tests --no-build --configuration Release --logger "trx;LogFileName=unit-scheduling.trx" --verbosity quiet dotnet test src/Client/NetDaemon.HassClient.Tests --no-build --configuration Release --logger "trx;LogFileName=unit-hassclient.trx" --verbosity quiet dotnet test src/AppModel/NetDaemon.AppModel.Tests --no-build --configuration Release --logger "trx;LogFileName=unit-appmodel.trx" --verbosity quiet dotnet test src/Runtime/NetDaemon.Runtime.Tests --no-build --configuration Release --logger "trx;LogFileName=unit-runtime.trx" --verbosity quiet - Stage only intended project-file changes and any user-requested skill/process files. Do not stage
TestResultsor other generated outputs. - Commit with a plain message such as:
git commit -m "Upgrade NuGet packages" - Push the branch and create the PR with
gh-axi:
git push -u origin <branch>
gh-axi pr create --title "Upgrade NuGet packages" --body-file <body-file> --base main --head <branch> --label "pr: dependency-update"
```
Make the PR ready for review unless the user asks for a draft or a non-Docker validation issue remains.
11. Check initial CI:
```bash
gh-axi pr checks <number>
```
## PR Body
Include:
- `dotnet outdated` dry-run completed successfully.
- `dotnet outdated -u` applied the upgrades.
- Test commands and outcomes.
- A short note if local Docker prevented the integration project from running, while CI is expected to cover it.
When not to use it
- →When the user explicitly changes the instruction to exclude MQTT packages
- →When the task includes merging a PR without explicit user approval before each merge
- →When the task is not related to upgrading NetDaemon NuGet packages
Prerequisites
Limitations
- →The skill treats package IDs containing `mqtt`, case-insensitive, as excluded.
- →The skill will not block a dependency-update PR solely on a local Docker failure for integration tests.
- →The skill requires explicit user approval before merging any PRs.
How it compares
This skill automates the process of upgrading NuGet packages, specifically excluding MQTT packages and validating changes through tests before creating a PR, which is more structured than manual dependency updates.
Compared to similar skills
netdaemon-nuget-upgrade side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| netdaemon-nuget-upgrade (this skill) | 0 | 22d | Review | Intermediate |
| azure-mgmt-fabric-dotnet | 0 | 2mo | Review | Intermediate |
| vvvv-node-libraries | 0 | 1mo | No flags | Advanced |
| script-execute | 0 | 2mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
azure-mgmt-fabric-dotnet
microsoft
Azure Resource Manager SDK for Fabric in .NET. Use for MANAGEMENT PLANE operations: provisioning, scaling, suspending/resuming Microsoft Fabric capacities, checking name availability, and listing SKUs via Azure Resource Manager. Triggers: "Fabric capacity", "create capacity", "suspend capacity", "resume capacity", "Fabric SKU", "provision Fabric", "ARM Fabric", "FabricCapacityResource".
vvvv-node-libraries
tebjan
Helps set up C# library projects that provide nodes to vvvv gamma — project directory structure, Initialization.cs with AssemblyInitializer, service registration via RegisterService, IResourceProvider factories, ImportAsIs / ImportNamespace / ImportType selection, category organization, .csproj setu
script-execute
Yunbada
Compiles and executes C# code dynamically using Roslyn. Supports two modes: full code mode (default) requires a complete class definition, while body-only mode (isMethodBody=true) auto-generates the boilerplate so you only provide the method body. Unity objects (GameObject, Component, etc.) can be p
csharp-developer
zenobi-us
Expert C# developer specializing in modern .NET development, ASP.NET Core, and cloud-native applications. Masters C# 12 features, Blazor, and cross-platform development with emphasis on performance and clean architecture.
csharp-pro
sickn33
Write modern C# code with advanced features like records, pattern matching, and async/await. Optimizes .NET applications, implements enterprise patterns, and ensures comprehensive testing. Use PROACTIVELY for C# refactoring, performance optimization, or complex .NET solutions.
dotnet-architect
sickn33
Expert .NET backend architect specializing in C#, ASP.NET Core, Entity Framework, Dapper, and enterprise application patterns. Masters async/await, dependency injection, caching strategies, and performance optimization. Use PROACTIVELY for .NET API development, code review, or architecture decisions.