Back to skills
SkillHub ClubShip Full StackFull Stack

putio

Manage a put.io account via the kaput CLI (transfers, files, search) — hoist the mainsail, add magnets/URLs, and check transfer status; best paired with the chill-institute skill.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,100
Hot score
99
Updated
March 19, 2026
Overall rating
C4.0
Composite score
4.0
Best-practice grade
B80.4

Install command

npx @skill-hub/cli install openclaw-skills-putio

Repository

openclaw/skills

Skill path: skills/baanish/putio

Manage a put.io account via the kaput CLI (transfers, files, search) — hoist the mainsail, add magnets/URLs, and check transfer status; best paired with the chill-institute skill.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install putio into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding putio to shared team environments
  • Use putio for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: putio
description: Manage a put.io account via the kaput CLI (transfers, files, search) — hoist the mainsail, add magnets/URLs, and check transfer status; best paired with the chill-institute skill.
---

# put.io (kaput CLI)

This skill uses the unofficial **kaput** CLI to operate put.io from the command line.

If you also have the **chill-institute** skill installed, you can:
- use chill.institute to *start* a transfer (“send to put.io”), then
- use this skill to *verify and monitor* that the cargo is actually arriving.

## Install

- Requires Rust + Cargo.
- Install:
  ```bash
  cargo install kaput-cli
  ```
- Ensure `kaput` is on your PATH (typically `~/.cargo/bin`).

## Authenticate (device-code flow)

1. Run:
   ```bash
   kaput login
   ```
2. It prints a link + short code (e.g. `https://put.io/link` + `ABC123`).
3. User enters the code in the browser.
4. The CLI completes and stores a token locally.

Check auth:
```bash
bash skills/putio/scripts/check_auth.sh
```

## Common actions (scripts)

All scripts auto-locate `kaput` (supports `KAPUT_BIN=/path/to/kaput`).

- List transfers:
  ```bash
  bash skills/putio/scripts/list_transfers.sh
  ```

- Add a transfer (magnet / torrent URL / direct URL):
  ```bash
  bash skills/putio/scripts/add_transfer.sh "magnet:?xt=urn:btih:..."
  ```

- Search files:
  ```bash
  bash skills/putio/scripts/search_files.sh "query"
  ```

- Status (transfers; optionally account):
  ```bash
  bash skills/putio/scripts/status.sh
  SHOW_ACCOUNT=1 bash skills/putio/scripts/status.sh
  ```

## Raw CLI

For advanced actions:
```bash
kaput --help
kaput transfers --help
kaput files --help
```

## Security notes

- **Do not paste passwords** into chat. Use `kaput login` device-code flow.
- kaput stores credentials locally (token file). Treat it as sensitive and avoid sharing it.
- Avoid running `kaput debug` in shared logs/screenshots (may reveal local config details).


---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### _meta.json

```json
{
  "owner": "baanish",
  "slug": "putio",
  "displayName": "put.io (kaput CLI)",
  "latest": {
    "version": "1.0.0",
    "publishedAt": 1769239159526,
    "commit": "https://github.com/clawdbot/skills/commit/8fcb6cbd00ed3f2c250a844b8430ec304159a0a0"
  },
  "history": []
}

```

### scripts/_kaput.sh

```bash
#!/usr/bin/env bash
set -euo pipefail

# Resolve the kaput CLI location.
# - Prefer explicit KAPUT_BIN
# - Then PATH
# - Then ~/.cargo/bin
kaput_resolve() {
  if [[ -n "${KAPUT_BIN:-}" ]]; then
    echo "$KAPUT_BIN"
    return 0
  fi

  if command -v kaput >/dev/null 2>&1; then
    echo "kaput"
    return 0
  fi

  if [[ -x "${HOME}/.cargo/bin/kaput" ]]; then
    echo "${HOME}/.cargo/bin/kaput"
    return 0
  fi

  echo "ERROR: kaput CLI not found. Install with: cargo install kaput-cli (and ensure ~/.cargo/bin is on PATH)." >&2
  return 127
}

KAPUT="$(kaput_resolve)"
```

### scripts/add_transfer.sh

```bash
#!/usr/bin/env bash
set -euo pipefail

source "$(dirname "$0")/_kaput.sh"

URL="${1:-}"
if [[ -z "$URL" ]]; then
  echo "Usage: $0 <magnet_or_url>" >&2
  exit 2
fi

"$KAPUT" transfers add "$URL"

```

### scripts/check_auth.sh

```bash
#!/usr/bin/env bash
set -euo pipefail

source "$(dirname "$0")/_kaput.sh"

if "$KAPUT" whoami >/dev/null 2>&1; then
  echo "Authenticated"
  exit 0
fi

echo "Not authenticated. Run: kaput login" >&2
echo "It will show a link + short code (device-code flow). Enter the code in your browser and the CLI will finish automatically." >&2
exit 1

```

### scripts/list_transfers.sh

```bash
#!/usr/bin/env bash
set -euo pipefail

source "$(dirname "$0")/_kaput.sh"

"$KAPUT" transfers list

```

### scripts/search_files.sh

```bash
#!/usr/bin/env bash
set -euo pipefail

source "$(dirname "$0")/_kaput.sh"

QUERY="${1:-}"
if [[ -z "$QUERY" ]]; then
  echo "Usage: $0 <query>" >&2
  exit 2
fi

"$KAPUT" files search "$QUERY"

```

### scripts/status.sh

```bash
#!/usr/bin/env bash
set -euo pipefail

source "$(dirname "$0")/_kaput.sh"

# Privacy: whoami may print your account email. Only show it if explicitly requested.
if [[ "${SHOW_ACCOUNT:-0}" == "1" ]]; then
  echo "=== Account ==="
  "$KAPUT" whoami
  echo ""
fi

echo "=== Transfers ==="
"$KAPUT" transfers list

```

putio | SkillHub