tailscale-localsend
Tailscale + LocalSend Peer Discovery
Best use case
tailscale-localsend is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Tailscale + LocalSend Peer Discovery
Teams using tailscale-localsend should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/tailscale-localsend/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How tailscale-localsend Compares
| Feature / Agent | tailscale-localsend | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Tailscale + LocalSend Peer Discovery
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Tailscale + LocalSend Peer Discovery
Discover peers via Tailscale mesh and exchange files via LocalSend protocol.
## Architecture
```
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Tailscale API │────▶│ Peer Discovery │────▶│ LocalSend API │
│ (mesh network) │ │ (propagator) │ │ (file xfer) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
```
## Discovery Flow
1. **Tailscale Status**: `tailscale status --json` → get mesh peers
2. **LocalSend Probe**: UDP multicast 224.0.0.167:53317 → find localsend-enabled peers
3. **Intersection**: Peers on both networks get deterministic Gay.jl colors
## Usage
```bash
# Discover peers on tailscale with localsend
just ts-localsend-discover
# Send file to peer
just ts-localsend-send <peer> <file>
# Receive mode
just ts-localsend-receive
```
## Python API
```python
from tailscale_localsend import TailscaleLocalSend
tls = TailscaleLocalSend(seed=0x6761795f636f6c6f)
# Discover peers
peers = tls.discover()
# [{'name': 'macbook', 'tailscale_ip': '100.x.x.x', 'localsend_port': 53317, 'color': '#A855F7'}]
# Send file
tls.send(peer='macbook', file='data.json')
# Receive (blocking)
tls.receive(callback=lambda f: print(f"Got {f}"))
```
## Protocol Details
### Tailscale Discovery
- Uses `tailscale status --json` for mesh peers
- Extracts TailscaleIPs for each peer
- Falls back to Tailscale API if CLI unavailable
### LocalSend Protocol
- **Multicast**: 224.0.0.167:53317 (UDP)
- **Announce**: JSON with alias, fingerprint, port
- **Transfer**: REST API over HTTPS
- `POST /api/localsend/v2/prepare-upload`
- `POST /api/localsend/v2/upload?sessionId=...`
### Color Assignment
Each peer gets deterministic color from Gay.jl:
```python
peer_color = gay_color_at(hash(peer_fingerprint) % 1000, seed=GAY_SEED)
```
## Integration with epistemic-arbitrage
```python
from epistemic_arbitrage import ArbitrageNetwork
network = ArbitrageNetwork(seed=1069)
for peer in tls.discover():
network.add_cell(peer['name'], knowledge=peer.get('files', 0))
# Propagate knowledge between peers
network.add_propagator(:peer_sync, sources, targets)
network.run_parallel(n_workers=len(peers))
```
## Commands
```bash
just ts-peers # List tailscale peers
just ls-peers # List localsend peers
just ts-ls-bridge # Bridge both networks
```
Base directory: ~/.codex/skills/tailscale-localsend
## Scientific Skill Interleaving
This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
### Graph Theory
- **networkx** [○] via bicomodule
- Universal graph hub
### Bibliography References
- `distributed-systems`: 3 citations in bib.duckdb
## Cat# Integration
This skill maps to **Cat# = Comod(P)** as a bicomodule in the equipment structure:
```
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826
```
### GF(3) Naturality
The skill participates in triads satisfying:
```
(-1) + (0) + (+1) ≡ 0 (mod 3)
```
This ensures compositional coherence in the Cat# equipment structure.Related Skills
tailscale
Mesh VPN.
tailscale-mesh
Tailscale mesh VPN for secure peer-to-peer networking. WireGuard-based overlay network with MagicDNS and ACLs.
localsend-analysis
Analyze LocalSend repos with tree-sitter tags, gh GraphQL contributor snapshots, and protocol safety notes.
deploying-tailscale-for-zero-trust-vpn
Deploy and configure Tailscale as a WireGuard-based zero trust mesh VPN with identity-aware access controls, ACLs, and exit nodes for secure peer-to-peer connectivity.
localsend-mcp
P2P file transfer with mutual discovery, voice announcements, and redundant connection methods
tailscale-file-transfer
Tailscale mesh VPN file transfer with open games semantics (play/coplay) and bidirectional lens optics
zx-calculus
Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)
zulip-cogen
Zulip Cogen Skill 🐸⚡
zls-integration
zls-integration skill
zig
zig skill
zig-syrup-bci
Multimodal BCI pipeline in Zig: DSI-24 EEG, fNIRS mBLL, eye tracking IVT, LSL sync, EDF read/write, GF(3) conservation
zig-programming
zig-programming skill