home / skills / vdustr / vp-claude-code-marketplace / localsend

This skill helps you send and receive files locally using the LocalSend protocol across devices on the same network.

npx playbooks add skill vdustr/vp-claude-code-marketplace --skill localsend

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.9 KB
---
name: localsend
description: >-
  Send and receive files over local network using LocalSend protocol (like AirDrop).
  This skill should be used when the user asks to "send a file", "transfer files
  to my phone", "share files locally", "receive files", "accept files from phone",
  "scan for devices", "find nearby devices", requests "/localsend", or mentions
  wanting to send or receive files over the local network without internet.
  Works with any LocalSend client (mobile app, desktop app, or another Claude Code).
---

# LocalSend

Send and receive files over local network via [LocalSend protocol](https://github.com/localsend/protocol). Compatible with all LocalSend clients (iOS, Android, macOS, Windows, Linux).

Auto-downloads [localsend-cli](https://github.com/0w0mewo/localsend-cli) on first use.

## Commands

| Action | Command |
|--------|---------|
| Setup / install | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/localsend.sh" setup` |
| Scan devices | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/localsend.sh" scan [timeout]` |
| Send file/dir | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/localsend.sh" send <ip> <path> [--pin=PIN]` |
| Start receiving | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/localsend.sh" receive start [save-dir]` |
| Stop receiving | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/localsend.sh" receive stop` |
| Check status | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/localsend.sh" receive status` |

## Workflow: Sending Files

1. Scan the network to discover devices.
2. Identify the target device IP from scan results.
3. Send the file or directory to the target IP.
4. The receiver must accept the transfer (unless they have auto-accept enabled).

If the user provides a target IP directly, skip the scan step.

## Workflow: Receiving Files

1. Start the receive server as a background process (do not wait for it to exit).
2. Tell the user: the server is running and they can send files from their device.
3. The sender's device should discover this machine automatically.
4. Files are saved to `~/.cache/vp-localsend/received/` by default.

### Idle Server Reminder (IMPORTANT)

After starting the receive server, track its state:

- If the user starts working on other tasks, check the server status periodically.
- If the server has been running and the user has not mentioned receiving files or stopping the server, remind them:
  > "The LocalSend receive server is still running. Stop it if you're done receiving files."
- Always check and report status before ending a conversation or switching context.

## Notes

- **First run**: Automatically downloads localsend-cli (~5 MB) to `~/.cache/vp-localsend/`.
- **Network**: Both devices must be on the same local network (WiFi/LAN). Port 53317 must not be blocked by firewall.
- **Receive server**: Runs as a background process. Always stop it when done.
- **PIN**: Use `--pin=PIN` for send if the receiver requires PIN authentication.
- **Platforms**: macOS (arm64/amd64) and Linux (arm64/amd64) are supported.

Overview

This skill lets you send and receive files over your local network using the LocalSend protocol, similar to AirDrop. It works with any LocalSend client (mobile apps or desktop apps) and auto-installs a small CLI on first use. Use it to transfer files without internet while keeping transfers fast and private on the same LAN.

How this skill works

The skill installs and uses localsend-cli to discover nearby LocalSend devices, send files to a selected IP, and run a background receive server to accept incoming transfers. Scanning finds device IPs, sending uses the target IP (optionally with a PIN), and receiving starts a background listener that saves files to a default folder. It also tracks receive-server status and prompts you if the server remains idle.

When to use it

  • Send files to a phone or another computer on the same Wi‑Fi/LAN
  • Transfer folders or large files without using cloud storage
  • Receive files from a mobile device and auto-save them locally
  • Quickly scan the local network to find LocalSend-enabled peers
  • Start a temporary receive server for others to push files to your machine

Best practices

  • Run a network scan first unless you already have the recipient IP to avoid mis-sending
  • Ensure both devices are on the same network and port 53317 is not blocked by a firewall
  • Use PIN authentication (--pin=PIN) if the receiver requires confirmation for added security
  • Stop the receive server when finished to avoid leaving a background listener running
  • Check receive-server status before switching tasks or ending the session; the skill will remind you if it remains running

Example use cases

  • Share photos from your phone to your laptop during a meeting without internet
  • Send a project folder from desktop to another machine on the office LAN
  • Accept files from a colleague’s phone by starting the receive server and letting them discover your machine
  • Scan for nearby LocalSend devices to find the correct target IP before sending
  • Auto-download and configure the localsend-cli on first use to eliminate manual setup

FAQ

Where are received files stored by default?

Files are saved to ~/.cache/vp-localsend/received/ by default; you can specify a different save directory when starting the receiver.

Do both devices need internet?

No. Both devices must be on the same local network (Wi‑Fi or LAN); internet is not required but the LAN must allow traffic on port 53317.

How do I stop the receive server?

Use the receive stop command to terminate the background server. Always stop it when you’re done receiving to avoid leaving a listener running.