In the desktop app (@opencode-aidesktop, v1.18.16), pressing / shows every registered skill as a command (e.g. /using-godot-prompter, each with a Skill badge). The terminal TUI already filters these out, so this is a desktop-only behavior.
Expected behavior
Skills should not appear in the / command menu - they are meant to be invoked by the agent via the native skill tool, not manually by the user. This matches the terminal TUI behavior.
How to reproduce
- Install any plugin that registers skills (e.g. via
skills.paths or a plugin's config hook)
- Open the desktop app and press
/
- See all skills listed as commands with a Skill badge
Evidence / investigation
- The terminal TUI explicitly skips skill commands in the autocomplete menu:
packages/tui/src/component/prompt/autocomplete.tsx - if (serverCommand.source === skill) continue;
- In the desktop app's bundle, the v1 legacy path contains a commented-out filter (
// source: command.source === skill ? undefined : command.source), suggesting the intent existed but was not enabled.
- The
permission.skill mechanism only offers allow/ask/deny; deny also hides skills from the agent, so there is no way to hide them from the menu while keeping them available to the agent.
- No config option (in
opencode.json schema) controls skill visibility in the desktop command menu.
Suggested fix
Apply the same source === skill filter to the desktop app's command list loading (the api.list() path), mirroring the terminal TUI. Skills would remain discoverable/invocable by the agent via the skill tool; they would simply not clutter the user-facing / menu.
In the desktop app (
@opencode-aidesktop, v1.18.16), pressing/shows every registered skill as a command (e.g./using-godot-prompter, each with a Skill badge). The terminal TUI already filters these out, so this is a desktop-only behavior.Expected behavior
Skills should not appear in the
/command menu - they are meant to be invoked by the agent via the nativeskilltool, not manually by the user. This matches the terminal TUI behavior.How to reproduce
skills.pathsor a plugin's config hook)/Evidence / investigation
packages/tui/src/component/prompt/autocomplete.tsx-if (serverCommand.source === skill) continue;// source: command.source === skill ? undefined : command.source), suggesting the intent existed but was not enabled.permission.skillmechanism only offersallow/ask/deny;denyalso hides skills from the agent, so there is no way to hide them from the menu while keeping them available to the agent.opencode.jsonschema) controls skill visibility in the desktop command menu.Suggested fix
Apply the same
source === skillfilter to the desktop app's command list loading (theapi.list()path), mirroring the terminal TUI. Skills would remain discoverable/invocable by the agent via theskilltool; they would simply not clutter the user-facing/menu.