Kometa metadata files
Agent-first Kometa skill library for Codex and Claude: generate, review, and debug Plex automation YAML for configs, collections, overlays, metadata, playlists, defaults, operations, and reports.
npx -y skills add nichtlegacy/kometa-skill --skill kometa-metadata-filesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use whenever the user wants a Kometa metadata file, `metadata:` edits, item matching, titles, summaries, artwork, labels, ratings, season or episode edits, music album or track edits, `mapping_id`, `tmdb_show`, or a metadata YAML review. Use this skill aggressively for any request that edits existing items rather than building collections.
SKILL.md
5.5 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Kometa Metadata Files
Own standalone metadata: files for item edits.
Goal
- Produce valid-looking metadata files for movies, shows, seasons, episodes, artists, albums, and tracks.
- Use the safest matching strategy available.
- Keep builders and collection logic out of metadata files.
Output Contract
Always return:
- YAML for a metadata file
- 2-5 short bullets on matching and edit scope
- Caveats for ambiguity, IDs, and artwork sources
File Boundary
Belongs here:
metadata:match:- text fields like
title,sort_title,summary,tagline - ratings, labels, dates, language fields
- poster/background fields
- nested
seasons:/episodes:oralbums:/tracks:
Does not belong here:
collections:playlists:- builder keys such as
tmdb_list,trakt_list,plex_search,tmdb_discover
Matching Rules
Use this order of preference:
mapping_idwhen the user has a stable TMDb, TVDb, or IMDb identifiermatch.titleplusyearwhen titles are ambiguous- exact entry name only when ambiguity risk is low
Movie-specific matching can use:
mapping_idtitleyeareditionedition_containsblank_edition
Show-specific matching can use:
mapping_idtitleyear
Safety rule:
- if the user gives a common title with no year or ID, say matching is unsafe
- if the title is only a number like
9or24, quote it when it is a title rather than an ID
Hierarchy Rules
For shows:
- show edits live at the main item level
seasons:nests under the showepisodes:nests under a specific season
For music:
- artist edits live at the main item level
albums:nests under the artisttracks:nests under the album
Do not flatten these levels.
Special Cases
- use
tmdb_showwhen a movie-library item should map to TMDb show metadata - use lists under
match.titlewhen Plex naming varies across versions - use
sort_titlewhen the real ask is ordering, not display title - edition-specific movie matching can use
edition,edition_contains, orblank_edition - if the user really wants a set of items, route to collections instead of metadata
Advanced Metadata Fields
High-value direct item edits:
editionmetadata_languageaudio_languagesubtitle_languageuse_original_titleepisode_orderingepisode_sortingkeep_episodesseason_displaycredits_detection
Practical rules:
- show policy fields like
keep_episodesorepisode_orderingbelong at the show level - season-scoped language preferences belong in nested season blocks
- direct metadata edits change existing items; they do not select sets of items
Common Mistakes
- using
collections:as the top-level key for metadata edits - pasting season edits at top level instead of under a show
- putting builder keys into metadata files
- relying on a bare title when multiple versions exist
Embedded Examples
Movie metadata with explicit match
metadata:
The Matrix:
match:
title: The Matrix
year: 1999
summary: A hacker discovers the world is a simulation.
label:
- Sci-Fi Essentials
audience_rating: 9.0
Show with seasons and episode edit
metadata:
"Avatar: The Last Airbender":
sort_title: Avatar 01
seasons:
1:
title: "Book One: Water"
3:
episodes:
21:
summary: The Epic Series Final of Avatar The Last Airbender
Ambiguous title with alternate names and tmdb_show
metadata:
"Halo 4: Forward Unto Dawn":
match:
title:
- Halo 4: Forward Unto Dawn
- Halo 4 Forward Unto Dawn
tmdb_show: 56295
content_rating: R
Edition-specific movie match
metadata:
Star Wars 4K77:
match:
title: Star Wars
edition_contains: 4K77
summary: Fan preservation edition metadata
Show language preferences
metadata:
Dark:
metadata_language: de-DE
use_original_title: yes
seasons:
1:
audio_language: de-DE
subtitle_language: en-US
Local References
Read only what matches the request:
references/cards/files--metadata.mdreferences/cards/metadata--matching.mdreferences/cards/metadata--hierarchy.mdreferences/cards/metadata--advanced-fields.md
Use these tiny examples first:
examples/gold/gold-metadata-match.ymlexamples/gold/gold-metadata-show-seasons.ymlexamples/gold/gold-metadata-mapping-id.ymlexamples/gold/gold-metadata-edition-match.ymlexamples/gold/gold-metadata-show-language.yml
Review Checklist
- is the top-level key
metadata:? - is matching explicit enough for the title given?
- are season or episode edits nested under the correct show?
- are album or track edits nested under the correct artist and album?
- is the user editing existing items rather than asking for a collection?
Stopping Condition
Finish when:
- the metadata file shape is correct
- the match strategy is explicit and safe enough
- nested edits are placed at the right level
What ships with it: 1 file
353 B alongside SKILL.md
agents/
- openai.yaml353 B