SkillAgentSearch skills...

CinefinTV

Android TV Client for Jellyfin

Install / Use

npx skills add rpeters1430/CinefinTV

Installs into whichever agent you are using.

About this skill

Gemini Rules

Gemini CLI config

Quality Score

35/100

Supported Platforms

Gemini CLI

Tags

This file defines the schema for the WATCH vertical in the Engage SDK.

{
  "client": "com.google.android.engage.service.AppEngagePublishClient",
  "clusterTypes": [
    "TYPE_RECOMMENDATION",
    "TYPE_FEATURED",
    "TYPE_CONTINUATION"
  ],
  "entities": {
    "MovieEntity": {
      "package": "com.google.android.engage.video.datamodel.MovieEntity",
      "fields": {
        "entityId": {
          "type": "String",
          "requirement": "Optional",
          "setter": "setEntityId(String)",
          "getter": "getEntityId()"
        },
        "posterImages": {
          "type": "List<Image>",
          "requirement": "Required",
          "adder": "addPosterImage(Image)",
          "getter": "getPosterImages()",
          "adderAll": "addPosterImages(List<Image>)"
        },
        "name": {
          "type": "String",
          "requirement": "Required",
          "setter": "setName(String)",
          "getter": "getName()"
        },
        "lastEngagementTimeMillis": {
          "type": "Long",
          "requirement": "Optional",
          "setter": "setLastEngagementTimeMillis(long)",
          "getter": "getLastEngagementTimeMillis()",
          "requiredFor": [
            "ContinuationCluster"
          ]
        },
        "watchNextType": {
          "type": "@WatchNextType int",
          "requirement": "Optional",
          "setter": "setWatchNextType(@WatchNextType int)",
          "getter": "getWatchNextType()",
          "requiredFor": [
            "ContinuationCluster"
          ]
        },
        "lastPlayBackPositionTimeMillis": {
          "type": "Long",
          "requirement": "Optional",
          "setter": "setLastPlayBackPositionTimeMillis(long)",
          "getter": "getLastPlayBackPositionTimeMillis()",
          "requiredFor": [
            "ContinuationCluster"
          ]
        },
        "availabilityTimeWindows": {
          "type": "List<DisplayTimeWindow>",
          "requirement": "Optional",
          "adder": "addAvailabilityTimeWindow(DisplayTimeWindow)",
          "getter": "getAvailabilityTimeWindows()"
        },
        "allAvailabilityTimeWindows": {
          "type": "List<List<DisplayTimeWindow>>",
          "requirement": "Optional",
          "adder": "addAllAvailabilityTimeWindows(DisplayTimeWindow)",
          "adderAll": "addAllAvailabilityTimeWindows(List<DisplayTimeWindow>)"
        },
        "playBackUri": {
          "type": "Uri",
          "requirement": "Required",
          "setter": "setPlayBackUri(Uri)",
          "getter": "getPlayBackUri()"
        },
        "infoPageUri": {
          "type": "Uri",
          "requirement": "Optional",
          "setter": "setInfoPageUri(Uri)",
          "getter": "getInfoPageUri()"
        },
        "releaseDateEpochMillis": {
          "type": "Long",
          "requirement": "Optional",
          "setter": "setReleaseDateEpochMillis(long)",
          "getter": "getReleaseDateEpochMillis()"
        },
        "availability": {
          "type": "@ContentAvailability int",
          "requirement": "Required",
          "setter": "setAvailability(@ContentAvailability int)",
          "getter": "getAvailability()"
        },
        "durationMillis": {
          "type": "Long",
          "requirement": "Required",
          "setter": "setDurationMillis(long)",
          "getter": "getDurationMillis()"
        },
        "genres": {
          "type": "List<String>",
          "requirement": "Optional",
          "adder": "addGenre(String)",
          "getter": "getGenres()",
          "adderAll": "addGenres(List<String>)"
        },
        "contentRatings": {
          "type": "List<String>",
          "requirement": "Required",
          "adder": "addContentRating(RatingSystem)",
          "getter": "getContentRatings()",
          "adderAll": "addContentRatings(List<RatingSystem>)"
        },
        "contentRatingsLegacies": {
          "type": "List<List<String>>",
          "requirement": "Required",
          "adder": "addContentRatingsLegacy(String)",
          "getter": "getContentRatingsLegacy()",
          "adderAll": "addContentRatingsLegacy(List<String>)"
        },
        "downloadedOnDevice": {
          "type": "Boolean",
          "requirement": "Optional",
          "setter": "setDownloadedOnDevice(boolean)",
          "getter": "isDownloadedOnDevice()"
        },
        "price": {
          "type": "Price",
          "requirement": "Optional",
          "setter": "setPrice(Price)",
          "getter": "getPrice()"
        },
        "platformSpecificPlaybackUris": {
          "type": "List<PlatformSpecificUri>",
          "requirement": "Optional",
          "adder": "addPlatformSpecificPlaybackUri(PlatformSpecificUri)",
          "getter": "getPlatformSpecificPlaybackUris()",
          "adderAll": "addPlatformSpecificPlaybackUris(List<PlatformSpecificUri>)"
        },
        "recommendationReason": {
          "type": "@NonNull RecommendationReason",
          "requirement": "Optional",
          "setter": "setRecommendationReason(@NonNull RecommendationReason)",
          "getter": "getRecommendationReason()"
        },
        "description": {
          "type": "@NonNull String",
          "requirement": "Optional",
          "setter": "setDescription(@NonNull String)",
          "getter": "getDescription()"
        },
        "callToActionText": {
          "requirement": "Optional",
          "setter": "setCallToActionText(@NonNull String)",
          "type": "@NonNull String",
          "getter": "getCallToActionText()"
        },
        "tags": {
          "requirement": "Optional",
          "adder": "addTag(@NonNull String)",
          "type": "List<@NonNull String>",
          "adderAll": "addTags(List<String>)",
          "getter": "getTags()"
        }
      }
    },
    "TvShowEntity": {
      "package": "com.google.android.engage.video.datamodel.TvShowEntity",
      "fields": {
        "entityId": {
          "type": "String",
          "requirement": "Optional",
          "setter": "setEntityId(String)",
          "getter": "getEntityId()"
        },
        "posterImages": {
          "type": "List<Image>",
          "requirement": "Required",
          "adder": "addPosterImage(Image)",
          "getter": "getPosterImages()",
          "adderAll": "addPosterImages(List<Image>)"
        },
        "name": {
          "type": "String",
          "requirement": "Required",
          "setter": "setName(String)",
          "getter": "getName()"
        },
        "lastEngagementTimeMillis": {
          "type": "Long",
          "requirement": "Optional",
          "setter": "setLastEngagementTimeMillis(long)",
          "getter": "getLastEngagementTimeMillis()",
          "requiredFor": [
            "ContinuationCluster"
          ]
        },
        "watchNextType": {
          "type": "@WatchNextType int",
          "requirement": "Optional",
          "setter": "setWatchNextType(@WatchNextType int)",
          "getter": "getWatchNextType()",
          "requiredFor": [
            "ContinuationCluster"
          ]
        },
        "lastPlayBackPositionTimeMillis": {
          "type": "Long",
          "requirement": "Optional",
          "setter": "setLastPlayBackPositionTimeMillis(long)",
          "getter": "getLastPlayBackPositionTimeMillis()",
          "requiredFor": [
            "ContinuationCluster"
          ]
        },
        "availabilityTimeWindows": {
          "type": "List<DisplayTimeWindow>",
          "requirement": "Optional",
          "adder": "addAvailabilityTimeWindow(DisplayTimeWindow)",
          "getter": "getAvailabilityTimeWindows()"
        },
        "allAvailabilityTimeWindows": {
          "type": "List<List<DisplayTimeWindow>>",
          "requirement": "Optional",
          "adder": "addAllAvailabilityTimeWindows(DisplayTimeWindow)",
          "adderAll": "addAllAvailabilityTimeWindows(List<DisplayTimeWindow>)"
        },
        "infoPageUri": {
          "type": "Uri",
          "requirement": "Required",
          "setter": "setInfoPageUri(Uri)",
          "getter": "getInfoPageUri()"
        },
        "playBackUri": {
          "type": "Uri",
          "requirement": "Optional",
          "setter": "setPlayBackUri(Uri)",
          "getter": "getPlayBackUri()"
        },
        "firstEpisodeAirDateEpochMillis": {
          "type": "Long",
          "requirement": "Optional",
          "setter": "setFirstEpisodeAirDateEpochMillis(long)",
          "getter": "getFirstEpisodeAirDateEpochMillis()"
        },
        "latestEpisodeAirDateEpochMillis": {
          "type": "Long",
          "requirement": "Optional",
          "setter": "setLatestEpisodeAirDateEpochMillis(long)",
          "getter": "getLatestEpisodeAirDateEpochMillis()"
        },
        "availability": {
          "type": "@ContentAvailability int",
          "requirement": "Required",
          "setter": "setAvailability(@ContentAvailability int)",
          "getter": "getAvailability()"
        },
        "seasonCount": {
          "type": "Integer",
          "requirement": "Required",
          "setter": "setSeasonCount(int)",
          "getter": "getSeasonCount()"
        },
        "genres": {
          "type": "List<String>",
          "requirement": "Optional",
          "adder": "addGenre(String)",
          "getter": "getGenres()",
          "adderAll": "addGenres(List<String>)"
        },
        "contentRatings": {
          "type": "List<String>",
          "requirement": "Required",
          "adder": "addContentRating(RatingSystem)",
          "getter": "getContentRatings()",
          "adderAll": "addContentRatings(List<RatingSystem>)"
        },
        "contentRatingsLegacies": {
          "type": "List<List<String>>",
          "requirement": "Required",
          "adder": "addContentRatingsLegacy(String)",
          "getter": "getContentRatingsLegacy()",
          "adderAll": "addContentRatingsLegacy(List<String>)"
        },
        "price": {
          "type": "Price",
          "requirement": "Optional",
          "setter": "setPrice(Price)",
          "getter": "getPrice()"
        },
        "platformSpecificPlaybackUris": {
          "type": "List<PlatformSpecificUri>",
          "requirement": "Required",
          "adder": "addPlatformSpecificPlaybackUri(PlatformSpecificUri)",
          "getter": "getPlatformSpecificPlaybackUris()",
          "adderAll": "addPlatformSpecificPlaybackUris(List<PlatformSpecificUri>)"
        },
        "recommendationReason": {
          "type": "@NonNull RecommendationReason",
          "requirement": "Optional",
          "setter": "setRecommendationReason(@NonNull RecommendationReason)",
          "getter": "getRecommendationReason()"
        },
        "descriptio

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars0
CategoryDevelopment
UpdatedNaNy ago
Forks0

Security Score

68/100

Audited on Invalid Date

2 medium1 low