SKILL/TREE

Your own Letterboxd year-in-review, on your terms.

Drop in your Letterboxd diary, IMDb ratings, or TVTime watch log. Get a dark-themed dashboard with monthly counts, rating histogram, hours watched, genre breakdown, and decade distribution.

$3.99
Works in Claude (Pro/Max/Team) or ChatGPT (Plus/Team) · paid AI plan required
Both Claude + ChatGPT packages included — you can't pick the wrong one.
Updated
Included
01Reads Letterboxd diary.csv, IMDb ratings.csv, TVTime, Trakt, Simkl, Plex/Tautulli — or freeform pasted lists.
02Normalizes ratings across scales (0.5-5 stars, 1-10 IMDb, ★★★★½ unicode) so you can compare like with like.
03Rating histogram with gradient-colored bars — see whether you're a curator (4+ skew), balanced rater, or bimodal lover/hater.
04Decade distribution and top 8 genres charts — instantly see if you live in the 2020s or run a Criterion marathon.
05Outputs three formats every run: a dark-themed HTML dashboard, a CSV with summary sheets, and a Google Sheets QUERY/COUNTIF block.
06Handles Letterboxd's missing runtime/genre data with evidence-based defaults (100min films, 45min drama eps) and flags every assumption.

What it does

A movies and TV watched dashboard for Letterboxd obsessives, IMDb power users, and TVTime completionists. Paste a diary.csv (or freeform list, or IMDb ratings export) and get a year-in-film dashboard with headline stats (titles, hours, average rating, film-vs-TV split), a monthly watch-count chart, a rating histogram colored by score, a top-genres bar chart with proper normalization (Sci-Fi → Science Fiction, Crime Thriller → Crime), a decade distribution, and your top 5 highest-rated + top 5 most-time-spent. It handles the weird cases real exports throw at it: Letterboxd's missing runtime and genre columns, IMDb's mislabeled 'Description' column that's actually your personal rating, TVTime's episode-level data needing aggregation, unicode star ratings, and partial datasets. Every assumption (default runtimes, normalized rating scales, missing release years) is flagged in a footer so you know exactly what was inferred. Every run produces three outputs: a print-friendly dark-themed HTML dashboard, a CSV with 5 summary sheets (watch log, monthly, rating distribution, genre, decade), and a Google Sheets paste block with live QUERY/COUNTIFS formulas you can drop into a Dashboard sheet.

Frequently asked

How do I make a year-in-film dashboard from my Letterboxd export?
Download diary.csv from Letterboxd (Settings → Import & Export), paste it in, and the skill produces the full dashboard. Runtime and genre aren't in the standard Letterboxd export — the skill fills them with evidence-based defaults (100min films, etc.) and flags every assumption in the footer.
Does it work with IMDb, TVTime, Trakt, and Simkl too?
Yes — it auto-detects the export format. IMDb gives you full runtime + genre; TVTime gives episode-level data that gets aggregated to series; Trakt needs the JOIN between watches and ratings; Simkl is the cleanest. Freeform pasted lists (with ★ stars, slash ratings, etc.) also parse.
Can I see my rating distribution shape — am I a curator or a balanced rater?
Yes. The rating histogram colors bars by score (green = high, amber = mid, red = low) and the dashboard surfaces interpretation: left-skewed averages 3.6+ indicate curator behavior, bimodal shapes indicate passionate lover/hater patterns, etc.
What if my data is incomplete?
Still works. Missing runtime gets a default (100min films, 45min drama eps, 25min comedy eps) and is flagged. Missing genre becomes 'Unspecified'. Missing rating excludes the title from rating stats but keeps it in totals. The dashboard renders no matter how patchy your input is.
Can I just use Letterboxd's own year-in-review?
Letterboxd's is great for the headline. This gives you a CSV and Sheets block you actually own, with custom decade buckets, genre normalization, and rating histogram interpretation that the platform's PNG card doesn't include.

Install — no Terminal required

After checkout you land on a page with a one-click download and a pre-built install prompt. Pick the AI you already pay for — both packages are included, so you can't pick wrong.

What you'll see the second your payment clears
Your license key
ST-XXXX-XXXX-XXXX · permanent
Pre-built install prompt⧉ Copy
ChatGPT package (ZIP)⬇ Download

No setup work before you buy — copy, paste, done.

Have Claude Pro, Max, or Team?
Copy the prompt, paste into Claude

Copy the pre-built install prompt from the success page, paste it into any Claude Code chat, and Claude installs the skill itself — about 10 seconds. Using the app instead? Drop the downloaded folder into a Claude Project's knowledge and ask Claude to use it.

Have ChatGPT Plus or Team?
Build a Custom GPT — ~2 minutes
  1. Click Download ChatGPT package (included with every purchase).
  2. Unzip it — inside is a SETUP.md and a knowledge/ folder.
  3. Go to chatgpt.com → your profile → My GPTs Create a GPTConfigure.
  4. Paste the Name, Description, and Instructions from SETUP.md into the matching fields.
  5. Under Knowledge, upload every file in the knowledge/ folder.
  6. Click Create/Save, open your GPT, and describe your task in plain English.

A paid plan on either platform is required — Claude (Pro, Max, or Team) or ChatGPT (Plus or Team). Comfortable with Terminal? A one-line npx skilltree-network install path is available too.

More in Personal Dashboards

View all Personal Dashboards skills →