---
name: my.port
description: 指定されたポート番号の使用状況を確認し、空きポートを検索します。3000・4000・5000番台の推奨ポートから開発用に安全なポートを提案し、必要に応じてプロセスを終了できます。
compatibility: |
  - macOS/Linux環境（`lsof`コマンド）またはWindowsの `netstat` コマンド
---

<!-- markdownlint-disable MD041 MD040 -->

# my:port

## 概要

ポート番号の使用状況を確認・管理し、開発用に推奨される空きポートを検索するスキルです。

## いつ使うか

- 特定のポート番号が使用中か確認したい
- 開発用に空いているポートを探したい
- ポート競合を解決したい
- 使用中のプロセスを確認・終了したい

## 使用方法

```text
/my:port [ポート番号]
```

### パラメータ

- **ポート番号未指定**: 3000・4000・5000番台の空きポートを検索
- **ポート番号指定**: そのポートの使用状況を確認

## 実行フロー

### ケース1: 特定のポート番号を確認

1. ポート番号の使用状況を確認
2. 使用中の場合はプロセス情報を表示
   - PID、プロセス名、プロジェクト名、コマンド、ユーザー
3. プロセス終了の確認（ユーザーに確認を取る）
4. 空きポートの提案

### ケース2: 空きポートを検索

1. 3000番台の空きポートを検索（上位10件）
2. 4000番台の空きポートを検索（上位10件）
3. 5000番台の空きポートを検索（上位10件）
4. 使用中のポートはプロジェクト名も表示
5. 結果をまとめて表示

## ポート推奨範囲

- **3000番台**: Next.js・React開発サーバーなどでよく使用
- **4000番台**: 開発用 API サーバーなどで使用
- **5000番台**: 追加の開発サーバーやマイクロサービスで使用

## プロセス終了のルール

**重要**: 以下のルールを厳密に守る

- ユーザーが「いいえ」「キャンセル」「やめる」など拒否 → プロセスを終了しない
- ユーザーが曖昧な返答 → 明確な承認を求める
- ユーザーが「はい」「終了して」「OK」など明示的に承認 → プロセスを終了

## 出力例

```text
【ポート番号確認結果】

ポート番号: 3000
状態: 使用中

使用中のプロセス情報:
- PID: 12345
- プロセス名: ruby
- プロジェクト名: my-project
- コマンド: /usr/local/bin/ruby
- ユーザー: username

このプロセスを終了しますか？
```

## 注意事項

- 一部のポート情報取得には管理者権限が必要な場合があります
- ポートの使用状況は動的に変化します
- 1024番以下のポートはシステムポートとして予約されています
- プロセス終了時はアプリケーションが停止します
