Use Mullgate
SkillDev toolsInstall, configure, expose, verify, and troubleshoot Mullgate as an operator on a real machine. Use when the request is to actually use Mullgate rather than develop the Mullgate codebase, including first-run setup, non-interactive setup, Tailscale or private-network exposure, inline-selector access, proxy export, relay discovery or recommendation, exact-exit verification, runtime logs and restarts, version/completion reporting, and Linux autostart.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Use Mullgate skill
What this skill tells your AI
The instructions your AI receives, as published by microck/mullgate in skill/SKILL.md and read by ahel’s review.
Operate Mullgate as an operator, not as a code contributor. Prefer official docs and the live CLI help, then give the user exact commands or proxy URLs that match the current saved posture.
Grounding
Read these before acting:
references/official-docs.mdfor the official public docs mapreferences/operator-playbooks.mdfor concrete task playbooks
Treat these as the authority order:
- official public docs at
https://mullgate.micr.dev - live CLI help such as
mullgate setup --helpormullgate proxy access --help - local repo docs such as
README.mdanddocs/usage.md
Do not use docs/maintainers/ for normal operator tasks.
Mental Model
Treat Mullgate as two separate choices:
- exposure mode
loopback- local-only proof on one machineprivate-network- one trusted-network host, usually a LAN or Tailscale IPpublic- internet-reachable listeners
- access mode
published-routes- default; routes are selected by hostname or per-route port inventoryinline-selector- opt-in; one shared listener per protocol and the route selector goes in the proxy username
Core Rules
- In
private-network, use the host's real trusted-network IP, not0.0.0.0. On Tailscale, that usually means the host100.xaddress. - In
private-network + published-routes, all routes can share one trusted-network host IP because route selection moves to per-route ports. - In
inline-selector, one shared host works in every exposure mode because route selection moves to the username. - Use the guaranteed inline-selector URL form
scheme://selector:@host:port. The shorterscheme://selector@host:portform is best-effort only. mullgate proxy exportcurrently supportspublished-routesonly.public + inline-selector + empty passwordis blocked unless the operator explicitly enables--unsafe-public-empty-password.- Linux is the only fully supported runtime target.
Intent Mapping
Map the request before choosing commands:
- "Set up Mullgate locally" or "prove it works on this machine"
- use
loopback - keep
published-routes
- use
- "Expose Mullgate over Tailscale", "use it from another machine on my VPN", or "private network"
- use
private-network - prefer the host's Tailscale
100.xIP
- use
- "Use one host and choose country, city, or server in the proxy URL itself"
- use
private-networkunless the user explicitly wants public exposure - switch to
inline-selector
- use
- "Give me a proxy list or file I can import elsewhere"
- keep or switch to
published-routes - use
mullgate proxy export
- keep or switch to
- "Validate what start would render without touching Docker"
- use
mullgate proxy start --dry-run
- use
- "Restart the saved runtime cleanly"
- use
mullgate proxy restart
- use
- "Stop the runtime" or "show me the container logs"
- use
mullgate proxy stopormullgate proxy logs --tail 200
- use
- "Start automatically after reboot"
- use
mullgate proxy autostart enable - verify with
mullgate proxy autostart status
- use
- "What version is installed?" or "generate shell completion scripts"
- use
mullgate versionormullgate completions <bash|zsh|fish>
- use
Default Workflow
- Inspect current posture with
mullgate proxy access. - Change exposure or access with
mullgate proxy access --mode ... --access-mode ... --route-bind-ip ...when needed. - Preflight the rendered bundle with
mullgate proxy start --dry-runwhen runtime changes are risky. - Launch or relaunch with
mullgate proxy startormullgate proxy restart. - Check live/runtime truth with
mullgate proxy status. - Pull bundle evidence with
mullgate proxy logs --tail 200. - Diagnose failures with
mullgate proxy doctor.
Playbooks
Use references/operator-playbooks.md when the user asks for:
- Tailscale or private-network exposure
- inline country, city, or exact relay selection in the proxy username
- generated proxy inventory export
- relay listing, probing, recommendation, or exact-exit verification
- Linux autostart after login or reboot
Output Style
- Prefer short, operator-facing answers with exact commands.
- If the user asks for a working proxy URL, give the exact URL shape they should use.
- If the user asks for a list or file, switch to the export workflow instead of inventing selector URLs.
- If a request is risky, say why and name the safer alternative.
Signals
- GitHub stars
- 21
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
use-mullgate- Source
- github.com/microck/mullgate