theme-manager

Centralize GitArbor TUI theme definitions in src/theme.ts and sync documentation.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/gitarbor/gitarbor-tui --skill theme-manager
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: theme-manager
Source: https://github.com/gitarbor/gitarbor-tui/tree/main/.opencode/skills/theme-manager
Command: npx skills add https://github.com/gitarbor/gitarbor-tui --skill theme-manager

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps teams design, implement, and maintain a consistent theming system for GitArbor TUI, preventing color drift and ensuring theme tokens are used across the UI.

Core Features & Use Cases

  • Centralizes theme definitions in src/theme.ts with a Theme interface to ensure consistency.
  • Keeps THEMES.md and THEME_REFERENCE.md in sync with implemented themes and design tokens.
  • Preview & persistence integration via Settings modal to apply and save user theme choices.

Use cases include adding new themes, updating existing theme colors, validating theme structure, and documenting theme tokens.

Quick Start

  • Open src/theme.ts and inspect the existing themes.
  • Add a new Theme object following the Theme interface.
  • Update the themes registry and corresponding docs.

Frequently Asked Questions about theme-manager

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

FAQPage Schema
How do I manage TUI theme tokens to prevent color drift across a design system?

Manage TUI theme tokens by centralizing definitions in a single theme.ts file using a Theme interface. This prevents color drift by enforcing consistent token usage across the UI, ensuring all components reference the same validated design system values.

What is the best way to add a new color palette to a TUI application?

Add a new color palette by defining a new Theme object in src/theme.ts following the Theme interface, registering the theme ID for the Settings modal, and updating the corresponding THEMES.md and THEME_REFERENCE.md documentation to keep design tokens in sync.

How do I keep theme documentation in sync with implemented UI tokens?

Keep theme documentation in sync by updating THEMES.md and THEME_REFERENCE.md whenever theme tokens are modified in src/theme.ts. This ensures the documentation accurately reflects the implemented color palette and design system structure for future reference.

Can I expose theme selection and persistence through a settings interface?

Expose theme selection and persistence by registering available theme IDs from src/theme.ts to a Settings modal. This allows users to preview, apply, and save their chosen color palette, with the centralized registry ensuring only valid themes are presented.

Does a centralized theme registry require external dependencies to validate tokens?

A centralized theme registry does not require external dependencies to validate tokens. It relies on a Theme interface defined directly in the codebase, using TypeScript type checking to ensure structure and prevent invalid color palette definitions.

Why do TUI color palettes become inconsistent without a theme management system?

TUI color palettes become inconsistent without a theme management system because scattered color values cause drift across components. Centralizing definitions in src/theme.ts enforces a single source of truth, preventing mismatched tokens and structural errors.