Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/yonatangross/orchestkit/portlessnpx skills add yonatangross/orchestkit --skill portlessgit clone --depth 1 https://github.com/yonatangross/orchestkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/yonatangross/orchestkit/portless)<a href="https://agentmods.dev/skills/yonatangross/orchestkit/portless"><img src="https://agentmods.dev/badge/skills/yonatangross/orchestkit/portless.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00091 | $0.02603 |
| Opus 5 | $0.00046 | $0.01301 |
| Sonnet 5 | $0.00018 | $0.00521 |
| Haiku 4.5 | $0.00009 | $0.00260 |
Grade A, and why
portless scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 194 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Portless Integration
Named .localhost URLs for local development. Replaces localhost:3000 with https://myapp.localhost.
Full CLI reference: Load
Read("${CLAUDE_PLUGIN_ROOT}/skills/portless/references/upstream.md")for complete command docs.
New in 2026-04 → 2026-07 (portless 0.10.x → 0.15.0)
portless doctor(0.15.0) — read-only diagnostics that check Node.js, the state directory, proxy liveness, route entries, hostname resolution, HTTPS CA trust, and LAN prerequisites, then print suggested fixes. Run it before filing an issue or when a.localhostURL won't resolve.- HTTP/2 Host forwarding fix (0.15.0) — the proxy now forwards the HTTP/2
:authorityasHostto HTTP/1.1 backends, fixing apps that readHostand previously saw127.0.0.1for browser traffic.--forcetakeover cleanup now removes only routes still owned by the exiting process, so a forced takeover no longer deregisters the new owner's route. --ngrokflag (0.14.0) — share an app publicly via ngrok while local access keeps its.localhostURL. Pair with the existing Tailscale/Funnel options when you need a public URL without giving up the named-subdomain dev experience.- Node.js 24+ required (0.13.1, BREAKING) — the proxy and CLI now require Node.js 24 or newer; older runtimes are unsupported. This release also hardens startup-service persistence so
.localhostURLs survive reboot reliably. - State directory moved to
~/.portless(0.11, BREAKING) — state relocated from scattered/temp locations to~/.portless; override withPORTLESS_STATE_DIR. Old state from pre-0.11 installs is not migrated automatically. - OS startup service (0.13.0) —
portless service install/service status/service uninstallregister a native startup service for the HTTPS proxy across macOS launchd, Linux systemd, and Windows Task Scheduler..localhostURLs survive reboot without a manualportless proxy start.portless cleanremoves the service alongside CA + hosts cleanup. - Tailscale readiness preflight (0.13.0) —
--tailscaleand--funnelnow validate Tailscale HTTPS + Funnel prerequisites before starting the child process, surfacing actionable errors instead of hanging during registration. - Tailscale integration (0.12.0) —
--tailscaleshares your app over your tailnet with automatic HTTPS on port 443;--funnelexposes it publicly via Tailscale Funnel. Apps receivePORTLESS_TAILSCALE_URLso they can reference their own public address.portless listnow shows tailnet URLs. - Zero-config mode (0.11.0) — bare
portlessauto-discovers dev scripts frompackage.json. Multi-app monorepos get automatic subdomain assignment; Turborepo task-graph integration is wired in.portless.jsonconfig file supported.--scriptoverrides the default "dev" script. portless prune— removes orphaned dev servers and stale Tailscale registrations.portless clean(extended) — now also tears down Tailscale registrations alongside CA + hosts cleanup.- Rsbuild + VitePlus auto-port injection — same auto-wiring as Vite/Next.
- State directory moved to
~/.portless(was scattered). - HTTPS on 443 by default (breaking from 0.9.x http:1355). Valid cert, no setup.
--no-tlsreverts. NODE_EXTRA_CA_CERTSauto-injected (0.10.2) into child processes — node HTTPS calls trust portless CA with zero setup.--wildcardsubdomains —https://*.myapp.localhostfor multi-tenant / preview routing.portless alias <name> <port>— map a docker-compose / emulate port to a named URL without a long-runningrunprocess.portless clean— full teardown: stops proxy, removes CA, wipes state, cleans/etc/hosts.--lanmode — mDNS.localhostnames reachable across wifi (phone, tablet, other machines) without router config.- Fixed app ports —
--app-port 3000/PORTLESS_APP_PORTfor tools that need a known port (debuggers, docker). - hosts-sync on by default for Safari compat (disable with
PORTLESS_SYNC_HOSTS=0). - HTTP/2 HMR fixes for Vite/VitePlus/Next.js dev — websocket upgrades no longer break under h2.
- Expo / React Native support —
portless run expo startgives Metro a stable URL for device QR codes.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 194 lines · 91 tokens per session scan A e354d87c9eae
portless is a skill published in the GitHub repository yonatangross/orchestkit (228 stars, last pushed yesterday), licensed MIT. It adds 91 tokens to every session and 2,603 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other skills, from other repositories
dawn
Build AI agents and workflows with the Dawn framework — the TypeScript meta-framework for LangGraph. Use when creating, editing, or debugging a Dawn app (routes, tools, state, agents, workflows, testing, deployment).
cis-aws-database-11.4
Ensure Data in Transit is Encrypted.
Agent Workflow Builder
Build multi-agent AI workflows with orchestration, tool use, and state management.
LangGraph State Machine Designer
Converts a workflow description into a LangGraph node/edge graph with typed state, conditional routing, and human-in-the-loop checkpoints.
chinese-code-review
中文 review 沟通参考——话术模板、分级标注(必须修复/建议修改/仅供参考)、国内团队常见反模式应对。仅在用户显式 /chinese-code-review 时调用,不要根据上下文自动触发。.
chinese-commit-conventions
中文 commit 与 changelog 配置参考——Conventional Commits 中文适配、commitlint/husky/commitizen 中文模板、conventional-changelog 中文配置。仅在用户显式 /chinese-commit-conventions 时调用,不要根据上下文自动触发。.