# Send Sendme to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "sendme-skill",
    "name": "Sendme",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/muninn-huginn/sendme-skill",
    "canonicalUrl": "https://clawhub.ai/muninn-huginn/sendme-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/sendme-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sendme-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "sendme-skill",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T06:59:00.562Z",
      "expiresAt": "2026-05-08T06:59:00.562Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sendme-skill",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sendme-skill",
        "contentDisposition": "attachment; filename=\"sendme-skill-0.1.4.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "sendme-skill"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/sendme-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/sendme-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/sendme-skill",
    "agentUrl": "https://openagent3.xyz/skills/sendme-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sendme-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sendme-skill/agent.md"
  }
}
```
## Documentation

### Sendme

Peer-to-peer file transfer using iroh. No server uploads — files stream directly between machines via encrypted connections with automatic NAT traversal.

### Installation

If sendme is not installed:

brew install sendme

Alternatively, install via Cargo: cargo install sendme

### Sending Files

sendme send <path>

Accepts a file or directory path
Outputs a ticket — a long base32-encoded string the recipient needs
The process stays running until interrupted with Ctrl+C — the sender must remain online for the recipient to download
Present the ticket to the user and instruct them to share it with their recipient

Example:

sendme send ~/Documents/report.pdf
# Outputs: sendme receive blobaa...  (the ticket)

For directories, sendme bundles the entire folder recursively.

### Non-Interactive / Headless Environments

sendme requires a TTY — it enables raw terminal mode for interactive features. In non-interactive environments (scripts, Docker, CI, agents), it will fail with:

Failed to enable raw mode: No such device or address

Use the Python PTY wrapper to provide a PTY and extract the ticket programmatically. This uses os.execvp() to invoke sendme directly without shell interpretation, avoiding shell injection risks:

import os, pty, select, signal, sys

def sendme_send(path):
    pid, fd = pty.fork()
    if pid == 0:
        os.execvp("sendme", ["sendme", "send", path])
    output = b""
    ticket = None
    while True:
        ready, _, _ = select.select([fd], [], [], 0.5)
        if ready:
            try:
                chunk = os.read(fd, 4096)
                if not chunk:
                    break
                output += chunk
                for line in output.decode(errors="replace").split("\\n"):
                    if "sendme receive blob" in line:
                        ticket = line.strip().replace("sendme receive ", "")
                        print(ticket)
                        sys.stdout.flush()
            except OSError:
                break
        elif ticket:
            try:
                os.waitpid(pid, os.WNOHANG)
            except ChildProcessError:
                break
    try:
        os.kill(pid, signal.SIGTERM)
        os.waitpid(pid, 0)
    except (ProcessLookupError, ChildProcessError):
        pass
    return ticket

### Receiving Files

sendme receive <ticket>

Downloads the file/folder to the current directory
Uses temporary .sendme-* directories during download, then moves atomically
Automatically verifies integrity via blake3 hashing
Resumes interrupted downloads automatically

Example:

sendme receive blobaafy...

### Key Details

Connection: Direct peer-to-peer with TLS encryption. Falls back to relay servers if direct connection fails.
Resumable: Interrupted downloads continue from where they left off.
Integrity: All data is blake3-verified during streaming.
Speed: Saturates connections up to 4Gbps.
No size limit: Works with files and folders of any size.
Sender must stay online: The sendme send process must keep running until the recipient completes the download.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: muninn-huginn
- Version: 0.1.4
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-01T06:59:00.562Z
- Expires at: 2026-05-08T06:59:00.562Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/sendme-skill)
- [Send to Agent page](https://openagent3.xyz/skills/sendme-skill/agent)
- [JSON manifest](https://openagent3.xyz/skills/sendme-skill/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/sendme-skill/agent.md)
- [Download page](https://openagent3.xyz/downloads/sendme-skill)