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

de-sloppify — скилл для Claude Code: очистка .NET

Наводит порядок в .NET-коде по семи шагам: от форматирования до передачи CancellationToken. Нужен перед релизом, после крупных изменений или обновления зависимостей.

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

Что делает de-sloppify

de-sloppify проводит очистку .NET-проекта в заданном порядке: форматирует код, удаляет лишние using, разбирает предупреждения анализаторов и ищет мёртвый код. Затем скилл обрабатывает TODO, проверяет классы для sealed и отслеживает передачу CancellationToken по асинхронным цепочкам.

После каждого шага он запускает dotnet build и dotnet test, а изменения предлагает коммитить отдельно. Перед удалением кода предусмотрена проверка на использование через reflection, DI-соглашения и сериализацию. Это повод не запускать удаление мёртвого кода вслепую.

Для диагностики и структурных изменений используются MCP-инструменты get_diagnostics, find_dead_code, get_type_hierarchy и detect_antipatterns. Шаги с мёртвым кодом, sealed-классами и CancellationToken передаются субагенту refactor-cleaner.

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

  • отформатировать весь .NET-код
  • удалить неиспользуемые using
  • разобрать предупреждения анализаторов
  • проверить кандидатов на удаление мёртвого кода
  • протянуть CancellationToken по асинхронным вызовам

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

  • /de-sloppify выполни полную очистку перед релизом
  • /de-sloppify приведи в порядок проект после обновления зависимостей
  • /de-sloppify запусти только форматирование, удаление using и проверку sealed-классов

Как установить de-sloppify

1Через Skills CLI (Vercel)

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

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

~/.claude/skills/de-sloppify/SKILL.md

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

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

Вопросы о de-sloppify

Как установить de-sloppify в Claude Code?

Выполните команду npx skills add codewithmukesh/dotnet-claude-kit --skill de-sloppify -a claude-code.

Что делает de-sloppify?

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

Почему перед удалением мёртвого кода нужна отдельная проверка?

Статический анализ может не увидеть вызовы через reflection, DI-соглашения или сериализацию. Скилл требует проверить такие случаи до удаления кандидатов.

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

SKILL.md · MIT
---
name: de-sloppify
description: >
  Systematic code cleanup pipeline for .NET projects. Runs 7 ordered steps:
  formatting, unused usings, analyzer warnings, dead code removal, TODO resolution,
  sealed class audit, and CancellationToken propagation. Each step is verified
  independently with tests between phases. Load this skill when: "clean up",
  "de-sloppify", "tidy up", "remove dead code", "code cleanup", "housekeeping",
  "tech debt", "fix warnings", "seal classes", "add CancellationToken",
  "unused usings", "format code".
---

# /de-sloppify — 7-Step Cleanup Pipeline

## What

Runs an ordered, verified cleanup pipeline over a .NET codebase. Order matters:
formatting first (it touches every file — get the churn out of the way before
anything else), dead code late (earlier steps reveal it). Random cleanup misses
things and creates merge conflicts; the pipeline doesn't.

Three rules make it safe:

1. **Verify after each step** — `dotnet build` + `dotnet test` between steps. A
   cleanup that breaks something is worse than the mess it was fixing.
2. **Commit per step** — each step is its own commit, so a bad Step 4 reverts
   without losing Steps 1-3.
3. **Safe removals only** — before deleting "dead" code, check for reflection,
   DI-convention, and serialization usage that Roslyn cannot see.

Per-step commands, safety checklists, and code examples live in
`references/cleanup-steps.md` — read it before executing.

## When

- "Clean up", "tidy up", "de-sloppify", "housekeeping", "tech debt"
- After a large feature merge or dependency upgrade (new warnings accumulate)
- Pre-release hardening, or a scheduled quarterly cleanup sprint
- Before performance work (dead code out, classes sealed for devirtualization)
- Never mixed with feature work — cleanup commits stay pure

## How

### Step 0: Pick the Steps

| Scenario | Steps to run |
|----------|-------------|
| Full cleanup pass / pre-release / quarterly | All 7 |
| Quick tidy before PR | 1, 2, 6 |
| After large feature merge | 1, 2, 3, 4 |
| After dependency upgrade | 2, 3 |
| Before performance work | 4, 6 |
| CI warning threshold exceeded | 3 only |
| Tech debt sprint | 4, 5 |

### Steps 1-7 (execute in order, details in references/cleanup-steps.md)

| # | Step | Tool | Commit message |
|---|------|------|----------------|
| 1 | Format all code | `dotnet format` | `chore: apply dotnet format` |
| 2 | Remove unused usings | `dotnet format analyzers --diagnostics IDE0005` | `chore: remove unused using statements` |
| 3 | Fix analyzer warnings | MCP `get_diagnostics` → triage by category | `chore: fix analyzer warnings` |
| 4 | Remove dead code | MCP `find_dead_code` + **safety check** (reflection/DI/serialization grep) | `chore: remove dead code` |
| 5 | Resolve TODOs | grep TODO/HACK/FIXME → fix, file issue, or delete | `chore: resolve TODO comments` |
| 6 | Seal non-inherited classes | MCP `get_type_hierarchy` per candidate + test-project grep | `chore: seal non-inherited classes` |
| 7 | Propagate CancellationToken | MCP `detect_antipatterns` → trace async chains | `chore: propagate CancellationToken through async chains` |

