agentsclimarketplace

Kometa dynamic collections

Skill nichtlegacy/kometa-skill/skills/kometa-dynamic-collections

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.

Install
npx -y skills add nichtlegacy/kometa-skill --skill kometa-dynamic-collections

Assembled 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 Kometa dynamic collections, `dynamic_collections:` YAML, genre/country/network/person/year fan-out, `tmdb_collection`, `tmdb_popular_people`, `imdb_awards`, Letterboxd user-list fan-out, key overrides, addons, `title_format`, per-key `template_variables`, or help reviewing dynamic collection YAML. Use this skill for any request that should generate many collections from one dynamic definition.

SKILL.md

5.9 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Kometa Dynamic Collections

Own dynamic_collections: definitions inside collection files.

Goal

  • Produce valid-looking dynamic collection definitions.
  • Explain key vocabulary, type/data requirements, and naming controls.
  • Keep dynamic logic inside collection files.

Output Contract

Always return:

  1. YAML for a collection file containing dynamic_collections:
  2. 2-5 short bullets on type, naming, and generation behavior
  3. Caveats for data, templates, provider dependencies, and over-generation risk

File Boundary

Belongs here:

  • dynamic_collections:
  • dynamic type
  • optional data
  • exclude, include, addons
  • title_format, remove_prefix, remove_suffix, key_name_override, title_override
  • template
  • dynamic template_variables

Does not belong here:

  • config.yml root wiring
  • standalone metadata edits
  • plain one-off collections unless the user truly wants fan-out generation

Mental Model

  • one dynamic definition creates many normal collections
  • type determines where keys come from
  • data is only used for types that need extra input
  • each generated collection uses either the built-in default template for that type or a custom template

Key Vocabulary

  • key: raw dynamic value, often an ID or source value
  • key_name: display name after naming cleanup
  • title_format: how the final collection title is rendered

If the user is confused:

  • explain key as the source
  • explain key_name as the cleaned display name

Decision Rules

Use dynamic collections when:

  • the user wants one rule to generate many collections
  • the user wants per-genre, per-country, per-network, per-decade, or per-person collections
  • the user wants awards or user-list fan-out without hand-writing each collection

Do not use dynamic collections when:

  • the user wants one or two explicit collections only
  • the user does not actually need fan-out

High-Value Types

Good default choices:

  • tmdb_collection
    • franchise collections from items already in the library
  • tmdb_popular_people
    • people collections from TMDb popular people
  • genre, country, network, decade, year
    • classic library-driven fan-out
  • imdb_awards
    • year-based awards fan-out with event_id, starting, and ending
  • letterboxd_user_lists
    • one collection per Letterboxd user list
  • audio_language, subtitle_language, edition, resolution
    • library-derived fan-out from real Plex traits

Data Rules

  • some types do not use data
  • some types require data, often as a number or dictionary
  • if a type relies on external provider state, call that dependency out

Examples:

  • tmdb_popular_people
    • data: 10
  • imdb_awards
    • dictionary with event_id, starting, ending, optional increment

Naming Rules

Best levers:

  • title_format
  • remove_prefix
  • remove_suffix
  • key_name_override
  • title_override

Use addons when:

  • multiple source keys should merge into one parent collection

Use exclude or include when:

  • the user wants strict control over what gets generated

Template Rules

  • each dynamic type has a default template
  • switch to a custom template when the user needs different builders, sort logic, or metadata behavior
  • template_variables can be set per key, and default can act as a fallback key

Do not confuse this with defaults-style template_variables.

Embedded Examples

TMDb collections

dynamic_collections:
  TMDb Collections:
    type: tmdb_collection
    remove_suffix: Collection

TMDb popular people

dynamic_collections:
  TMDb Popular People:
    type: tmdb_popular_people
    data: 10

IMDb awards

dynamic_collections:
  Oscar Awards Lists:
    type: imdb_awards
    data:
      event_id: ev0000003
      starting: latest-15
      ending: latest

Country naming cleanup

dynamic_collections:
  Countries:
    type: country
    title_format: <<key_name>> Cinema
    key_name_override:
      France: French

Audio language fan-out

dynamic_collections:
  Audio Languages:
    type: audio_language
    title_format: Top <<key_name>> Movies

Edition fan-out

dynamic_collections:
  Editions:
    type: edition
    title_format: <<key_name>> Cuts

Addons merge

dynamic_collections:
  Networks:
    type: network
    addons:
      MTV:
        - MTV2
        - MTV3
        - MTV (UK)

Local References

Read only what matches the request:

  • references/cards/files--dynamic.md
  • references/cards/dynamic--core.md
  • references/cards/dynamic--types.md
  • references/cards/dynamic--library-derived.md
  • references/cards/templates--core.md

Use these tiny examples first:

  • examples/gold/gold-dynamic-region.yml
  • examples/gold/gold-dynamic-tmdb-people.yml
  • examples/gold/gold-dynamic-imdb-awards.yml
  • examples/gold/gold-dynamic-audio-languages.yml
  • examples/gold/gold-dynamic-editions.yml
  • examples/gold/gold-template-external-actor.yml

Review Checklist

  • is this inside a collection file?
  • does the chosen type actually fit the request?
  • does the type require data, and if so is it present?
  • are naming overrides under the dynamic entry instead of somewhere random?
  • does the user really need fan-out generation?

Stopping Condition

Finish when:

  • the dynamic collection shape is correct
  • type and data requirements are explicit
  • naming and generation behavior are clear

What ships with it: 1 file

376 B alongside SKILL.md

agents/

Keep looking

Skills are one crate of 326,984. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.