Install
$ agentstack add skill-usetemi-skills-tailscale ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Tailscale Platform
Use this skill for any Tailscale work, from local development connectivity to production tailnet architecture and incident diagnostics.
Tailscale changes quickly. Ground version-sensitive advice in the local CLI and current official docs before making claims about flags, policy syntax, product limits, or Kubernetes CRDs.
First Steps
- Infer posture from context.
- For personal tailnets, MVPs, local dev, demos, and scrappy startup work,
give the fastest viable path first.
- For organizations, production, shared tailnets, sensitive systems, or
compliance contexts, use secure-first defaults.
- If the context is unclear and the posture changes commands, exposure, key
handling, or access policy, ask before changing state.
- Inspect local project and system context before prescribing commands.
``bash rg --files -g 'tailnet*.json' -g '*tailscale*' -g 'acl.hujson' -g 'policy.hujson' -g 'docker-compose*.yml' -g 'Dockerfile*' -g '.github/workflows/**' -g 'k8s/**' -g 'helm/**' command -v tailscale tailscale version tailscale --help tailscale --help ``
- Prefer read-only checks first unless the user explicitly asks to mutate local
Tailscale state, tailnet policy, Kubernetes resources, or remote resources.
``bash tailscale status tailscale status --json tailscale netcheck tailscale ping tailscale dns status tailscale serve status tailscale funnel status ``
- Use official Tailscale docs as the source of truth. Third-party posts can
help discover issues, but do not encode them as facts unless confirmed by official docs or the current CLI.
Reference Routing
- Read
references/policy-security.mdfor grants vs ACLs, policy HuJSON,
tags, groups, tests, sshTests, Tailscale SSH, device posture, app capabilities, Funnel nodeAttrs, and Tailnet Lock cautions.
- Read
references/routing-connectors.mdfor subnet routers, exit nodes, app
connectors, MagicDNS, split DNS, route injection, HA/failover, regional routing, DERP/direct diagnostics, tailscale netcheck, tailscale ping, and tailscale status.
- Read
references/expose-services.mdfor Tailscale Serve, Funnel, Tailscale
Services, TailVIPs, HTTPS certs, identity headers, app capabilities headers, service config files, drain/advertise flows, TCP/TLS forwarding, and public exposure gotchas.
- Read
references/automation-containers.mdfor auth keys, OAuth clients,
workload identity federation, ephemeral nodes, GitHub Actions, Docker, userspace networking, serverless patterns, tsnet, API usage, and GitOps policy workflows.
- Read
references/kubernetes.mdfor the Tailscale Kubernetes Operator,
tags/OAuth prerequisites, ingress, egress, API server proxy, Connector, ProxyGroup, ProxyClass, Recorder, subnet routers, app connectors, version compatibility, and CNI notes.
- Read
references/production-diagnostics.mdfor production review checklists,
least privilege, key expiry, device approval, logs, network flow logs, audit logs, webhooks/log streaming, update policy, incident diagnostics, and safe read-only commands.
Defaults
- For new access policy, prefer grants. Use legacy ACLs only when maintaining an
existing ACL-only policy or when the needed behavior is not yet expressible in grants.
- Treat
tailscale upflags as a complete desired state. To change one
preference, prefer tailscale set when available.
- Keep route advertisement, route approval, client route acceptance, and access
policy separate in explanations. Routing makes paths reachable; policy decides who may connect.
- Treat auth keys, OAuth client secrets, and generated auth keys as secrets.
Prefer tagged, ephemeral, short-lived, scoped automation identities.
- For public exposure, make the Serve vs Funnel boundary explicit: Serve is
tailnet-private; Funnel is internet-public.
- Use dry runs, status commands, policy tests, and local config inspection
before changing production tailnets.
Gotchas To Surface Early
tailscale upwith flags requires the complete set of desired settings; an
omitted setting can trigger an error or reset only with --reset.
- Grants are preferred for new policy, but existing tailnets may still use ACLs.
- Subnet routes, exit-node routing, app connector route injection, and access
rules are separate control layers.
- Serve and Funnel cannot both own the same node, DNS name, and port combination
as private and public exposure at the same time.
- Auth keys expire; connector or automation key expiry can fail closed.
- MagicDNS and split DNS behavior depends on resolver setup and platform DNS
integration.
- DERP relay use is a performance and reachability fallback, not plaintext
traffic. Tailscale traffic remains WireGuard-encrypted between nodes.
Output Style
When answering Tailscale tasks, include:
- The fastest viable path.
- The security hardening path when relevant.
- Exact commands, policy shape, Kubernetes manifests, or API calls.
- The gotchas checked and any remaining risk.
Downrank dashboard-only instructions, stale CLI flags, broad tailnet access, and long-lived reusable keys unless the user explicitly asks for them.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: usetemi
- Source: usetemi/skills
- License: MIT
- Homepage: https://usetemi.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.