Skip to main content

Mms

@keeb/mmsv2026.05.22.2· 11d agoMODELS·REPORTS·SKILLS
01README

Media management system — content discovery, deduplication, download protocol handling, LLM-powered file organization, and subtitle extraction

02Models9
@keeb/mms/sourcev2026.05.08.1mms_source.ts
fn search(query: string, provider: enum, resolution: string, preferGroup?: string, preferCodec?: string, nyaaUser?: string, nyaaQuery?: string, eztvUrl?: string, newznabUrl?: string, newznabApiKey?: string, newznabCat?: string)
Search a provider for content. Writes a single `episodes` resource
ArgumentTypeDescription
querystringShow name to search for
providerenumSource provider
resolutionstringResolution filter
preferGroup?stringPreferred release group (e.g. MeGusta)
preferCodec?stringPreferred codec (e.g. HEVC)
nyaaUser?stringNyaa uploader filter
nyaaQuery?stringOverride search query
eztvUrl?stringCustom EZTV RSS URL
newznabUrl?stringNewznab API base URL
newznabApiKey?stringNewznab API key
newznabCat?stringNewznab category ID
fn search_configured()
Search all configured shows. Writes a single `episodes` resource

Resources

episodes(infinite)— All items from the most recent invocation. Single instance named
@keeb/mms/downloaderv2026.05.10.1mms_downloader.ts

Global Arguments

ArgumentTypeDescription
transmissionUser?stringTransmission RPC username
fn add(uri: string)
Add a download to the appropriate backend (Transmission for torrents, SABnzbd for usenet)
ArgumentTypeDescription
uristringMagnet URI or NZB URL
fn add_nzb_url()
Construct an NZB URL from a vault-resolved template + a hash
fn add_from_source()
Read a source model's `episodes` resource and add every item in its episodes array as a torrent. Fan-out alternative to workflow-level forEach.
fn status()
Query all backends for current download status (factory: one resource per download)
fn remove()
Remove specific torrents from Transmission by name filter
fn clean()
Remove completed downloads from backends

Resources

download(infinite)— Tracked download state
add_batch(infinite)— Per-invocation summary of an add call — added/failed items and counts. Aggregate shape; does not track per-torrent lifecycle (see download spec for that).
@keeb/mms/dedupv2026.05.08.1mms_dedup.ts
fn filter()
Read episode data from a source model, check local directories, output only new episodes. Parses raw titles with Ollama when show/episode fields are missing.

Resources

episodes(infinite)— All actionable episodes from the most recent invocation. Single
@keeb/mms/organizerv2026.04.24.1mms_organizer.ts
fn process()
Pop pending jobs from MongoDB queue, classify with LLM, and move files to organized locations
fn test(filename: string)
Dry-run classification: parse a filename and show where it would be organized without moving anything
ArgumentTypeDescription
filenamestringFilename to classify

Resources

job(infinite)— Processed media job result
@keeb/mms/subtitlesv2026.05.18.1mms_subtitles.ts
fn extract(path: string)
Extract an embedded subtitle track from an MKV to a sibling .srt file
ArgumentTypeDescription
pathstringPath to the input MKV file
fn extract_recent()
Batch-extract subtitles from MKVs produced by recent organizer jobs

Resources

extraction(infinite)— Subtitle extraction result
@keeb/subsplease-schedulev2026.04.11.1subsplease_schedule.ts
fn fetch(tz: string)
Fetch the SubsPlease weekly schedule, one resource per scheduled show
ArgumentTypeDescription
tzstringTimezone for schedule times

Resources

show(infinite)— A show on the SubsPlease weekly schedule
@keeb/tmdb-lookupv2026.05.14.1tmdb_lookup.ts

Global Arguments

ArgumentTypeDescription
apiKeystringTMDB API key (v3)
fn search(query: string, limit: number)
Search TMDB for a TV show by name, fetches full details including series status
ArgumentTypeDescription
querystringTV show name to search for
limitnumberMax results to return
fn searchMovie(query: string, year?: number, limit: number)
Search TMDB for a movie by title, fetches full details (release date, runtime, vote, etc.)
ArgumentTypeDescription
querystringMovie title to search for
year?numberOptional release-year hint to disambiguate
limitnumberMax results to return

