---
name: remote-control-hub-builder
description: Build or customize a private Electron remote desktop hub that shows a user's online computers and launches secure remote-control sessions through Tailscale plus native clients such as macOS Screen Sharing, Windows RDP, SSH, or web consoles. Use when the user asks to create, rebuild, package, share, or install a personal remote-control/remote-desktop launcher app, or asks for setup instructions for Tailscale-backed remote access.
---


# Remote Control Hub Builder

## Purpose

Build a private remote-control launcher app from the bundled Electron template. The app discovers Tailscale peers, supports manual private targets, and opens the correct native client for Mac Screen Sharing, Windows RDP, SSH, or a web console.

This skill does not build a custom low-level screen streaming protocol. It intentionally uses Tailscale for private networking and mature OS-native remote-control clients for the actual session.

## Privacy Rules

- Never hard-code or publish the user's Tailscale IPs, MagicDNS names, tailnet name, usernames, passwords, API keys, tokens, screenshots, or local device list.
- Before packaging a shareable artifact, scan it for private identifiers and secrets.
- Keep credentials in the native remote client prompt. Do not add password storage unless the user explicitly asks and a secure storage mechanism is implemented.
- Do not recommend public port forwarding for RDP, VNC, or SSH.

## Quick Build

Use the scaffold script when starting from the skill template:

```bash
python3 /path/to/remote-control-hub-builder/scripts/create_remote_hub.py \
  --target ~/RemoteControlHub \
  --name "Remote Control Hub" \
  --build
```

On macOS, install the built app into `/Applications`:

```bash
python3 /path/to/remote-control-hub-builder/scripts/create_remote_hub.py \
  --target ~/RemoteControlHub \
  --name "Remote Control Hub" \
  --force \
  --install-mac
```

For development after scaffolding:

```bash
cd ~/RemoteControlHub
npm install
npm start
```

## Template Contents

- `assets/app-template/` - Electron source app.
- `scripts/create_remote_hub.py` - copy, patch, install dependencies, build, and optionally install the macOS app.
- `references/setup-guide.md` - Tailscale and host-machine setup instructions. Read it when the user asks what to do on their Mac, Windows PC, or Linux box.

## Customization Workflow

1. Scaffold the template to a normal project directory with `scripts/create_remote_hub.py`.
2. Patch the generated Electron app in that project, not the skill template, unless the user is improving the reusable skill itself.
3. Keep the app Mac-first unless the user explicitly requests broader controller-platform support.
4. Preserve the native-client model:
   - macOS hosts: open `vnc://...` for Screen Sharing.
   - Windows Pro hosts: generate/open `.rdp` files.
   - Linux hosts: launch SSH or a configured web/VNC target.
5. Package macOS builds with Electron Builder using the host architecture. Use ad-hoc codesigning for local installs if macOS requires it.

## Setup Guidance

When the user asks how to make their devices appear or connect, read `references/setup-guide.md` and walk them through only the relevant host OS. Keep the answer generic and avoid repeating any discovered private Tailscale values.

## Pre-Share Scan

Before zipping, publishing, or handing off the skill:

```bash
rg -i --hidden --glob '!node_modules/**' --glob '!dist/**' \
  'tailscale\\.com|tailnet|[0-9]{1,3}(\\.[0-9]{1,3}){3}|api[_-]?key|token|secret|password|\\.ts\\.net' \
  /path/to/remote-control-hub-builder
```

Expected hits should be generic documentation or code patterns only. Remove any real device names, real IPs, screenshots, logs, `.env` files, `node_modules`, and built `dist` artifacts from the shared package.
