К основному содержанию
скилл CX Codex

outdated — скилл для Claude Code: аудит NuGet-зависимостей .NET

Собирает отчёт о здоровье зависимостей .NET: устаревшие NuGet-пакеты, уязвимые версии и ловушки с коммерческими лицензиями.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add codewithmukesh/dotnet-claude-kit --skill outdated -a claude-code
Открыть на GitHub

Что делает outdated

Скилл проходит по решению в три слоя. Сначала инвентаризация: каждый PackageReference по проектам, с целевыми фреймворками и учётом центрального управления пакетами, через MCP-инструмент get_nuget_packages — без сети. Потом сверка версий и известных CVE через dotnet CLI. В конце проверка лицензий: пакеты, которые перешли на коммерческую модель, помечаются отдельно.

Зачем это нужно. Обычный dotnet outdated --upgrade может молча перевести проект на платную лицензию — MediatR с 13+, MassTransit с 9+, FluentAssertions с 8+, AutoMapper с 15+. Скилл ловит именно этот момент: если проект сидит на бесплатной мажорной версии и наивное «обновить всё» пересекает границу, строка получает приоритет LICENSE.

Результат — одна таблица по приоритетам: сначала уязвимости, потом лицензионные ловушки, в конце устаревание. Для каждого пакета указано рекомендуемое действие. Шаги 2 и 3 требуют успешного restore: если он падает, сначала чините его, иначе вывод по версиям будет ненадёжным. Обновления скилл предлагает выполнить через /migrate Flow C — по одному пакету, с dotnet build && dotnet test между ними.

Какие задачи решает

  • найти уязвимые версии NuGet-пакетов, включая транзитивные
  • поймать переход пакета на коммерческую лицензию до обновления
  • собрать инвентарь PackageReference по всем проектам решения
  • проверить, не разъехались ли целевые фреймворки между проектами
  • разложить обновления по приоритетам вместо слепого «обновить всё»

Примеры запросов агенту

  • /outdated
  • проверь зависимости решения и покажи уязвимые пакеты
  • сделай аудит NuGet-пакетов и проверь лицензии

Как установить outdated

1Через Skills CLI (Vercel)

npx skills add codewithmukesh/dotnet-claude-kit --skill outdated -a claude-code

2Вручную: положить файлы

~/.claude/skills/outdated/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/outdated/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о outdated

Как установить outdated в Claude?

Выполните npx skills add codewithmukesh/dotnet-claude-kit --skill outdated -a claude-code. Скилл появится в ~/.claude/skills/outdated/SKILL.md.

Что делает outdated?

Строит отчёт о здоровье зависимостей .NET в три слоя: инвентарь пакетов, устаревание и уязвимости, проверка лицензий. На выходе одна таблица с приоритетами и действием по каждой строке.

Нужен ли доступ к сети для работы скилла?

Инвентаризация идёт через MCP-инструмент get_nuget_packages без сети. Шаги со сверкой версий и CVE используют dotnet CLI и требуют успешного restore.

Исходный текст

SKILL.md · MIT
---
name: outdated
description: >
  Dependency health report for .NET solutions: outdated NuGet packages,
  vulnerable versions, and commercial-license traps (MediatR, MassTransit,
  FluentAssertions, AutoMapper) — powered by the get_nuget_packages MCP tool.
  Invoke when: "outdated packages", "check dependencies", "stale packages",
  "package audit", "dependency health", "are my packages up to date",
  "license check", "vulnerable packages", "nuget audit".
---

# /outdated

## What

A three-layer dependency health report:

1. **Inventory** — every `PackageReference` per project, with TFMs and central
   package management awareness, via the `get_nuget_packages` MCP tool (no
   network, token-cheap).
2. **Staleness + vulnerabilities** — current vs latest stable, and known CVEs,
   via the `dotnet` CLI.
3. **License screen** — flags packages that moved to commercial licenses so an
   innocent `dotnet outdated --upgrade` doesn't silently change your legal
   position.

The output is a single prioritized table — vulnerabilities first, license traps
second, staleness last — with a recommended action per row.

## When

- "check for outdated packages", "package audit", "dependency health"
- Before a .NET version upgrade (pairs with `/migrate` Flow B)
- After inheriting an unfamiliar codebase
- Dependabot/NuGet audit warnings appeared and you want the full picture
- Periodically on long-lived projects — quarterly is a good cadence

## How

**Step 1: Inventory (MCP, no network)**

```
get_nuget_packages()                          -- whole solution
get_nuget_packages(projectFilter: "Api")      -- or one project
```

Returns per-project `{Name, TargetFramework, Cpm, Packages: [{Id, Version}]}`.
Note `Cpm: true` — updates then belong in `Directory.Packages.props`, not the
csproj. Flag mixed TFMs across projects while you're here.

**Step 2: Staleness and vulnerabilities (CLI)**

```bash
dotnet list package --outdated
dotnet list package --vulnerable --include-transitive
```

Both need a successful restore first. If restore fails, fix that before
auditing — a broken lock state makes version output unreliable.

**Step 3: License screen**

Check the inventory against the known commercial moves (full rationale in
`knowledge/package-recommendations.md`):

| Package | Commercial from | Free alternative |
|---|---|---|
| MediatR | 13+ (Lucky Penny, RPL) | `Mediator` (martinothamar) — source-generated, MIT |
| MassTransit | 9+ (v8 Apache, patches end 2026 then EOL) | Wolverine 6.x, or stay on v8 short-term |
| FluentAssertions | 8+ (v7 stays Apache, frozen) | xUnit built-in `Assert` (kit default), Shouldly, AwesomeAssertions |
| AutoMapper | 15+ (Lucky Penny) | Manual mapping (kit default) or Mapperly (MIT) |

