tailshare

Publish static directories to HTTPS URLs on a Tailscale tailnet.

Updated Feb 6, 2026
One-click install
npx skills add https://github.com/kellymears/agents --skill tailshare-kellymears
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: tailshare
Source: https://github.com/kellymears/agents/tree/main/plugins/tailshare/skills/tailshare
Command: npx skills add https://github.com/kellymears/agents --skill tailshare-kellymears

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Sharing a local HTML report, demo, or build output usually means uploading to a hosting service or sending files around. This Skill publishes any local directory to a stable HTTPS URL on your Tailscale node's hostname using the tailshare CLI, so anyone on the tailnet can open it immediately. ## Core Features & Use Cases - Publish directories: Run tailshare publish --src <dir> --dist share/<path> to serve a directory and get back a URL like https://cachy.tail46c968.ts.net/share/<name>/. - List and remove shares: Use tailshare list to see published content with sizes and URLs, and tailshare rm share/<path> to unpublish. - Visibility checks: tailshare funnel status reveals whether shares are also exposed to the public internet, which matters before publishing anything sensitive. - Use Case: You generated a cost-estimate HTML report and want a teammate on the tailnet to review it. Wrap it as index.html in a scratch directory, publish to share/cake/cost-scaling-estimate, and relay the printed URL. ## Quick Start Publish my report directory to the tailnet with tailshare and give me the shareable URL.

Frequently Asked Questions about tailshare

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I publish a local HTML page to a shareable URL?▼

Place the file as index.html in its own directory, then run tailshare publish --src <dir> --dist share/<project>/<page>. The command prints the final HTTPS URL on your Tailscale hostname, which you relay to the user verbatim.

How do I list or remove existing tailshare shares?▼

Run tailshare list to see all published shares with sizes and URLs. Remove one with tailshare rm share/<path>, which is immediate and irreversible, so confirm with the user before deleting shares you did not create.

Can I publish a single file directly with tailshare?▼

No, --src must be a directory, never a file. To share a single page, copy it into a scratch directory as index.html first; tailshare copies the directory contents rather than symlinking them.

Are tailshare URLs visible on the public internet?▼

By default shares are reachable only by devices on the tailnet. If tailshare funnel status reports the Funnel is running, the same URLs are reachable by anyone on the internet, so never publish secrets or private data in that state.

Why does tailshare publish fail with a destination error?▼

The --dist argument must start with share/, otherwise it is rejected with "destination must be below share/". Use two levels like share/<project>/<page> so related pages group together in tailshare list.