arr-library-hygiene

arr-library-hygiene is a skill for Claude Code from t3chnaztea/arr-stack-skills. It costs 142 tokens per session (2,522 once invoked), scanned A, original, MIT.

A troubleshooting guide for keeping Radarr and Sonarr's library records aligned with the files and monitoring choices you actually want.

In plain words
What is it for?
Use it to investigate phantom missing episodes, repeated downloads, import loops, queued searches, and monitoring changes after metadata updates.
Why use it?
It explains why missing items can be searched repeatedly, imported files can be reported as duplicates, or monitoring can change unexpectedly.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the arr plugin — 7 skills shipped together

Good fit Use it to investigate phantom missing episodes, repeated downloads, import loops, queued searches, and monitoring changes after metadata updates.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/t3chnaztea/arr-stack-skills/arr-library-hygiene
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add t3chnaztea/arr-stack-skills --skill arr-library-hygiene
Clone the repo
git clone --depth 1 https://github.com/t3chnaztea/arr-stack-skills

Made for: Claude Code.

Or install arr, the plugin that ships this one along with the rest of its 7 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for arr-library-hygiene

README.md
[![agentmods](https://agentmods.dev/badge/skills/t3chnaztea/arr-stack-skills/arr-library-hygiene/github.svg)](https://agentmods.dev/skills/t3chnaztea/arr-stack-skills/arr-library-hygiene)
Your own site
<a href="https://agentmods.dev/skills/t3chnaztea/arr-stack-skills/arr-library-hygiene"><img src="https://agentmods.dev/badge/skills/t3chnaztea/arr-stack-skills/arr-library-hygiene/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for arr-library-hygiene

Your own site · 80×15
<a href="https://agentmods.dev/skills/t3chnaztea/arr-stack-skills/arr-library-hygiene"><img src="https://agentmods.dev/badge/skills/t3chnaztea/arr-stack-skills/arr-library-hygiene.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 142 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,522 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00142 $0.02522
Opus 5 $0.00071 $0.01261
Sonnet 5 $0.00028 $0.00504
Haiku 4.5 $0.00014 $0.00252

Measured 9d ago against content hash 1e4cb35e43b2, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

arr-library-hygiene scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -sf -H "X-Api-Key: $ARR_KEY" "$ARR_URL/api/v3/series/$SID?includeSeriesStats=true" \
skills/arr-library-hygiene/SKILL.md · 236 lines

How it starts

The opening of the file, as written. The whole thing — 236 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Arr Library Hygiene

The monitored flag drives every automated search. When it drifts from what you intended, the app either hunts for things it should ignore or sits silent when you expect it to work. Both look like bugs elsewhere.

Assumes arr-connect. In particular: deletes are permanent, there is no recycle bin unless you configured one, and a command returning queued means accepted, not successful.

Three ways monitoring drifts

1. Segment-aired shows create permanent phantom missing episodes

Cartoons and sketch shows that aired as segments are often catalogued with each segment as its own episode entry, while your files are whole broadcast episodes. The app counts the extra segment entries as missing forever. Every night it re-searches, grabs a season pack, fails to import with episode file already imported, and refills the queue. The queue length looks alarming and never drops.

Diagnose by comparing counts, not by reading the queue:

curl -sf -H "X-Api-Key: $ARR_KEY" "$ARR_URL/api/v3/series/$SID?includeSeriesStats=true" \
  | jq '{title, episodeCount: .statistics.episodeCount,
         episodeFileCount: .statistics.episodeFileCount,
         pct: (.statistics.episodeFileCount / .statistics.episodeCount * 100 | floor)}'

A gap that never closes across days, on a show that finished airing years ago, is this pattern rather than a sourcing problem.

Fix: unmonitor only the monitored-but-file-less episodes, then clear the stuck queue.

# the episodes that will never arrive
IDS=$(curl -sf -H "X-Api-Key: $ARR_KEY" "$ARR_URL/api/v3/episode?seriesId=$SID" \
  | jq -c '[.[] | select(.monitored and (.hasFile | not)) | .id]')

curl -sf -X PUT -H "X-Api-Key: $ARR_KEY" -H 'Content-Type: application/json' \
  -d "{\"episodeIds\": $IDS, \"monitored\": false}" \
  "$ARR_URL/api/v3/episode/monitor"

For a finished show this stops the grabbing and keeps every existing file. For a still-airing show, do not do this: you would unmonitor genuinely missing episodes. Check the series status first.

Read the full file on GitHub · 236 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 236 lines · 142 tokens per session scan A 1e4cb35e43b2

Subscribe to this mod's changes

arr-library-hygiene is a skill published in the GitHub repository t3chnaztea/arr-stack-skills (1 stars, last pushed 17d ago), licensed MIT. It adds 142 tokens to every session and 2,522 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

release-it

Build production-ready systems with stability patterns: circuit breakers, bulkheads, timeouts, and retry logic. Use when the user mentions "production outage", "circuit breaker", "deployment pipeline", "chaos engineering", "retry storm", "health checks", "my service keeps crashing", "prevent cascading failures", or…

wondelai/skills · 131 tokens

tidewave-integration

Tidewave MCP runtime tools — debugging, smoke testing, live state inspection, SQL queries, hex docs. Use when evaluating code in a running Phoenix app.

oliver-kriska/claude-elixir-phoenix · 38 tokens

debug

Interactive debugging workflow with hypothesis-driven probe loop. Use when: unknown bugs, script errors, silent failures, troubleshooting. Not for: known bugs (use bug-fix), GitHub issue analysis (use issue-analyze), code understanding (use code-explore). Output: debug report with probe journal + root cause + fix.

sd0xdev/sd0x-harness · 67 tokens

git-investigate

Git history investigation. Use when: tracking code changes, finding where bugs were introduced, root cause analysis. Not for: code exploration (use code-explore), issue analysis (use issue-analyze). Output: history trace + root cause report.

sd0xdev/sd0x-harness · 53 tokens

analyze

Deep-dive codebase analysis that explains how things actually work — business rules, architecture patterns, auth flows, data models, integrations, and performance hotspots. Use whenever the user asks "how does X work", "map the Y flow", "what are the business rules for Z", "trace the auth path", "explore the codebase…

rsmdt/the-startup · 118 tokens

simplify

Wrap-up refactoring — simplify code, eliminate duplication, preserve behavior.

sd0xdev/sd0x-harness · 16 tokens