---
feature: "Kodi Expertise"
description: "Kodi-specific development knowledge — runtime, API, skinning, settings, LLM generation"
files:
  - ".agent/skills/kodi-addon-runtime/SKILL.md"
  - ".agent/skills/kodi-python-api/SKILL.md"
  - ".agent/skills/kodi-skinning-xml/SKILL.md"
  - ".agent/skills/kodi-settings/SKILL.md"
  - ".agent/skills/kodi-addons/SKILL.md"
  - ".agent/skills/kodi-management/SKILL.md"
  - ".agent/skills/llm-xml-generation/SKILL.md"
  - ".agent/rules/kodi-development.md"
  - ".agent/rules/kodi.md"
parent: true
children:
  - "Addon Runtime"
  - "Python API"
  - "XML Skinning"
  - "Settings Engine"
  - "LLM XML Generation"
  - "Addon Management"
updated: "2026-04-12"
---

# Kodi Expertise

Domain-specific knowledge about Kodi that standard LLMs don't know. These skills contain critical Kodi engine quirks, API patterns, and gotchas that prevent common development errors.

## Children

### Addon Runtime
- **What it does**: Documents Kodi's unique execution model — plugin statelessness, service persistence, URL routing, hybrid addons
- **Key knowledge**: Every plugin invocation is a fresh Python process. Services are persistent. `sys.argv` routing. `addon.xml` manifest structure.
- **Skill**: `kodi-addon-runtime` (176 lines)

### Python API
- **What it does**: Reference for Kodi Python modules — xbmc, xbmcgui, xbmcplugin, xbmcaddon, xbmcvfs
- **Key knowledge**: ListItem API (V1 deprecated, V2 via InfoTagVideo), `setResolvedUrl` for playback, threading (`xbmc.Monitor` not `time.sleep`), `WindowXMLDialog` lifecycle
- **Skill**: `kodi-python-api` (208 lines)

### XML Skinning
- **What it does**: Kodi XML skinning engine — absolute positioning, no CSS/flexbox, AARRGGBB colors, manual navigation
- **Key knowledge**: All positioning is absolute X,Y,W,H. Controls: label, image, button, group, list, textbox, progress. `Window.Property` for Python↔XML communication. `onup/ondown/onleft/onright` for navigation.
- **Skill**: `kodi-skinning-xml` (311 lines)

### Settings Engine
- **What it does**: Kodi addon settings.xml V2 format — control types, visibility conditions, eq() counting
- **Key knowledge**: `eq(-N)` counting is relative to Nth `<setting>` before current. Visibility/enable conditions. Python API V1 (`getSetting`) vs V2 (`getSettingInt`).
- **Skill**: `kodi-settings` (270 lines)

### LLM XML Generation
- **What it does**: Hybrid approach for AI-generated Kodi XML dialogs — Python wrapper + LLM design
- **Key knowledge**: Python builds functional XML skeleton (navigation, Window.Property binds). LLM generates aesthetic layout within constraints. Validation → retry → hardcoded fallback pipeline.
- **Skill**: `llm-xml-generation` (222 lines)

### Addon Management
- **What it does**: Installing, removing, updating Kodi addons via shell — without GUI
- **Key knowledge**: Addons33.db registration, recursive dependency resolution, Kodi mirror structure, JSON-RPC enable
- **Skills**: `kodi-addons` (162 lines), `kodi-management` (109 lines)
