Skip to content
Agentmart
Submit a tool

dotnet-update-packages

Lists and updates outdated NuGet packages in .NET projects.

Skill by Im5tu

IndexedMIT★ 6
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/im5tu-dotnet-update-packages

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Lists and updates outdated NuGet packages in .NET projects. Also use when the user mentions "update packages," "outdated NuGet," "upgrade dependencies," "dotnet package update," "check for updates," or "package versions." For centralizing package versions, see dotnet-centralise-packages.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/dotnet-update-packages

Tools it pre-approves 6

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash(dotnet:*),
  • Read,
  • Edit,
  • Write,
  • Glob,
  • AskUserQuestion

What's inside

Skill name
dotnet-update-packages
Description
Lists and updates outdated NuGet packages in .NET projects. Also use when the user mentions "update packages," "outdated NuGet," "upgrade dependencies," "dotnet package update," "check for updates," or "package versions." For centralizing package versions, see dotnet-centralise-packages.
License
MIT
Allowed tools
Bash(dotnet:*),, Read,, Edit,, Write,, Glob,, AskUserQuestion
Metadata
author: Im5tu · version: 1.0 · repositoryUrl: https://github.com/im5tu/dotnet-skills
Instructions
83 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands

Files (1)

  • SKILL.md

SKILL.md (first lines)

# .NET Package Updates

> **Note:** This skill requires .NET 10 SDK or later. The `dotnet package update` command does not exist in .NET 8-9.

## When to Use

This skill applies when the user:
- Asks about outdated NuGet packages
- Wants to update dependencies in a .NET project
- Mentions package version upgrades
- Discusses dependency management in .NET

## Workflow

1. **List outdated packages** (including transitive) using:
   ```bash
   dotnet package list --outdated --include-transitive --format json
   ```

2. **Check for empty results** - If no outdated packages found, inform the user and stop

3. **Parse output** to identify:
   - Projects with outdated packages
   - Whether each package is **direct** or **transitive**

4. **Analyze project dependencies** by reading `<ProjectReference>` elements in each csproj

5. **Present findings** in a readable format showing project, package name, current → latest version

6. **Confirm with user** before making changes - ask which option:
   - All packages
   - Specific packages by name
   - Cancel

7. **Update packages per project** with `--project` parameter:
   - Update leaf projects first (no dependencies)
   - Then update dependent projects
   - Independent branches can run in parallel
   ```bash
   dotnet package update <package> --project <path-to-csproj>
   ```

8. **Verify** with `dotnet build`

9. **If build fails**, ask user:
   - Fix automatically (review errors, apply fixes)
   - Fix manually (show errors, let user handle)

10. **Report results** - summarize what was updated and the final build status

## Key Commands

| Command | Purpose |
|---------|---------|
| `dotnet package list --outdated --include-transitive --format json` | List outdated packages (incl. transitive) |
| `dotnet package update <name> --project <path>` | Update specific package in project |
| `dotnet package update --project <path>` | Update all packages in project |

## Transitive vs Direct Packages

- **Direct**: Explicitly in csproj. Update directly.
- **Transitive**: Pulled in by dependencies. Marked `[T]` in output.
  - To update: update the parent package, or add direct reference to pin version

## Error Handling

- **If `dotnet package list` fails**: Check if we're in a .NET project directory
- **If `dotnet package update` fails for a specific package**: Report it and continue with others
- **If build fails after updates**:
  1. Parse the build errors
  2. Ask user: fix automatically or manually?
  3. If automatic: analyze errors and apply fixes
  4. Re-run build to verify

## Notes

- Requires .NET 8+ SDK for `dotnet package update`
- Always use `--project` parameter to update per-project
- Update in dependency order: leaves first, then dependents
- Always confirm with user before updating
- Run build after updates to catch breaking changes

From Im5tu/claude, MIT.

More from Im5tu/claude

Signals

Stars
6
Forks
3
Open issues
0
Last commit (this folder)
Aug 21, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Im5tu

Cite this page

dotnet-update-packages skill. Agent Mart. https://agentmart.dev/skills/im5tu-dotnet-update-packages (last updated 2026-10-24)