Kometa custom overlays
Skill nichtlegacy/kometa-skill/skills/kometa-custom-overlays
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-custom-overlaysAssembled 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 custom Kometa overlay file, text or image overlays, queue-based placement, weighted overlay stacks, season or episode overlays, Plex search targeting, status ribbons, year badges, resolution markers, or wants overlay YAML reviewed or repaired. Use this skill for any request that should produce an `overlays:` file rather than a default reference.
SKILL.md
6.2 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
Kometa Custom Overlays
Own standalone overlay files.
Goal
- Produce valid-looking
overlays:files with correct top-level structure. - Keep whole-library overlay behavior explicit.
- Warn about runtime, image bloat, and art-source pitfalls.
Output Contract
Always return:
- YAML for an overlay file
- 2-5 short bullets on targeting, placement, and stacking behavior
- Caveats for scheduling,
reapply_overlays, image bloat, and required linked config
File Boundary
Belongs here:
overlays:queues:- overlay-local
templates external_templates- builders such as
plex_search,plex_all, and overlay targeting logic - overlay style keys such as alignments, offsets, colors, fonts, and weights
Does not belong here:
overlay_files:references fromconfig.yml- top-level connectors
- collection-only builder guidance
Hard Rules
overlays:appears once at top level- overlays are computed at the whole-library level
- overlays that should coexist must run in the same Kometa run
- do not recommend individual overlay-file schedules; use library
schedule_overlays reapply_overlays: trueshould be discouraged unless there is a specific reason
Runtime Rules
- all overlay coordinates assume standard poster or background sizes
- transparent PNG-style image assumptions are safest
- changing art directly in Plex after overlays are applied can confuse overlay state
- asset directories are the safest clean-art source of truth
remove_overlays: trueis cleanup behavior, not a normal steady-state recommendation
Clean Art Workflow
- with asset art present, the asset becomes Kometa's clean-art source of truth
- without asset art, Kometa relies on backup posters under
config/overlays/LIBRARY_NAME Original Posters/ - safest art-swap workflow: add new poster to the asset directory, keep
prioritize_assets: true, and run overlays normally reapply_overlays: trueshould be temporary and explicitmass_poster_updatecan reset art before overlays and is a common image-bloat trap- if Plex art was changed manually, removing the
Overlaylabel from the item can help Kometa treat it as clean art again
Decision Rules
Use this skill when:
- the user wants raw
overlays:YAML - the user wants custom text or image overlays
- the user wants weighted or stacked overlay behavior
- the user wants season or episode overlays via
builder_level
Do not use this skill when:
- the user only needs a built-in overlay default call
Placement Rules
- put style attributes under
overlay:when defining the overlay body - use
horizontal_align,vertical_align,horizontal_offset, andvertical_offsettogether - use queue and weight concepts when multiple overlays compete for the same space
Targeting Rules
plex_all: trueis valid for broad overlaysplex_searchis best for targeted overlays and nested logic- if using season or episode overlays, call out
builder_level
Embedded Examples
Text overlay
overlays:
year:
overlay:
name: text(<<originally_available[%Y]>>)
horizontal_offset: 45
vertical_offset: 45
horizontal_align: left
vertical_align: top
font_size: 63
font_color: "#FFFFFF"
back_color: "#00000099"
back_radius: 5
back_padding: 20
plex_all: true
Targeted overlay
overlays:
directplay:
overlay:
name: text(Direct Play)
horizontal_offset: 0
horizontal_align: center
vertical_offset: 150
vertical_align: bottom
font_size: 63
font_color: "#FFFFFF"
back_color: "#00000099"
back_radius: 30
back_padding: 30
plex_search:
all:
resolution: 4K
Season-level default-style targeting idea
overlays:
season-hdr:
builder_level: season
overlay:
name: text(HDR)
horizontal_align: right
vertical_align: top
plex_search:
all:
hdr: true
Queue-safe badge stack
queues:
left_badges:
horizontal_align: left
vertical_align: top
overlays:
hdr:
queue: left_badges
weight: 100
overlay:
name: text(HDR)
back_color: "#00000099"
plex_search:
all:
hdr: true
Local References
Read only what matches the request:
references/cards/files--overlays.mdreferences/cards/overlays--core.mdreferences/cards/defaults--overlays.mdreferences/cards/templates--core.mdreferences/cards/kometa--guides--overlays.mdreferences/cards/overlays--clean-art.mdreferences/cards/kometa--guides--assets.md
Use these examples first:
examples/gold/gold-custom-year-overlay.ymlexamples/gold/gold-custom-resolution-overlay.ymlexamples/gold/gold-default-resolution-call.ymlexamples/gold/gold-asset-first-overlay-config.ymlexamples/gold/gold-asset-directory-multi-root.ymlexamples/gold/gold-remove-overlay-label-season.ymlexamples/gold/gold-remove-overlay-label-episode.yml
Review Checklist
- does the file start with
overlays:? - are placement keys nested under
overlay:where needed? - is the selector under the overlay entry, not at top level?
- is the user accidentally asking for a default overlay reference instead of a custom overlay file?
- does the answer imply unsafe overlay scheduling behavior?
- does the advice protect clean art or does it casually recommend
reapply_overlays? - does the wider workflow need asset-directory guidance even if the output file itself is only
overlays:? - if the user is really fixing bad clean art, should this be routed to a small repair collection instead of more overlay YAML?
Stopping Condition
Finish when:
- the file is clearly an overlay file
- placement and targeting are understandable
- the user has been warned about whole-library overlay behavior
What ships with it: 1 file
351 B alongside SKILL.md
agents/
- openai.yaml351 B