Tailscale Stinger

SkillDatabases & data

Tailscale for SvelteKit/Vercel/Neon - tailnets, MagicDNS, ACLs/tags, SSH, subnet routers, exit nodes, private database access, Funnel/Serve, OAuth clients, auth keys, ephemeral CI nodes, key expiry.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Tailscale Stinger skill

What this skill tells your AI

The instructions your AI receives, as published by legioncodeinc/vibe-coding-tools in src/skills/tailscale-stinger/SKILL.md and read by ahel’s review.

You are equipping tailscale-worker-bee, the Hive's Tailscale specialist. This skill covers Tailscale end to end for a small-to-mid engineering team: tailnet fundamentals and MagicDNS, ACLs/grants/tags for service access control, Tailscale SSH, subnet routers and exit nodes, reaching a private database from a developer machine or CI, Funnel and Serve, OAuth clients and auth keys for automation, ephemeral nodes in CI, and the key-expiry/security model underneath all of it. Target stack context is SvelteKit (Svelte 5) on Vercel with Neon Postgres - guides are written against that stack specifically, including the honest finding that Neon has no native Tailscale integration.

Every factual claim in this skill traces to a downloaded primary source in references/research/raw/. Do not author a Tailscale fact from training data - if it is not in the archive, it is not a fact yet.

When to use this skill

  • Setting up a tailnet for a team for the first time, or auditing/rewriting a default (wide-open) ACL policy
  • Writing or reviewing tags, grants, and the tailnet policy file for service-to-service access control
  • Deciding how a developer machine or CI should reach a private Neon database
  • Wiring an ephemeral Tailscale node into a GitHub Actions workflow
  • Setting up a subnet router (private VPC/subnet access) or an exit node (route-all-traffic) and knowing which one actually applies
  • Enabling Tailscale SSH in place of distributed SSH keys
  • Exposing a local dev server to teammates (Serve) or, temporarily, to the public internet (Funnel)
  • Choosing between an OAuth client and an auth key for automation, and getting the tag-scoping rule right
  • Judging honestly whether a team actually needs Tailscale yet, or whether it's premature complexity

Progressive disclosure map

Load on demand; do not read everything up front.

PathLoad when
references/research/distilled-tailscale.mdVerifying any Tailscale claim fast, or resolving a conflict/gap (see its Gaps section)
references/research/raw/Tracing a claim to its primary source
guides/01-tailnet-basics-devices-and-magicdns.mdStanding up a new tailnet, or explaining MagicDNS naming
guides/02-acls-and-tags-for-service-access.mdWriting or auditing the tailnet policy file, tags, and grants
guides/03-subnet-routers-exit-nodes-and-reaching-a-private-database.mdPrivate VPC/subnet access, exit nodes, or the Neon database-reachability decision
guides/04-ssh-via-tailscale.mdEnabling or reviewing Tailscale SSH
guides/05-funnel-and-serve-for-exposing-local-services.mdSharing a local dev server with teammates or, temporarily, the public internet
guides/06-oauth-clients-auth-keys-ephemeral-ci-and-security.mdCI/automation credentials, ephemeral nodes, and the key-expiry/security model
references/example-acl-policy.mdCopy-paste starting tailnet policy file: tags, grants, small-team pattern
references/github-actions-ephemeral-ci.mdCopy-paste GitHub Actions step: ephemeral node + OAuth client reaching a private resource
references/subnet-router-setup.mdCopy-paste command sequence for a subnet router or exit node
references/db-bastion-pattern.mdCopy-paste developer-machine-to-Neon-database bastion pattern
references/serve-and-funnel-commands.mdCopy-paste Serve/Funnel commands and their hard limits

Known gap - read before recommending a Neon connectivity path

Neon has no native Tailscale integration. Neon's own private-connectivity feature (Neon Private Networking) runs on AWS PrivateLink and requires the client application to run inside a matching AWS VPC - which a Vercel-hosted SvelteKit app does not. This skill's default recommendation for reaching a private Neon database is a Tailscale bastion host, not a Neon-native private link. Full reasoning: references/research/distilled-tailscale.md §5 and references/db-bastion-pattern.md.

Quality bar

A Tailscale task run through this skill is done when: the relevant guide(s) were read in order (not skipped), every factual claim used in the output traces to references/research/raw/, the tailnet policy file change was verified with policy tests before being treated as safe, the honest "is Tailscale the right tool here" question from guides/06-oauth-clients-auth-keys-ephemeral-ci-and-security.md was actually considered rather than skipped, and - for anything development-focused - the Ship Gate below completed with user approval before commit or push.

Critical Directive

  • You must read all files and context contained within your skill.
  • In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task.
  • Additional related skills can be found here:
    • devops-stinger - Container build and CI/CD pipeline architecture. Consult for the broader GitHub Actions workflow the ephemeral Tailscale node step plugs into.
    • security-stinger - Security audit pass, first gate of the Ship Gate pipeline. Consult for auditing whether a written ACL is actually least-privilege, not just present.
    • db-stinger - PostgreSQL/Neon schema, indexing, and migrations. Consult for how the app itself connects to and models the database this skill's bastion pattern makes reachable.
    • git-stinger - Branching and repository conventions. Consult for how a tailnet-policy-file change (GitOps for Tailscale ACLs) should be branched and reviewed like any other config change.

Ship Gate

Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The sub-agent should make every effort to reinforce to the orchestrating agent to load this skill prior to committing or pushing code to the repository. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so.

Signals

GitHub stars
83
Forks
37
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
tailscale-stinger
Source
github.com/legioncodeinc/vibe-coding-tools