# 🚀 CodeBuddy Code v2.54.0 Release

## ✨ New Features

### Skills Nested Subdirectories

Skills can now be organized using subdirectories within the `.codebuddy/skills/` directory. Nested Skills automatically generate colon-delimited qualified names (e.g., `category:skill-name`), and short name matching is also supported, making Skills management more flexible and organized.

## 🔧 Improvements

- **Startup optimization**: Eliminated redundant execution during PromptContext initialization; concurrent requests now reuse the same initialization result, improving startup speed
- **Model selection optimization**: Improved model selection mechanism across different agent modes, enhancing configuration flexibility
- **MCP config environment variable expansion**: `${VAR_NAME}` placeholders in MCP server configurations are now automatically replaced with the corresponding environment variable values. Supports command/args/env for stdio and url/headers for SSE/HTTP transports. Missing variables are left as-is with a diagnostic message generated
- **Context compaction stability**: Fixed an issue where message enqueuing during automatic compaction prevented compaction from executing, and improved robustness of interrupt waiting. Also fixed internal continuation messages displaying incorrectly in the chat UI during compaction
- **Vim word motion enhancement**: Word motions (w/b/e) in Vim mode and keybindings now correctly support CJK characters, treating each CJK character as an individual word
- **Gzip compression optimization**: Gzip compression is now automatically skipped when a custom API endpoint is configured or when a model uses a custom URL, preventing request failures caused by third-party services that do not support gzip
- **Hook output encoding fix**: Fixed garbled error messages from Hook scripts on Chinese Windows systems
- **/skills panel enhancement**: The Skills panel now also displays custom slash commands, with group headers showing the source directory path. Token counting now only includes the description portion, avoiding misconceptions about context usage
- **Truncation retry optimization**: When tool call parameters are too long causing output truncation, retry prompts now provide specific splitting suggestions based on tool type. Also fixed a potential infinite retry loop
- **Remote control stability**: Optimized WebSocket adapter implementation and session handling logic, improving connection stability
- **Task panel refresh**: Fixed an issue where the task detail view did not refresh when task status was updated

## 🐛 Bug Fixes

- **Plan confirmation dialog**: Fixed the Plan mode exit confirmation dialog incorrectly displaying "Loading plan..." — it now properly loads and shows the Plan content
- **Custom Agents source display**: Fixed Custom Agents from plugin sources showing `undefined` in the `/context` command