Resources

show(infinite)— TV show info from TMDB
movie(infinite)— Movie info from TMDB
@keeb/rottentomatoesv2026.05.22.1rottentomatoes.ts

Global Arguments

ArgumentTypeDescription
tmdbApiKeystringTMDB API key (v3)
headlessbooleanRun Playwright headless. Consumer repo must have playwright installed (npm install playwright) so node can resolve it via upward module search from the pulled extension.
fn browse(sort: enum, loadMoreClicks: number)
Scrape a Rotten Tomatoes TV browse list, enrich each show via TMDB, and write one resource per show keyed by TMDB ID.
ArgumentTypeDescription
sortenumWhich Rotten Tomatoes TV browse list to scrape
loadMoreClicksnumberHow many times to click Load More before extracting (0 = first page only)

Resources

show(infinite)— A single TV show: Rotten Tomatoes scores + TMDB metadata. Spec is the TMDB ID (or rt-<slug> when no match).
@keeb/mms/tv-recommenderv2026.05.22.1tv_recommender.ts

Global Arguments

ArgumentTypeDescription
personaPath?stringDefault persona markdown path. Relative paths resolve under the consumer's repo root. If unset, the bundled `personas/host.md` is used.
fn collect(browseSort: enum, limit: number, personaPath?: string, bundledPersona?: string)
Read rottentomatoes shows for a given browseSort and the persona markdown; write a single `pack` resource the workflow forEach can drive Claude with.
ArgumentTypeDescription
browseSortenumWhich RT browse list to evaluate (matches rottentomatoes browseSort tag).
limitnumberMaximum number of shows to package for evaluation.
personaPath?stringPersona markdown path for this run. Overrides the model's personaPath global arg. Relative paths resolve under the consumer's repo root.
bundledPersona?stringName of a persona bundled with @keeb/mms (file in `personas/`, without the .md suffix). Use 'host' for the default. Wins over personaPath only when no path is given.
fn aggregate(collectVersion?: number)
Join the per-show Claude verdicts with the original RT metadata into a single ranked recommendation resource for the report.
ArgumentTypeDescription
collectVersion?numberVersion of tv_recommender's `pack` resource to aggregate against. Defaults to latest.

Resources

pack(infinite)— Per-show prompt material: persona text plus per-show JSON, ready for a forEach Claude call.
recommendations(infinite)— Aggregated verdicts: one row per show with parsed Watch/Skip + reasoning.
03Reports5
@keeb/mms/add-summarymethod
add_summary.ts

Summarize an add / add_from_source invocation — lists torrents/NZBs accepted and items that failed to add

downloaderadd
@keeb/mms/dedup-summarymethod
dedup_summary.ts

Summarize dedup filter results: what's new vs what was skipped

discoverydedup
@keeb/mms/discovery-summarymethod
discovery_summary.ts

Summarize discovered content from source searches

discovery
@keeb/mms/download-statusmethod
download_status.ts

Show active downloads with name, progress, and state

status
@keeb/mms/tv-recommendationsmethod
tv_recommendations.ts

Render the host's Watch/Skip verdicts for a tv_recommender.aggregate run — sorted by confidence within Watch, then Skip, then Unparsed.

recommendationshost
04Skills1
mms1 file
05Previous Versions11
2026.05.22.1May 23, 2026

Added 1 models

2026.05.18.1May 18, 2026

Add extract_recent batch method to subtitles for organize-and-clean wiring

Modified 3 models

2026.05.06.2May 7, 2026

Added 2, modified 4 models. Added 1 reports

2026.04.27.1Apr 27, 2026

Added 1 models

2026.04.22.3Apr 22, 2026
2026.04.22.2Apr 22, 2026

Added 1 skills

2026.04.06.1Apr 7, 2026
2026.04.02.3Apr 2, 2026
2026.04.02.2Apr 2, 2026

Modified 1 models

2026.04.02.1Apr 2, 2026

Added 1 reports

2026.03.29.1Mar 29, 2026
06Stats
B
85 / 100
Downloads
100
Archive size
486.0 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Dependencies pass trust audit0/2missing
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
07Platforms
08Labels