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.
Install command
npx @skill-hub/cli install openclaw-skills-putio
Repository
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 repositoryBest 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
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
```