skills/claude-skills-open/skills/infra/remote-access/SKILL.md
ttyd + Tailscale for mobile terminal access
npx skillsauth add aaaaqwq/agi-super-team remote-accessInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Access Claude Code from your phone via ttyd + Tailscale
| Tool | Purpose | |------|---------| | ttyd | Web terminal (browser access to shell) | | Tailscale | Private VPN network (secure connection) |
# Mac
brew install ttyd tailscale
On phone:
Tailscale via brew requires sudo for VPN tunnel. There are two options:
Download Tailscale from Mac App Store -- it has all permissions and persists the session.
# Check status
tailscale status
tailscale ip -4
If using brew version and no sudo:
# Stop brew service
brew services stop tailscale
# Start in userspace mode
/usr/local/opt/tailscale/bin/tailscaled --tun=userspace-networking --state=/tmp/tailscale.state --socket=/tmp/tailscaled.sock &
# Connect (NOTE: different socket!)
tailscale --socket=/tmp/tailscaled.sock up
# Check status
tailscale --socket=/tmp/tailscaled.sock status
tailscale --socket=/tmp/tailscaled.sock ip -4
Downsides of userspace mode:
--socket=/tmp/tailscaled.sock in every command# If Mac App Store version:
tailscale up
tailscale ip -4
# Example: 100.x.x.x
# If userspace mode:
tailscale --socket=/tmp/tailscaled.sock up
# Open the authorization URL in browser
tailscale --socket=/tmp/tailscaled.sock ip -4
On phone:
tailscale status# Stop if already running
pkill ttyd
# Basic launch
ttyd -W -p 7681 bash
# For Claude Code directly
ttyd -W -p 7681 claude
# With authorization (recommended for security)
ttyd -c user:password -W -p 7681 claude
Parameters:
-W -- allow write (input) -- REQUIRED-p 7681 -- port-c user:pass -- Basic AuthOn phone, open in browser:
http://<tailscale-ip>:7681
Example:
http://100.x.x.x:7681
# 1. Check/start Tailscale
tailscale status || tailscale up
TSIP=$(tailscale ip -4)
echo "Tailscale IP: $TSIP"
# 2. Start ttyd
pkill ttyd 2>/dev/null
ttyd -W -p 7681 bash &
# 3. Done!
echo "Open on phone: http://$TSIP:7681"
mkdir -p ~/Library/LaunchAgents
cat > ~/Library/LaunchAgents/com.ttyd.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.ttyd</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/ttyd</string>
<string>-W</string>
<string>-p</string>
<string>7681</string>
<string>bash</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
EOF
launchctl load ~/Library/LaunchAgents/com.ttyd.plist
# Tailscale
tailscale status
# or for userspace:
tailscale --socket=/tmp/tailscaled.sock status
# ttyd process
pgrep -l ttyd
# Port
lsof -i :7681
| Problem | Solution |
|---------|----------|
| tailscaled requires root | Use userspace mode or Mac App Store version |
| failed to connect to local tailscaled | Restart: brew services restart tailscale or start userspace mode |
| Phone cannot see Mac | Check tailscale status -- both must be online |
| ttyd not connecting | Check pgrep ttyd, restart |
| Port occupied | lsof -i :7681, change port to -p 7682 |
| No input in terminal | Add -W parameter |
| New Tailscale authorization | Open URL in browser, log in |
-c user:passwordMac IP: 100.x.x.x
ttyd port: 7681
URL: http://100.x.x.x:7681
google-auth -- if you need Google API from phonetelegram-session -- Telegram from phonedevelopment
Technology-agnostic prompt generator that creates customizable AI prompts for scanning codebases and identifying high-quality code exemplars. Supports multiple programming languages (.NET, Java, JavaScript, TypeScript, React, Angular, Python) with configurable analysis depth, categorization methods, and documentation formats to establish coding standards and maintain consistency across development teams.
tools
Expert-level browser automation, debugging, and performance analysis using Chrome DevTools MCP. Use for interacting with web pages, capturing screenshots, analyzing network traffic, and profiling performance.
data-ai
Prompt for creating detailed feature implementation plans, following Epoch monorepo structure.
tools
Interactive prompt refinement workflow: interrogates scope, deliverables, constraints; copies final markdown to clipboard; never writes code. Requires the Joyride extension.