agentleFS
OpenMinisOpenMinis/MinisSkills/qbt-hub/SKILL.md

qbt-hub

Skill584 starsChanged 59 days agoMITView on GitHub

Manage qBittorrent downloads via WebUI API (v5.0+). Use this skill whenever the user asks to add a torrent or magnet link, check download progress, search/filter tasks, delete tasks, set speed limits, manage tags/categories, or do anything related to qBittorrent. Trigger keywords: qBittorrent, qbt, torrent, magnet, download task, seeding, add torrent, qbt-hub.

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Search for the torrent on sites like torrentkitty.net or thepiratebay.org using browser_use

    line 157
  2. Very specific:

    Use all as keyword to target every task (e.g.

    line 182

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

qbt-hub

Manage qBittorrent (v5.0+) via its WebUI API using the bundled scripts/qbt.py.

Authentication

Credentials are read from env vars (set once, reused forever):

  • QBT_HOST — e.g. http://qbt.example.com
  • QBT_USER — WebUI username
  • QBT_PASS — WebUI password

Can also be overridden per-call: --host / --user / --pass

Script Location

/var/minis/skills/qbt-hub/scripts/qbt.py

Alias for convenience:

alias qbt="python3 /var/minis/skills/qbt-hub/scripts/qbt.py"

Commands

Add a task

# magnet link
python3 qbt.py add "magnet:?xt=urn:btih:..."

# https .torrent URL
python3 qbt.py add "https://example.com/file.torrent"

# local .torrent file
python3 qbt.py add ~/Downloads/movie.torrent

# with options
python3 qbt.py add "magnet:..." --savepath /data/movies --category Movies --tags "4K,DV" --paused --sequential

List / filter tasks

python3 qbt.py list                              # all tasks
python3 qbt.py list --filter downloading         # active downloads
python3 qbt.py list --filter completed
python3 qbt.py list --tag 4K --sort size         # filter by tag, sort by size
python3 qbt.py list --category Movies --asc

Filter choices: all downloading seeding completed paused active inactive stalled errored Sort choices: name size progress dlspeed upspeed ratio added_on

Search

python3 qbt.py search ubuntu          # fuzzy match on task name

Global status

python3 qbt.py status                 # DL/UL speed, totals, limits, turtle mode

Task details

python3 qbt.py info ubuntu            # progress, files, trackers, peers

Pause / Resume / Recheck

python3 qbt.py pause ubuntu
python3 qbt.py resume all
python3 qbt.py recheck ubuntu

Delete

python3 qbt.py delete ubuntu          # keep local files
python3 qbt.py delete ubuntu --files  # also delete local data

Speed limits

# per-task
python3 qbt.py limit ubuntu --dl 500 --ul 100   # KB/s
python3 qbt.py limit ubuntu --dl 0              # remove limit

# global
python3 qbt.py speedlimit                        # show current
python3 qbt.py speedlimit --dl 2048 --ul 512
python3 qbt.py speedlimit --dl 0                 # unlimited
python3 qbt.py speedlimit --alt                  # toggle turtle mode

Tags

python3 qbt.py tag ubuntu --tags "linux,iso"
python3 qbt.py untag ubuntu --tags "iso"
python3 qbt.py tags                              # list all tags with counts

Categories

python3 qbt.py category ubuntu --cat Linux
python3 qbt.py categories                        # list all categories

Rename / Move

python3 qbt.py rename ubuntu --name "Ubuntu 24.04 LTS"
python3 qbt.py move ubuntu --path /data/iso

Top N

python3 qbt.py top --n 10 --sort size    # largest tasks
python3 qbt.py top --n 5 --sort dl       # fastest downloads
python3 qbt.py top --n 5 --sort ratio    # highest ratio seeders

Sort choices: size dl ul ratio progress added

RSS

python3 qbt.py rss list
python3 qbt.py rss add --url "https://example.com/feed.rss"
python3 qbt.py rss remove --path "FeedName"
python3 qbt.py rss addrule --name "4K Shows" --pattern "2160p" --category TV
python3 qbt.py rss removerule --name "4K Shows"

Workflow: Search the web and add a torrent

  1. Search for the torrent on sites like torrentkitty.net or thepiratebay.org using browser_use
  2. Extract the magnet link from the page
  3. Run python3 qbt.py add "<magnet>" --savepath /path --tags "tag1,tag2"

Common patterns

# Check what's currently downloading
python3 qbt.py list --filter downloading

# Find and delete a large task including its files
python3 qbt.py top --n 10 --sort size
python3 qbt.py delete "keyword" --files

# Tag all completed tasks
python3 qbt.py list --filter completed   # find keyword
python3 qbt.py tag "keyword" --tags "done"

# Slow down a task to save bandwidth
python3 qbt.py limit "keyword" --dl 200 --ul 50

Notes

  • keyword matching is case-insensitive fuzzy match on task name
  • Use all as keyword to target every task (e.g. resume all, pause all)
  • delete always prompts for confirmation before executing
  • rename requires an exact single match; use a more specific keyword if multiple tasks match
  • qBittorrent instance: http://qbt.wsen.me (internal network, v5.0.2)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.