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

detecting-port-conflicts — скилл для Claude Code: установка

Скилл находит занятые порты при ошибках вроде EADDRINUSE, вычисляет блокирующий процесс и помогает освободить порт либо сменить его в конфиге dev-сервера.

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

Что делает detecting-port-conflicts

Скилл отслеживает в выводе терминала ошибки EADDRINUSE, address already in use или Errno 98. Он сразу извлекает номер порта. Скилл сразу видит проблему. Затем он ищет причину через lsof -i :<PORT> -P -n, определяя PID и имя процесса.

Для решения агент предлагает завершить процесс командами kill <PID> или kill -9 <PID>. Второй путь — переключить dev-сервер на свободный порт. Для Vite или Next.js скилл подскажет готовый флаг запуска. Если lsof пуст, сокет мог зависнуть в состоянии TIME_WAIT — тут лучше подождать 30 секунд.

Команда killall node сносит сразу всё, поэтому скилл требует подтверждения перед запуском. В macOS для портов ниже 1024 понадобятся права root.

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

  • найти процесс, вызвавший ошибку EADDRINUSE в терминале
  • завершить зависший локальный сервер по его PID через kill
  • переключить dev-сервер на свободный порт в Next.js или Vite
  • проверить порты, занятые контейнерами Docker

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

  • Сервер упал с ошибкой EADDRINUSE, освободи занятый порт
  • Проверь через lsof, какой процесс занял порт, и перезапусти Vite на свободном порту
  • Заверши процесс, который блокирует запуск dev-сервера

Как установить detecting-port-conflicts

1Через Skills CLI (Vercel)

npx skills add spencerpauly/awesome-cursor-skills --skill detecting-port-conflicts -a claude-code

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

~/.claude/skills/detecting-port-conflicts/SKILL.md

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

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

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

babysitting-pr Скилл отслеживает открытый пулл-реквест, устраняет сбои линтера, тестов и сборки в CI, разбирает комментарии ревью и правит конфликты слияния. CX Codex +1 427установок finding-dev-server-url Находит адреса запущенных dev-серверов в логах терминала и выводит порты localhost. Помогает сразу открыть работающее приложение или проверить конфликты портов. CX Codex +1 425установок best-of-n-solving Запускает 2–3 подхода к сложной задаче одновременно, каждый в своей git-ветке, и помогает выбрать лучший результат. CX Codex +1 425установок converting-css-to-tailwind Скилл проходит по CSS-файлу и переносит правила в Tailwind-классы прямо в разметке. Полезен при переезде проекта со старого CSS на утилиты. CX Codex +1 423установок setting-up-ci Скилл собирает пайплайн GitHub Actions с линтингом, тестами, проверкой типов и деплоем. Пригодится, когда проект уже есть, а CI в нём ещё нет. CX Codex +1 415установок adding-api-docs Скилл собирает OpenAPI/Swagger-описание вашего API: схемы эндпоинтов, типы запросов и ответов, интерактивную страницу документации. CX Codex +1 413установок parallel-test-fixing Скилл распределяет упавшие файлы тестов между параллельными субагентами, чтобы исправлять ошибки независимо. Он нужен при поломке сразу нескольких тестовых файлов. CX Codex +1 412установок profiling-performance Скилл запускает профилирование CPU во встроенном браузере через инструменты MCP. Он находит медленные функции и помогает устранить зависания интерфейса. CX Codex +1 410установок

Похожие

docker-containerization ailabs-393 Скилл генерирует Dockerfile, docker-compose и скрипты для сборки, запуска и пуша контейнеров. Пригодится, когда нужно упаковать Next.js или Node.js проект. CX Codex +1 1 100установок catalyst-appsail catalystbyzoho Помогает агенту развернуть постоянный сервер на Catalyst AppSail: managed-рантаймы Node.js, Java, Python или свой Docker-контейнер. CX Codex +1 1 000установок dockerfile-optimizer patricio0312rev Скилл переписывает Dockerfile под многоэтапную сборку: меньше образ, быстрее сборка, кэш слоёв работает как надо. Пригодится, когда образ раздулся или сборка идёт по десять минут. CX Codex +1 530установок docker-deployment pluginagentmarketplace Скилл помогает контейнеризировать Node.js-приложение: Dockerfile, multi-stage сборка, Docker Compose и подготовка образа к продакшену. CX Codex +1 523установок nextjs-deployment giuseppe-trisciuoglio Готовит конфигурацию для деплоя Next.js в продакшен. Настраивает многоэтапный Dockerfile, CI/CD через GitHub Actions, мониторинг OpenTelemetry и проверку работоспособности сервиса. CX Codex +1 3 700установок senior-fullstack borghei Разворачивает каркасы веб-проектов на Next.js, FastAPI, Django или MERN и запускает статический аудит кодовой базы. Пригодится на старте сервиса или при ревизии качества кода. CX Codex +1 311установок

Рядом в теме «Бэкенд и API»

Всё по теме «Бэкенд и API» →

Вопросы о detecting-port-conflicts

Как установить detecting-port-conflicts в Claude Code?

Выполните в терминале команду npx skills add spencerpauly/awesome-cursor-skills --skill detecting-port-conflicts -a claude-code.

Что делает скилл detecting-port-conflicts?

Он перехватывает ошибки занятых портов, находит PID мешающего процесса через lsof и предлагает снять задачу или перенести сервер на соседний порт.

Что делать, если lsof не показывает блокирующий процесс?

Порт может находиться в состоянии TIME_WAIT. Подождите 30 секунд, пока операционная система освободит сокет, либо запустите сервер на следующем свободном порту.

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

SKILL.md · CC0-1.0
---
name: detecting-port-conflicts
description: Detect EADDRINUSE and port conflicts, find what's using the port, and resolve it by killing the process or suggesting an alternative port.
user-invocable: true
---

# Detecting Port Conflicts

When a dev server fails to start because a port is already in use, diagnose and resolve it.

## Detection

Scan terminal output for these patterns:
- `EADDRINUSE`
- `address already in use`
- `Port XXXX is already in use`
- `bind: address already in use`
- `OSError: [Errno 98] Address already in use`

Extract the port number from the error message.

## Diagnosis

Find what's using the port:

```bash
lsof -i :<PORT> -P -n
```

This shows the PID, process name, and user. Common culprits:
- A previous dev server that didn't shut down cleanly
- Another project's dev server
- A Docker container
- A system service

## Resolution Options

### Option 1: Kill the blocking process

```bash
kill <PID>
# If it doesn't stop:
kill -9 <PID>
```

Then restart the original server.

### Option 2: Use a different port

Suggest the next available port:

```bash
# Check if port+1 is free
lsof -i :<PORT+1> -P -n
```

Update the dev server config or start command:
- Next.js: `next dev -p <PORT>`
- Vite: `vite --port <PORT>`
- Express: set `PORT` env var
- Django: `python manage.py runserver <PORT>`

### Option 3: Kill all node processes (nuclear option)

```bash
killall node
```

Only suggest this if the user confirms — it kills everything.

## Tips

- On macOS, ports below 1024 require root
- Docker containers bind ports that persist even if the container is stopped — check `docker ps`
- If `lsof` shows nothing, the port may be in TIME_WAIT state — just wait 30 seconds or use a different port

© spencerpauly · CC0-1.0 · spencerpauly/awesome-cursor-skills

Смотрите также

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

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