new-api-version

Implement new Jellyfin API version dispatch tiers in JellyRock Roku client.

37|2|Updated Jun 28, 2025
One-click install
npx skills add https://github.com/jellyrock/jellyrock --skill new-api-version
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: new-api-version
Source: https://github.com/jellyrock/jellyrock/tree/main/.claude/skills/new-api-version
Command: npx skills add https://github.com/jellyrock/jellyrock --skill new-api-version

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

When upstream Jellyfin releases introduce breaking API changes that require a new if m.getApiVersion() >= N dispatch level, implementing the new tier incorrectly can lead to half-built, broken API dispatch that leaves JellyRock non-functional for users on newer Jellyfin server versions. This Skill eliminates that risk by providing a step-by-step guided workflow that coordinates every required surface change in the correct order.

Core Features & Use Cases

  • End-to-end tier scaffolding: Walks contributors through every required update in sequence: the YAML version boundary map, the resolveApiVersion() BrightScript twin, new sdkVN.bs endpoint shims, dispatch branches in ApiClient.bs, device profile updates, manifest tier clamps, and documentation updates.
  • Built-in consistency guardrails: Includes static verification gates (twin-consistency checks, manifest drift detection, boundary validation) that catch mismatches between the boundary map, dispatch logic, and manifest before code is merged, preventing broken dispatch.
  • Use Case: When proactive triage via /server-upgrade <rc-or-unstable> identifies a breaking API shift requiring a new tier (e.g., V3 for Jellyfin 10.12+), this skill ensures all related changes are implemented and validated together, avoiding partial implementations that break user functionality.

Quick Start

Use the new-api-version skill to stand up a new Jellyfin API version tier for the breaking changes introduced in Jellyfin server version X, following the guided steps to update all required surfaces and run all validation checks.

Frequently Asked Questions about new-api-version

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new Jellyfin API version tier to a BrightScript client?

To safely add a new Jellyfin API version tier, you must coordinate updates across the YAML version boundary map, resolveApiVersion() function, sdkVN.bs endpoint shims, dispatch branches in ApiClient.bs, device profile updates, manifest tier clamps, and documentation.

When do I need to create a new API dispatch level for Jellyfin breaking changes?

You need a new API dispatch level when upstream Jellyfin releases introduce breaking API changes that cannot be handled by existing tier branches. This is typically identified during proactive server upgrade triage workflows.

How does static validation prevent broken API dispatch in JellyRock?

Static validation prevents broken API dispatch by running consistency checks that catch mismatches between the YAML boundary map, BrightScript dispatch logic, and API usage manifest before code is merged. This stops half-built tier implementations from breaking user functionality.

Can I handle Jellyfin server API changes without updating the manifest tier clamps?

No, handling breaking API changes requires updating manifest tier clamps along with the YAML boundary map and dispatch logic. Skipping manifest updates causes drift detection failures and leaves the API dispatch logic half-built and non-functional for users on newer server versions.

What is the relationship between the YAML boundary map and the resolveApiVersion() function?

The YAML boundary map and the resolveApiVersion() BrightScript function act as twins that must maintain load-bearing consistency. Static validation gates verify that both match exactly to prevent broken API dispatch when a new Jellyfin API version tier is introduced.

What are the limitations of using existing tier branches for Jellyfin API updates?

Existing tier branches are limited because they cannot handle breaking API changes introduced by new upstream Jellyfin releases. When a breaking shift occurs that falls outside current version boundaries, a completely new dispatch tier is required to maintain client functionality.