← Plugin catalog
HA
Developer ToolsHarbormaster
Dimitri Stefanopoulos v0.1.2
Follow this plugin to keep it in your list and review observed changes. Free account · Up to 10 plugins · No card required.
What changed
Observed changes, with before-and-after evidence
Metadata · Oct 9, 2026 · 00:06 UTC · Compared with Sep 30, 2026 · 23:15 UTC
WHAT CHANGED · RULE-BASED ANALYSISPackage or technical metadata updated
Discoverability changed from “UNLISTED” to “LISTED”.
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Short excerpts from up to four changed fields. Open the full comparison for all changes.
Discoverability
BeforeSep 30, 2026 · 23:15 UTC
UNLISTED
AfterOct 9, 2026 · 00:06 UTC
LISTED
Share url
BeforeSep 30, 2026 · 23:15 UTC
Not present
AfterOct 9, 2026 · 00:06 UTC
https://chatgpt.com/plugins/plugins_6a8dd25bd85c8191ae85385507b9fd40?open_in_app
Metadata: full comparison →Listing: full comparison →
Publisher description
From the marketplace listing
Harbormaster runs in a local Codex task on the computer you want to inspect. It maps listening ports to their processes and projects, flags reservation collisions, records vanished services, and safely stops one explicitly selected process. Hosted ChatGPT cannot access your computer's process table.
Language: English · Automatically detected from descriptions.
Publisher keywords
Search terms declared by the publisher.
Matches for “HR”
Exact text from the indicated source. A mention alone does not establish support for your task.
Publisher description
Inspect local port owners through Codex, prevent collisions, and stop one selected process safely.
Files & skills
Skill instructions
harbormaster3.59 KB
View saved version →
---
name: harbormaster
description: Diagnose local port collisions, identify the project or process holding a port, reserve ports, inspect service history, or safely free exactly one explicitly authorized local listener. Use for localhost conflicts, vanished dev servers, port ownership, reservations, and anti-killall process control.
---
# Harbormaster
Harbormaster is the anti-killall. It inspects local listeners, attributes them to projects, records service appearances and disappearances, and can free exactly one explicitly selected port.
## Surface gate
Before running any bundled command, confirm that this is a **local Codex task running on the computer whose ports the user wants to inspect**.
- In a supported local Codex task, say that Harbormaster will inspect the current computer, then begin with the smallest read-only command that answers the request.
- In ChatGPT, Codex cloud, or any other hosted or remote sandbox, do **not** run the bundled engine and do not describe sandbox listeners as the user's local ports.
- On an unsupported surface, explain: "Harbormaster inspects ports through a local Codex task on the computer you want to inspect. Hosted ChatGPT cannot see that computer's process table. Open Harbormaster in Codex on that machine and repeat your request."
- If the execution surface is ambiguous, state the requirement and ask the user to open the request in local Codex. Never infer that zero sandbox listeners means the user's computer has no listening ports.
## Locate the bundled engine
Use the plugin's bundled `../../scripts/harbormaster.py` relative to this skill directory. Resolve it to an absolute path before running it. Do not assume a separately installed `ports` command exists.
## Read first
Start with the smallest read-only command that answers the request:
- Harbor overview: `python3 <script> list`
- Development listeners only: `python3 <script> list --dev`
- Exact owner, agent-safe output: `python3 <script> who <port> --json --safe`
- Reservations and collisions: `python3 <script> reservations`
- Flight recorder: `python3 <script> history [port]`
- Setup diagnosis: `python3 <script> doctor`
Prefer `who <port> --json --safe` for Codex reasoning. Do not reveal full command lines or filesystem paths unless the user explicitly requests those details and they are necessary.
## Mutations are explicit
- Reserve only when the user asks: `python3 <script> reserve <port> <project> [--note ...]`.
- Remove a reservation only when the user asks: `python3 <script> unreserve <port>`.
- Before freeing a port, always run `who <port> --json --safe` and verify there is exactly one attributable holder.
- Explain which project and process will stop, then require explicit authorization to free it.
- Use interactive `free <port>` by default. Never add `-y` or `--force` unless the user explicitly asks for that exact override after seeing the owner evidence.
- If ownership is unknown, multiple holders exist, or the target looks like a system service, stop. Never guess.
- Never use `killall`, broad process-name termination, recursive cleanup, or unrelated service restarts.
## Dashboard
Launch `serve` only when the user asks for the dashboard. Keep it loopback-only (`127.0.0.1`) and report the local URL. Do not expose it to the network.
## Safety and privacy
- Treat command arguments and filesystem paths as potentially sensitive.
- Keep history and reservations local in `~/.harbormaster`.
- Do not copy or publish local process inventories.
- A vanished-service event is evidence that a listener disappeared, not proof of a crash.
- Report observation, inference, and recommended action separately.
Package details
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
- Package license
- LicenseRef-Harbormaster-1.0
- Package author
- Dimitri Stefanopoulos
- Keywords
- See publisher keywords
Declared capabilities
- Codex-local port intelligence
- Collision prevention
- Safe process control
Package observed Oct 10, 2026.
Technical details
- First seen
- Sep 30, 2026 · 22:02 UTC
- Last seen
- Oct 10, 2026 · 18:00 UTC
- Collection status
- Collected
plugins_6a8dd25bd85c8191ae85385507b9fd40
Download plugin data (JSON)
Before you connect Harbormaster
How do I connect it?
Open the publisher's marketplace listing to check current availability and follow its connection instructions. This directory does not install plugins. Check the requested access and any account requirements before connecting.
Check marketplace availability ↗
Does it require paid access?
We have not established the pricing or subscription requirements for this plugin. An absent price does not mean free access.
Compare researched pricing and access models →
How can I evaluate it?
Check the declared skills and available files, then try a small task whose result you can verify. Our archived descriptions and instructions establish publisher claims, not tested runtime quality. Review sources and coverage limits.