# detect-static-dependencies

Ищет в C# и .NET-коде статические зависимости, которые мешают тестам. Нужен перед добавлением unit-тестов или планированием рефакторинга.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 3400 установок · ★ 5730
- Автор: dotnet
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/dotnet/skills/tree/HEAD/plugins/dotnet-test/skills/detect-static-dependencies/SKILL.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/detect-static-dependencies

## Что делает

Скилл сканирует `.cs`-файлы и составляет ранжированный отчёт: какие статические API встречаются чаще, какие файлы затронуты и чем их заменить. Он ищет обращения ко времени, файловой системе, окружению, сети, консоли и процессам.

Можно указать файл, каталог, `.csproj` или `.sln`, а также ограничить поиск категорией: `time`, `filesystem`, `environment`, `network`, `console` либо `process`. Для точечного запроса скилл возвращает нужную часть результатов, а не полный аудит. Каталоги `obj/` и `bin/` исключаются.

Скилл запускается, только когда запрос или цель явно указывает C#, .NET, `.cs` или `.csproj`. Это повод прямо назвать C#-путь в запросе. Вызовы у внедрённого `HttpClient` не считаются проблемой, потому что такой клиент уже можно контролировать через `HttpMessageHandler`.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill detect-static-dependencies -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/detect-static-dependencies/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/detect-static-dependencies/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill detect-static-dependencies -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/detect-static-dependencies/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill detect-static-dependencies -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/detect-static-dependencies/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dotnet/skills detect-static-dependencies
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/detect-static-dependencies/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill detect-static-dependencies -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/dotnet/skills --path plugins/dotnet-test/skills/detect-static-dependencies
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/detect-static-dependencies/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add dotnet/skills --skill detect-static-dependencies -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/dotnet/skills/tree/HEAD/plugins/dotnet-test/skills/detect-static-dependencies/SKILL.md

## Когда брать
- найти `DateTime.Now` и `DateTime.UtcNow` в C#-коде
- показать файлы с частыми вызовами `File` и `Directory`
- проверить, скрыт ли `HttpClient` за внедрённой зависимостью
- выбрать статические API для первоочередной обёртки
- ограничить аудит одним `.csproj` или каталогом

## Примеры запросов агенту
- Просканируй `src/App` на статические зависимости C# и покажи частоту вызовов.
- Найди зависимости времени в `Service.cs`: `DateTime`, `Task.Delay` и связанные вызовы.
- Проверь `MyProject.csproj` на обращения к файловой системе, окружению и процессам.

## Похожие
- [health-check](https://affpapa.org/nevibecode/skills/health-check.md) — скилл · 2800 установок
- [static-analysis](https://affpapa.org/nevibecode/skills/static-analysis.md) — скилл · 1200 установок
- [dotnet-slopwatch](https://affpapa.org/nevibecode/skills/dotnet-slopwatch.md) — скилл · 552 установки
- [dart-run-static-analysis](https://affpapa.org/nevibecode/skills/dart-run-static-analysis.md) — скилл · 19000 установок
- [csharp-testing](https://affpapa.org/nevibecode/skills/csharp-testing.md) — скилл · 4500 установок
- [build-fix](https://affpapa.org/nevibecode/skills/build-fix.md) — скилл · 2800 установок

Из того же набора: [dotnet/skills](https://affpapa.org/nevibecode/by/dotnet/skills.md) — 101 карточка

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