After every step: `dotnet build` + `dotnet test`, then commit. If a step breaks
the build or tests, fix or revert that step before continuing — never carry a
red state into the next step. Delegate structural steps (4, 6, 7) to the
`refactor-cleaner` agent.

### Final Report

```markdown
## De-Sloppify Report

| Step | Changes | Files Affected |
|------|---------|----------------|
| 1. Format | Applied consistent formatting | 23 files |
| 2. Usings | Removed 47 unused usings | 18 files |
| 3. Analyzers | Fixed 12 warnings (8 nullability, 3 unused vars, 1 obsolete) | 9 files |
| 4. Dead Code | Removed 3 unused types, 5 unused methods | 6 files |
| 5. TODOs | Fixed 2, created issues for 3, removed 1 stale | 5 files |
| 6. Sealed | Sealed 14 classes | 14 files |
| 7. CancellationToken | Added propagation to 8 async chains | 11 files |

**Total: 7 commits, 86 files improved**
```

## Example

```
User: /de-sloppify — full pass before the release

Claude: Running the 7-step pipeline...

Step 1: dotnet format — 23 files reformatted. Build + tests green. Committed.
Step 2: IDE0005 — 47 unused usings removed across 18 files. Green. Committed.
Step 3: 12 warnings triaged: 8 nullability fixed with null checks,
  3 unused vars removed, 1 CS0618 migrated off the obsolete API. Committed.
Step 4: find_dead_code → 9 candidates. Safety check: PaymentProcessor is
  registered via DI convention — kept. Removed 3 types, 5 methods. Committed.
Step 5: 6 TODOs → 2 fixed, 3 became issues (#141-#143), 1 stale removed. Committed.
Step 6: 14 classes sealed (2 skipped: xUnit fixture base, virtual members). Committed.
Step 7: 8 async chains now propagate ct end-to-end. Committed.

7 commits, 86 files improved. Full report above.
```

## Related

- `references/cleanup-steps.md` — per-step commands, safety checks, examples
- `/verify` — run the full verification pipeline after cleanup
- `/health-check` — re-grade the project to quantify the improvement
- `/code-review` — cleanup handles style; review handles logic and design

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

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

Всё по теме «Код-ревью и рефакторинг» →
roslyn-analyzers официальный github Скилл помогает создавать, проверять, отлаживать, тестировать и упаковывать Roslyn-анализаторы, code fix providers и incremental source generators. 30установок ai-slop-cleaner Yeachan-Heo Удаляет избыточный код нейросетей через чистку дублей и лишних слоёв. Помогает навести порядок без изменения поведения программы. CX Codex +1 1 600установок gem-code-simplifier официальный github Субагент для безопасного рефакторинга: вычищает мертвый код и снижает сложность. Пригодится, когда нужно причесать кодовую базу и не сломать логику. ★ 40 418звёзд репо writing-mstest-tests dotnet Скилл для правки и модернизации существующих MSTest-тестов: подсказывает конкретные ассерты, порядок аргументов и работу с TestContext. CX Codex +1 3 400установок migrate-static-to-wrapper dotnet Меняет статические вызовы в C# на инжектируемые абстракции: DateTime.UtcNow на TimeProvider, File.* на IFileSystem. Работает в границах одного файла, проекта или неймспейса. CX Codex +1 3 300установок dotnet-slopwatch Aaronontheweb Скилл отслеживает уловки нейросетей при правке кода C#: пропуск упавших тестов, скрытие предупреждений и пустые блоки catch. Он запускает утилиту slopwatch для защиты проекта от фиктивных правок. CX Codex +1 552установок

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

opentelemetry Скилл настраивает трассировку, метрики и логи OpenTelemetry в .NET 10 через единый вызов с OTLP-экспортом. CX Codex +1 2 800установок messaging Скилл для .NET-проектов: подсказывает, как настроить Wolverine или MassTransit, outbox, саги и брокеры RabbitMQ и Azure Service Bus. CX Codex +1 2 800установок project-structure Скилл задаёт агенту правила раскладки .NET-решения: центральные версии пакетов, общие свойства сборки, формат .slnx и именование проектов. CX Codex +1 2 800установок httpclient-factory Скилл обучает ассистента конфигурировать IHttpClientFactory и типовые HTTP-клиенты для .NET 10. Помогает настроить политики устойчивости и избежать исчерпания сокетов. CX Codex +1 2 800установок logging Скилл про наблюдаемость в .NET 10: разводит liveness и readiness, прокидывает correlation ID и задаёт уровни логов. CX Codex +1 2 800установок ci-cd Скилл помогает создавать YAML-пайплайны для проектов на .NET. Пригодится для быстрой настройки GitHub Actions и Azure DevOps с этапами сборки, тестов и публикации. CX Codex +1 2 800установок resilience Скилл для ИИ-агента, который подсказывает, как строить отказоустойчивые вызовы в .NET 10 на Polly v8: retry, circuit breaker, таймауты, fallback. CX Codex +1 2 800установок authentication Скилл для ИИ-агента, который подсказывает, как правильно настроить аутентификацию и авторизацию в ASP.NET Core: JWT, OIDC, Identity, политики. CX Codex +1 2 800установок

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

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