PSN Backlog Triage
A backlog is a set of decisions nobody made. This skill makes them: for each
started-but-unfinished game, a clear verdict — return to it, drop it,
or (rarely) on the fence, here's the tiebreaker — argued from how the
player actually engaged with it, not from guilt or hype.
The --trophies requirement is hard. Triage runs on completion and
abandonment signal, and both only exist when trophies were fetched:
- Without
--trophies, completion_ratio is null on every row and both
abandonment_flags are always false. There is nothing to triage.
- If you open the file and see null completion everywhere, stop and route to
psn-export for a psnstats --analyze --trophies run. Do not fake
completion or infer it from playtime.
enjoyment_score (0-100) — the overall engagement blend. Low here means
the game already scores as unloved; high means something worth reclaiming.
completion_ratio (0-1) — how far in they are. Near 1.0 = a finish
within reach; very low = barely started.
abandonment_flags:
early_abandon — bounced early (trophy progress <20% after several
sessions). The game got a fair audition and lost. Costs 15 enjoyment
points.
late_abandon — stalled deep in (>=10 hours played, <40% complete). The
hard part, or the boredom, hit and they stopped. Costs 10 points.
friction_tolerance (a trait, 0-100) — the player-level prior. Low
friction tolerance means "return to a game that stalled on difficulty" is a
bad bet for this person; high means a stall was probably circumstance, not
rejection. Read this once, then apply it to every borderline call.
Lean RETURN when:
completion_ratio is high (say >0.6) and there are no abandon flags — a
finish is close and they never rejected it. Easiest win in the pile.
enjoyment_score is strong but recency has decayed (high playtime, high
completion, just went cold) — they liked it, life intervened.
late_abandon is set but friction_tolerance is high and completion is
meaningful — the stall reads as circumstance, and this player pushes through
friction. Name the wall they hit.
Lean DROP when:
- Both abandon flags fire — early and late — and the score is crushed
(often single digits). The game got multiple auditions and lost every time.
Free them from it.
early_abandon with very low completion and low friction_tolerance — they
bounced fast and they're a player who doesn't return to bounces. Officially
drop it.
- Low enjoyment, low completion, badly stale — no evidence of a spark to
reclaim.
On the fence: high completion but an early_abandon history, or a strong
game the player's own friction tolerance argues against. Offer one concrete
tiebreaker (an hour to test if the wall still bites; skip-the-hard-part advice)
rather than a shrug.
Always argue from the specific fields. "Drop it" alone is useless; "drop it:
15% complete, both abandon flags, and your friction tolerance says you don't
come back to games that stall this hard" is a decision they can act on.
- Death Stranding — 12% complete,
enjoyment_score 6.6, both abandon
flags, 300 days stale. Verdict: drop. It got early and late auditions and
lost both; the score is floor-level. Reclaiming it fights every signal.
- Minecraft (PS4) — 55h,
late_abandon set, 20% complete, enjoyment 47.2.
Verdict: fence, leaning drop — heavy hours but stalled and cooling; if
it's a sandbox they dip into, that's fine, but as a "finish" it isn't one.
- Cyberpunk 2077 — 70% complete, no abandon flags,
enjoyment 74.5, ~70
days since last played. Verdict: return — close to done, well-liked, just
went cold. The highest-value reclaim in the pile.
- Sekiro — 30% complete,
late_abandon, 200 days stale, on a profile whose
friction_tolerance is 17.9 (low). Verdict: drop, honestly — a stall on
a famously hard game for a player who bails on friction. Unless they
explicitly want the challenge back, don't sell them a grind they've already
shown they won't finish.
Keep it a decision document, not a data dump. The player should be able to act
on every line without opening the JSON.
1---2name: psn-backlog-triage3description: Use when deciding what to do with started-but-unfinished PlayStation games: "triage my backlog", "what should I go back and finish", "what should I drop", "which games am I never finishing", "clear my pile of shame", "should I give up on X". Reads the local export and returns a return-to vs officially-drop verdict per unfinished game, driven by enjoyment score, the early/late abandonment flags, completion ratio, and the player's friction tolerance. Not for picking something fresh to play (psn-taste-profile RECOMMEND), ranking a store wishlist (psn-wishlist-advisor), or producing the export (psn-export).4---56# PSN Backlog Triage78A backlog is a set of decisions nobody made. This skill makes them: for each9started-but-unfinished game, a clear verdict — **return to it**, **drop it**,10or (rarely) **on the fence, here's the tiebreaker** — argued from how the11player actually engaged with it, not from guilt or hype.1213<data_source>14Read **`./psn-export/preferences.json`** (`per_game_features` rows), produced by15`psnstats --analyze --trophies`. Never fetch PSN; never invent a game or a16number not in the file.1718**The `--trophies` requirement is hard.** Triage runs on completion and19abandonment signal, and both only exist when trophies were fetched:2021- Without `--trophies`, `completion_ratio` is `null` on every row and both22 `abandonment_flags` are always `false`. There is nothing to triage.23- If you open the file and see null completion everywhere, **stop and route to24 `psn-export`** for a `psnstats --analyze --trophies` run. Do not fake25 completion or infer it from playtime.26</data_source>2728<the_signals>29Four fields drive every verdict:3031- **`enjoyment_score` (0-100)** — the overall engagement blend. Low here means32 the game already scores as unloved; high means something worth reclaiming.33- **`completion_ratio` (0-1)** — how far in they are. Near 1.0 = a finish34 within reach; very low = barely started.35- **`abandonment_flags`:**36 - `early_abandon` — bounced early (trophy progress <20% after several37 sessions). The game got a fair audition and lost. Costs 15 enjoyment38 points.39 - `late_abandon` — stalled deep in (>=10 hours played, <40% complete). The40 hard part, or the boredom, hit and they stopped. Costs 10 points.41- **`friction_tolerance` (a trait, 0-100)** — the player-level prior. Low42 friction tolerance means "return to a game that stalled on difficulty" is a43 bad bet *for this person*; high means a stall was probably circumstance, not44 rejection. Read this once, then apply it to every borderline call.45</the_signals>4647<the_verdict_logic>48Consider only unfinished games (`completion_ratio` below ~0.9, or clearly not49platinum). For each, weigh:5051**Lean RETURN when:**52- `completion_ratio` is high (say >0.6) and there are no abandon flags — a53 finish is close and they never rejected it. Easiest win in the pile.54- `enjoyment_score` is strong but recency has decayed (high playtime, high55 completion, just went cold) — they liked it, life intervened.56- `late_abandon` is set but `friction_tolerance` is high and completion is57 meaningful — the stall reads as circumstance, and this player pushes through58 friction. Name the wall they hit.5960**Lean DROP when:**61- **Both** abandon flags fire — early *and* late — and the score is crushed62 (often single digits). The game got multiple auditions and lost every time.63 Free them from it.64- `early_abandon` with very low completion and low `friction_tolerance` — they65 bounced fast and they're a player who doesn't return to bounces. Officially66 drop it.67- Low enjoyment, low completion, badly stale — no evidence of a spark to68 reclaim.6970**On the fence:** high completion but an `early_abandon` history, or a strong71game the player's own friction tolerance argues against. Offer one concrete72tiebreaker (an hour to test if the wall still bites; skip-the-hard-part advice)73rather than a shrug.7475Always argue from the specific fields. "Drop it" alone is useless; "drop it:7615% complete, both abandon flags, and your friction tolerance says you don't77come back to games that stall this hard" is a decision they can act on.78</the_verdict_logic>7980<worked_examples>81From a real trophy-enabled profile:8283- **Death Stranding** — 12% complete, `enjoyment_score` 6.6, **both** abandon84 flags, 300 days stale. Verdict: **drop**. It got early and late auditions and85 lost both; the score is floor-level. Reclaiming it fights every signal.86- **Minecraft (PS4)** — 55h, `late_abandon` set, 20% complete, `enjoyment` 47.2.87 Verdict: **fence, leaning drop** — heavy hours but stalled and cooling; if88 it's a sandbox they dip into, that's fine, but as a "finish" it isn't one.89- **Cyberpunk 2077** — 70% complete, no abandon flags, `enjoyment` 74.5, ~7090 days since last played. Verdict: **return** — close to done, well-liked, just91 went cold. The highest-value reclaim in the pile.92- **Sekiro** — 30% complete, `late_abandon`, 200 days stale, on a profile whose93 `friction_tolerance` is 17.9 (low). Verdict: **drop, honestly** — a stall on94 a famously hard game for a player who bails on friction. Unless they95 explicitly want the challenge back, don't sell them a grind they've already96 shown they won't finish.97</worked_examples>9899<output>100Group the verdicts: **Return to these**, **Drop these**, **On the fence** (only101if any are). Within each, one line per game: title, the two or three numbers102that decide it, and the verdict in plain language. Lead with the easy103wins (high-completion returns) and the clean drops; spend the most words on the104fence cases where the tiebreaker actually helps.105106Keep it a decision document, not a data dump. The player should be able to act107on every line without opening the JSON.108</output>109110<constraints>111- Requires `--trophies` data. Null completion everywhere → route to112 `psn-export`, don't guess.113- Every verdict cites the specific fields behind it. No unexplained calls.114- Apply the player's `friction_tolerance` as the prior on every stall-related115 decision; don't recommend returning to friction a low-tolerance player has116 already rejected twice.117- Don't moralize about backlog size. This is triage, not a lecture.118- Commit to verdicts. "Maybe finish it someday" helps no one; give a call and119 a reason.120- Only triage unfinished games. A platinum isn't backlog.121- Never invent a title or a completion number. If it isn't in the export, it122 isn't in the backlog.123</constraints>124125<tone>126Decisive and a little kind. You're helping someone let go of games that aren't127serving them and reclaim the ones that are. No guilt, no hype, no em dashes128(use colons or commas).129</tone>