Add configurable CLI presentation themes (#248) - #305
Conversation
- add pastel, ocean, and mono built-in themes - persist global theme selection through the interactive menu - support project-level overrides and graceful fallback - update CLI documentation, tests, example config, and changelog
# Conflicts: # .skillware.yaml.example # CHANGELOG.md # docs/usage/cli.md # skillware/cli.py # skillware/core/config.py
|
Thanks @harshthakur3, very strong work on this. The config merge ( One thing before merge: After that, and if we confirm CI is green on the latest Thanks again for the thorough PR description and screenshots. Looks really good! |
|
Sure, I’ll look into it and get the mail submenu themed as well. Thanks for the review! |
# Conflicts: # CHANGELOG.md
Move CLI palette definitions into a shared theme module so the main and mail interfaces use the same configured theme. Replace hardcoded pastel styles in mail commands and add regression coverage for pastel, ocean, and mono.
|
Hey @rosspeili, sorry for the late update—this was a small change I could’ve handled much sooner, and I’m sorry for keeping you waiting. I’ve synced with the latest Thanks for the clear feedback and your patience! 🙏 |


Description
Adds user-configurable presentation themes to the interactive Skillware CLI.
Users can choose between
pastel,ocean, andmonothrough the interactive menu. The selected theme is persisted in the global Skillware configuration, while a project-level configuration can override it. Missing, malformed, or unknown theme values fall back safely topastel.Fixes #248
Changes
pastel,ocean, andmonobuilt-in presentation themes.7/theme.presentation.theme.pastelfor unknown or malformed values.skillware config showto display the effective theme.Acceptance Criteria
skillware/cli.py.tests/test_cli.py.7/theme.skillware/core/config.py.tests/test_config.py.docs/usage/cli.mdand.skillware.yaml.example.pastel,ocean, andmono.Screenshots
The screenshots below demonstrate theme configuration, interactive selection, persistence, and rendering across all three built-in themes.
Configuration and available themes
Default pastel theme
The existing pastel appearance remains the default and graceful fallback.
Interactive theme selection
Users can select a theme through the interactive CLI without manually editing YAML.
Ocean theme configuration
The selected theme is saved under
presentation.themewhile unrelated configuration is preserved.Ocean theme rendering
The ocean palette is applied consistently to the splash screen, headings, menu entries, and links.
Mono theme selection
The monochrome palette can also be selected and persisted through the interactive menu.
Mono theme rendering
The mono palette applies a consistent grayscale presentation across the CLI.
Testing
The following verification was completed locally:
git diff --checkpassed.Tests cover:
pastelbehaviorType of Change
skillware/cli.py, configuration, tests, and CLI documentationChecklist
Fixes #248.CHANGELOG.mdwas updated under[Unreleased].examples/README.mdis not applicable because no runnable scripts changed.tests/test_registry_docs.pyis not applicable because no skills, examples index, or agent-loop matrix changed.skills/changed.Related Issues
Fixes #248