Stremio Unwatched

v1.0.0

Check Stremio library for unwatched TV episodes, view upcoming release calendar, and download new episodes. Use when you need to: (1) find unwatched episodes...

0· 241·0 current·0 all-time
byPat Fitzner@patfitzner
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description match the actual behavior: scripts talk to the Stremio central API and Cinemeta, decode watched bitfields, optionally sync to Google Calendar, and resolve/download streams via the local Stremio server or torrent clients. Required binaries (curl, jq, node/bun) and optional gog for Google sync are appropriate for these tasks.
Instruction Scope
Runtime instructions and scripts stay within the stated scope (library fetch, bitfield decode, calendar, stream resolution, and downloading). They will contact api.strem.io, v3-cinemeta.strem.io, the local Stremio server (127.0.0.1:11470), addon transport URLs returned by the user's installed addons (arbitrary third-party endpoints), and, if used, Google (via gog). This network activity is expected for the feature set but means the skill will query external addon servers (which is required for stream resolution) and will send Stremio video IDs when syncing calendar events.
Install Mechanism
No automated install spec is present (instruction-only install). The package includes readable shell and Node scripts; nothing is downloaded or executed from untrusted URLs by the skill itself. The SKILL.md suggests git-cloning a GitHub repo for manual install, which is conventional but note that the registry metadata shows source unknown — verify the repo URL before cloning.
Credentials
The skill does not request cloud credentials and only needs a Stremio account token to operate. It caches an authKey in ~/.openclaw/credentials/stremio.json (or a path set via OPENCLAW_CREDENTIALS_DIR). The README and scripts also support STREMIO_EMAIL and STREMIO_PASSWORD env vars for non-interactive login and use NODE_CMD/DOWNLOAD_DIR optional env vars. Those env vars are reasonable for operation but were not listed in the registry's declared requires.env — you should be aware of them and the fact that an authKey file will be written to your home directory.
Persistence & Privilege
The skill does not request always:true and does not modify other skills. It will persist the Stremio authKey to a credentials file under your OpenClaw credentials directory (default ~/.openclaw/credentials/stremio.json) and may create a dedicated Google Calendar via gog when requested; both are within the expected scope.
Assessment
This skill appears to do what it says, but review these practical points before installing: - Credential storage: It asks for your Stremio email/password (or STREMIO_EMAIL/STREMIO_PASSWORD env vars) to obtain an authKey, which it caches at ~/.openclaw/credentials/stremio.json (or OPENCLAW_CREDENTIALS_DIR). The authKey file is created with restrictive permissions, but you should verify and trust this behavior before use. If you prefer not to store credentials, use interactive login and/or revoke tokens via Stremio later. - External network calls: The skill will contact api.strem.io, v3-cinemeta.strem.io, and any addon transport URLs returned by your installed Stremio addons. Those addon endpoints are third-party hosts and will receive requests for stream resolution (including the video IDs). This is required for resolving streams, but be mindful that using untrusted addons can expose which videos you query. - Google Calendar sync: The calendar sync uses gog (gogcli) and will create/populate a dedicated "Stremio TV" calendar if you opt in. Ensure you have gog installed and authenticated, and understand that event descriptions include the Stremio video ID. - Local services and torrent clients: Downloading can use your local Stremio streaming server or local torrent clients (transmission, aria2, deluge, qbittorrent). The scripts will interact with those binaries and with http://127.0.0.1:11470 if the Stremio server is running. - Source verification: SKILL.md suggests cloning a GitHub repo (https://github.com/pat-industries/stremio-unwatched.git). The registry metadata shows source/homepage unknown — if you plan to install from that repo, review the repository contents and confirm it matches the packaged files. - Recommended precautions: inspect the included scripts (they are plain shell/Node and easy to read), run first in a restricted environment (or container) if you are uncertain, and limit use of third-party addons you don't trust. If you want stricter control, avoid providing STREMIO_PASSWORD as an env var and prefer interactive login so you know when credentials are used.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

📺 Clawdis
OSLinux · macOS
Binscurl, jq
Any binnode, bun
latestvk972ty8vdbwv5jy66ymf56pzm982fch2
241downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0
Linux, macOS

Stremio Unwatched

Manage unwatched TV episodes from your Stremio library.

Install

Clone into the OpenClaw workspace skills directory:

cd /path/to/openclaw-workspace/skills
git clone https://github.com/pat-industries/stremio-unwatched.git

Dependencies: curl, jq, and node (or bun). Install any missing ones:

# Debian/Ubuntu (Docker)
apt-get update && apt-get install -y curl jq

# node should already be present; verify:
node --version

Authentication

First-time use prompts for Stremio email/password. The auth key is cached in ~/.openclaw/credentials/stremio.json.

scripts/stremio_auth.sh            # Login (interactive)
scripts/stremio_auth.sh --check    # Validate cached key
scripts/stremio_auth.sh --logout   # Clear credentials

List library

scripts/stremio_library.sh                  # All series
scripts/stremio_library.sh --filter "name"  # Filter by name
scripts/stremio_library.sh --id tt1234567   # Specific show

Find unwatched episodes

The core feature. Fetches metadata from Cinemeta, decodes the watched bitfield, and identifies episodes that have aired but haven't been watched.

scripts/stremio_unwatched.sh                      # Table of all unwatched
scripts/stremio_unwatched.sh --filter "show"      # Specific show
scripts/stremio_unwatched.sh --season 2            # Specific season
scripts/stremio_unwatched.sh --json                # JSON output
scripts/stremio_unwatched.sh --summary             # Counts per show

An episode is "unwatched" if it has aired, is not flagged in the watched bitfield, and playback progress is under 70%.

Upcoming calendar

Shows upcoming episode air dates using Cinemeta's calendar-videos endpoint.

scripts/stremio_calendar.sh                    # Next 30 days
scripts/stremio_calendar.sh --days 7           # Next 7 days
scripts/stremio_calendar.sh --filter "show"    # Specific show
scripts/stremio_calendar.sh --json             # JSON output

Google Calendar sync

Syncs upcoming episodes to a dedicated "Stremio TV" Google Calendar (never the default calendar). Requires the gog skill (gogcli).

scripts/stremio_calendar.sh --gcal-sync         # Sync upcoming to Google Calendar
scripts/stremio_calendar.sh --gcal-clear        # Remove all Stremio TV events
scripts/stremio_calendar.sh --gcal-sync --days 14  # Sync next 2 weeks only

Events are created with purple color, deduplicated by summary, and include the Stremio video ID in the description.

Download episodes

Resolves streams via installed Stremio addons, then downloads. Priority: Stremio server (if running) > auto-detected torrent client > magnet link output.

scripts/stremio_download.sh                         # All unwatched (interactive)
scripts/stremio_download.sh --filter "show"         # Specific show
scripts/stremio_download.sh --limit 5                # Max 5 episodes
scripts/stremio_download.sh --quality 1080p          # Prefer 1080p
scripts/stremio_download.sh --client transmission    # Force client
scripts/stremio_download.sh --dry-run                # Preview only
scripts/stremio_download.sh --magnets                # Output magnet links

Supported torrent clients (auto-detected): transmission-remote, aria2c, deluge-console, qbittorrent-nox.

Check download status

scripts/stremio_status.sh                       # Server info
scripts/stremio_status.sh --hash <infoHash>     # Specific torrent progress
scripts/stremio_status.sh --watch               # Live refresh (5s)

API details

For endpoint documentation, data structures, and the watched bitfield format, see references/stremio_api.md.

Comments

Loading comments...