A license flag fires when the project is on the free major and a naive
"update all" would cross the boundary — that is the trap this step exists for.

**Step 4: Report**

One table, priority-ordered:

| Priority | Meaning | Action |
|---|---|---|
| VULNERABLE | Known CVE in current version | Update now, test, deploy |
| LICENSE | Next major crosses a commercial boundary | Pin below boundary or plan migration |
| MAJOR | Behind a major (breaking changes likely) | One at a time, release notes first |
| MINOR/PATCH | Routine drift | Batch patches; minors one at a time |

**Step 5: Act (optional)**

Offer to execute updates via `/migrate` Flow C — one package at a time,
`dotnet build && dotnet test` between each. Never batch major updates:
batched failures are unattributable.

### MCP Tools Used

- `get_nuget_packages` — inventory, CPM detection, TFM audit
- `get_diagnostics` — verify the solution still compiles clean after updates

## Example

```
User: /outdated

Claude: Inventorying packages (get_nuget_packages)...
  3 projects, CPM enabled (Directory.Packages.props), all net10.0.

  Checking versions and CVEs...

  | Package                  | Current | Latest  | Priority   | Action                          |
  |--------------------------|---------|---------|------------|---------------------------------|
  | System.Text.Json (trans.)| 10.0.2  | 10.0.10 | VULNERABLE | Update now (CVE-2026-XXXX)      |
  | MassTransit              | 8.3.0   | 9.1.2   | LICENSE    | v9 is commercial. Stay on v8    |
  |                          |         |         |            | (EOL end 2026) or plan Wolverine|
  | Serilog.AspNetCore       | 9.0.0   | 10.0.0  | MAJOR      | Update alone, check sink compat |
  | FluentValidation         | 12.0.1  | 12.1.1  | PATCH      | Batch with other patches        |

  1 vulnerability, 1 license trap, 1 major, 1 patch.
  Want me to apply these via /migrate Flow C?
```

## Related

- `/migrate` — Flow C executes the updates this report recommends
- `knowledge/package-recommendations.md` — vetted packages + licensing detail
- `knowledge/mediatr-to-mediator-migration.md` — step-by-step MediatR exit
- `/verify` — full pipeline after applying updates

© codewithmukesh · MIT · codewithmukesh/dotnet-claude-kit

Похожие скиллы

Всё по теме «Бэкенд и API» →
msbuild-modernization dotnet Скилл переписывает старые файлы проекта . NET в формат SDK-style: убирает лишний XML, переносит пакеты и атрибуты сборки. CX Codex +1 3 700установок template-authoring dotnet Помогает превратить существующий проект .NET в готовый шаблон dotnet new. Создаёт .template.config/template.json с параметрами и сохраняет структуру исходного файла .csproj. CX Codex +1 3 200установок dotnet-project-structure Aaronontheweb Скилл подсказывает агенту, как разложить .NET-решение: .slnx, Directory.Build.props, центральные версии пакетов и SourceLink. CX Codex +1 658установок dotnet-upgrade официальный github Помогает спланировать обновление проектов .NET: проверить зависимости, выбрать порядок миграции и подготовить проверки после неё. 11 475установок api-design Aaronontheweb Скилл для проектирования публичных API по принципу «только расширять»: помогает не ломать совместимость при выпуске новых версий. CX Codex +1 660установок Microsoft NuGet NuGet MCP-сервер от NuGet: даёт агенту доступ к вашим фидам пакетов, планирует обновления и разбирает уязвимости в зависимостях. CX Codex +1 ★ 1 555звёзд репо

Из того же набора46

docker Скилл настраивает контейнеризацию приложений на .NET 10: многоэтапную сборку, запуск под непривилегированным пользователем и проверку работоспособности. CX Codex +1 2 900установок serilog Скилл помогает настроить структурированное логирование Serilog в приложении .NET 10: уровни, приёмники, свойства событий и журналы HTTP-запросов. CX Codex +1 2 900установок vertical-slice Скилл помогает проектировать и писать .NET-приложения по принципам Vertical Slice Architecture вместо слоистой структуры. Пригодится при переносе логики в папки фич и настройке хэндлеров. CX Codex +1 2 900установок modern-csharp Подсказывает агенту синтаксис C# 14: первичные конструкторы, коллекционные выражения, ключевое слово field, блоки расширений. Пригодится, когда пишете новый код на C# или чистите старый. CX Codex +1 2 900установок arch-check Сверяет кодовую базу с заявленной архитектурой: направление зависимостей, нарушения слоёв, утечки между модулями и циклы. Пригодится перед релизом или после крупной фичи. CX Codex +1 2 800установок migrate Скилл ведёт разработчика через миграции схемы EF Core, смену версии .NET и обновление NuGet. На каждом шаге он готовит план отката и запускает тесты. CX Codex +1 2 800установок plan Составляет план реализации для .NET-задач с учётом архитектуры проекта. Нужен перед изменениями, которые затрагивают несколько слоёв или модулей. CX Codex +1 2 800установок scaffold Создаёт полный набор файлов для новой фичи в .NET 10: endpoint, handler, валидатор, DTO, конфигурацию EF и интеграционные тесты. CX Codex +1 2 800установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой