Agent skill · yonatangross

page-serve

Hand a human a rendered HTML page at a stable HTTPS URL. Registers a portless route for a file or directory (https://NAME.localhost/, never a :port), prints the URL, optionally screenshots it through agent-browser, and tears it down on stop. Use whenever an agent has produced a page a human is meant to open: glyph explainers, playgrounds, decision pages, visualize-plan output, a docs preview. Replaces the ad hoc python http.server plus hand-typed alias pattern that leaves servers alive across sessions.

What it needs

About 3k tokens when loaded.

What this skill does

page-serve, give a human a URL An agent that renders a page for a human needs a way to hand it over. The pattern that grew in sessions was python3 -m http.server 8991 plus portless alias <name> 8991 typed by hand: no record of the process, no stop, servers outliving the session, and one measured night (2026-09-06) where the same session did it twice and the server was still up the next morning. This skill is that pattern with a state file, a stop, a status, and a loud failure when the URL contract cannot be met. The contract The URL is https://<name>.localhost/<file>. No port, ever. portless's 443 service owns the port; a :1355 or :8991 in the URL is the pre-service fallback and the skill refuses rather than emit one. One static server per name, on a free loopback port, rooted at the file's directory (so sibling assets resolve) or at the directory you pass. State in .claude/state/page-serve/<name>.json: root, file, port, pid, url, time. status re-measures pid, route, and HTTP on every call; it never trusts the file. Idempotent per name: same name + same root reuses the live server; a different root replaces it; --force on the alias overrides a stale route with the same name. Usage serve.sh prints url=, name=, port=, pid=, http=, optional screenshot=, and the exact stop= line to paste. Put the url= line in your reply's Open section. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills yonatangross/page-serve--f6991c

View the source on GitHub

Browse the @skills marketplace