Skip to content
Back to skills

Port Verify

ASecurity

The finish line for a ReversePort port — run port_verify, fix leftovers, missing functions and signals, PORT markers and partial units, then hand over with clear run instructions and an honest list of what still needs a human. Use before calling any port done or when the user asks whether the port is complete.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 13, 2026
ai-agentsapi

Works with

  • api

Security analysis

A100/100

Scanned October 13, 2026

npx -y skills add laaielichter/reverseport --skill port-verify --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Port Verify?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Port Verify
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/laaielichter-port-verify/badge)](https://www.skillsdirectory.com/skills/laaielichter-port-verify)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: port-verify
description: The finish line for a ReversePort port — run port_verify, fix leftovers, missing functions and signals, PORT markers and partial units, then hand over with clear run instructions and an honest list of what still needs a human. Use before calling any port done or when the user asks whether the port is complete.
---

# Verify a port — nothing is "done" before it passes

```text
port_verify {planId}
```

`passed:true` requires: every unit done or deliberately skipped, no missing output files, no source-engine API
left in ported code (`leftovers`), every source function and signal present in the port (`missingSymbols`; lifecycle
renames like `_ready` → `Awake` are understood), and no units marked partial.

## Fix loop

| Finding                                     | Fix                                                                                                               |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `not ported yet`                            | `port_unit {planId, unit}` and port it, or `port_write {status:"skipped", notes}` with a reason the user accepts. |
| `source-engine API left in the port`        | Replace each listed pattern with the `use` it names, `port_write` again.                                          |
| `functions/signals not found`               | Port them, or rename to the matching idiom. If the function truly became unnecessary, say why in notes.           |
| `lifecycle callbacks without a counterpart` | Fine when the work moved (e.g. connections replaced by OnTriggerEnter) — check it did.                            |
| `marked partial`                            | Finish it or explain what is missing and who needs to do it.                                                      |
| `PORT:` markers                             | Each is an open item: resolve it or list it in the hand-over.                                                     |

Run `port_verify` again until it passes (or the remaining items are explained to the user).

## Hand-over (short and factual)

- Where the output is and how to open/run it in the target engine.
- What converted automatically, what you ported by hand, what was skipped and why.
- Open items: PORT markers, partial units, assets to re-import (models, materials, animations), settings to recreate
  (input actions, tags, layers), and tuning to check in play (physics rates, speeds after unit conversion).
- Never claim it compiles or plays the same unless you ran it in the target engine.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.