supabase
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
This skill repairs tmux socket connection errors when the socket directory is deleted while tmux is running. Use this when you see "error connecting to /private/tmp/tmux-UID/default (No such file or directory)" while tmux sessions are still active.
Full skill instructions
Repair tmux socket connection errors without killing your running sessions.
Symptoms:
error connecting to /private/tmp/tmux-UID/default (No such file or directory)tmux list-sessions fails but you're inside a working tmux session$TMUX environment variable is set but socket file doesn't existCommon causes:
/tmp directory cleanuptmux uses a UNIX domain socket for client-server communication. The socket path format is:
/private/tmp/tmux-UID/default
Where UID is your user ID (e.g., 504).
Why sessions survive socket deletion:
/private/tmp or /tmpCheck if you're in tmux but the socket is missing:
# Check if TMUX is set (confirms you're in a session)
echo $TMUX
# Example output: /private/tmp/tmux-504/default,1632,1
# Try to list sessions (will fail if socket is missing)
tmux list-sessions
# Expected error: error connecting to /private/tmp/tmux-504/default (No such file or directory)
# Verify socket directory doesn't exist
ls -la /private/tmp/tmux-*/
# Expected error: No such file or directory
If all three conditions are true (TMUX set, list-sessions fails, directory missing), proceed with the fix.
Verify when tmux-resurrect last successfully saved:
ls -lh ~/.tmux/resurrect/last
stat ~/.tmux/resurrect/last
Note the timestamp. If it's old (before the socket disappeared), automatic saves are likely also failing.
Extract the socket directory path from $TMUX:
# Show full TMUX path
echo $TMUX
# Example: /private/tmp/tmux-504/default,1632,1
# The directory is everything before '/default'
# For example: /private/tmp/tmux-504
Create the directory with correct permissions:
# Replace '504' with your actual UID from $TMUX
mkdir -p /private/tmp/tmux-504
chmod 700 /private/tmp/tmux-504
Permission requirements:
700 (drwx------) for securityThe tmux server is the oldest tmux process:
# List all tmux processes
ps aux | grep tmux | grep -v grep
Look for the process with:
tmux (not tmux attach)Example output:
jonathan 1632 1.1 0.0 435326336 5184 ?? Ss 1Nov25 102:36.11 tmux
jonathan 22779 0.0 0.0 435309312 624 s077 S+ 1Nov25 0:00.05 tmux attach -t 3
In this example, PID 1632 is the server (started Nov 25, command is just tmux).
Send SIGUSR1 to the tmux server process:
# Replace 1632 with your actual server PID
kill -SIGUSR1 1632
What this does:
Alternative (if you only run one tmux server):
pkill -USR1 -x tmux
This sends SIGUSR1 to all processes named exactly "tmux".
Check that the socket file was recreated:
# Socket file should now exist
ls -la /private/tmp/tmux-504/
# Expected: drwx------ 3 you wheel 96 Nov 16 09:18 .
# srw-rw---- 1 you wheel 0 Nov 16 09:18 default
# tmux commands should now work
tmux list-sessions
# Expected: List of your active sessions
# Test resurrect save script
~/.tmux/plugins/tmux-resurrect/scripts/save.sh
# Verify new save was created
ls -lh ~/.tmux/resurrect/last
# Timestamp should be current
After applying the fix:
ls -la /private/tmp/tmux-UID/srw-rw----tmux list-sessions succeedstmux list-keys succeeds~/.tmux/plugins/tmux-resurrect/scripts/save.shCause: /private/tmp or /tmp may require elevated permissions
Solution:
sudo mkdir -p /private/tmp/tmux-504
sudo chown $(whoami) /private/tmp/tmux-504
chmod 700 /private/tmp/tmux-504
Symptoms: Directory exists but socket file still missing after signal
Causes:
Solutions:
Verify you got the right PID:
# The server process should show just "tmux", not "tmux attach"
ps aux | grep '[t]mux' | grep -v attach
Check directory permissions:
ls -ld /private/tmp/tmux-504
# Should show: drwx------ ... your-username ...
If still failing, check tmux server is responsive:
# From inside tmux
tmux refresh-client
Last resort - restart tmux server (will lose session state):
# Save important work first!
tmux kill-server
tmux
Symptoms: ps aux | grep tmux shows multiple "tmux" processes (not "tmux attach")
Cause: Multiple independent tmux servers on different sockets
Solution:
Identify which server you're attached to:
echo $TMUX
# Shows socket path and server PID
Send SIGUSR1 only to that specific PID:
# Don't use pkill, it would signal all servers
kill -SIGUSR1 <specific_pid>
Symptoms: pgrep: illegal option -- -
Cause: macOS uses BSD pgrep which has different options than GNU pgrep
Solution:
# BSD (macOS) syntax:
pgrep -o tmux # oldest process
# Alternative: use ps
ps aux | grep tmux | grep -v grep
For reference, the correct keybindings with a custom prefix:
Default prefix: Ctrl+b
Ctrl+b then Ctrl+sCtrl+b then Ctrl+rCustom prefix: Ctrl+a (as in your config)
Ctrl+a then Ctrl+sCtrl+a then Ctrl+rVerify your bindings:
tmux list-keys | grep resurrect
Expected output:
bind-key -T prefix C-r run-shell /path/to/restore.sh
bind-key -T prefix C-s run-shell /path/to/save.sh
To reduce the likelihood of this issue:
Use XDG_RUNTIME_DIR (Linux):
# In .bashrc or .zshrc
export TMUX_TMPDIR=$XDG_RUNTIME_DIR
This directory persists across reboots on systemd systems.
Custom socket location:
# Start tmux with custom socket location
tmux -S ~/.tmux/socket new-session
System configuration (requires root):
/tmp/tmux-* from automated cleanup scriptstmpwatch or similar tools to skip tmux directoriesCtrl+a Ctrl+s periodically for important session statesWhy automatic saves appear to work:
tmux-continuum runs inside the tmux server process using run-shell. In some cases:
After fixing:
~/.tmux/resurrect/last timestamp# 1. Create directory
mkdir -p /private/tmp/tmux-$(id -u)
chmod 700 /private/tmp/tmux-$(id -u)
# 2. Find server PID
ps aux | grep '[t]mux' | grep -v attach
# 3. Send signal
kill -SIGUSR1 <server_pid>
# 4. Verify
tmux list-sessions
ls -la /private/tmp/tmux-$(id -u)/
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
Comprehensive guides and best practices for Neon Serverless Postgres, covering setup, connection methods, authentication, and platform APIs.
Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.
A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.
Official skill for integrating Firebase AI Logic (Gemini API) into web applications. Covers setup, multimodal inference, structured output, and security.
Complete Better Auth server and client setup with database adapters, session management, plugins, and security configuration.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Complete Cloudflare platform integration with decision trees for compute, storage, AI, networking, security, and infrastructure-as-code.
Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.
Send, read, and manage Gmail messages, drafts, labels, and account settings.
Comprehensive website auditing across 230+ rules in 21 categories including SEO, performance, security, and accessibility.
Shared authentication, CLI syntax, and output formatting patterns for gws Google Workspace commands.
Discover your celebrity doppelgänger with StarByFace!
GeoSpy: Pricing, Features, FAQs, and Alternatives for AI Teams
Detect AI-generated voices to protect against audio fraud.
Ensure Your Content's Originality with AI Plagiarism Checker
Upscale images by 400% without quality loss
Protect your social media from copyright disputes
Accurately Detect AI-Generated Content with TheChecker.AI
Chrome extension that detects and flags AI-generated content