Skip to content

Skills should appear in the root autocomplete list, not only behind  #40720

Closed as not planned

Description

@Soushi888

Problem

Today the root / autocomplete deliberately filters out skill commands:

for (const serverCommand of sync.data.command) {
  if (serverCommand.source === "skill") continue
  // ...
}

Skills are reachable only through the /skills dialog. The practical effect is that the most extensible surface of OpenCode is the hardest to discover. New users do not know /skills exists, and even experienced users have to remember two menus instead of one.

Proposed approach

Stop skipping source === "skill" in the root list, so skill commands appear alongside built-in commands when the user types /.

Because this is a behavior change for every user with skills installed, I want to surface the design questions before opening a PR:

  1. Curation vs discoverability. Users with many skills installed would see a longer root list. Is that the right default, or should it be opt-in (a setting like tui.skillsAtRoot), or scoped (show skills at root only when the typed query after / matches one)?
  2. Ordering. Should skills sort after built-ins, interleave by frecency, or keep the existing slashes() first then everything else?
  3. Labeling. Today MCP commands get a :mcp suffix in the description. Should skills get an analogous marker (e.g., (skill)) so users can tell what they are invoking?

Why this belongs in OpenCode

Skills are the primary extension mechanism. Hiding them behind a separate dialog works against the plugin story. Surfacing them at root makes the extensibility model legible the first time a user types /.

Verification

  • I have verified this behavior does not exist in the latest version
  • I have searched for existing issues and PRs that cover this

The code change is one line (drop the continue), but it depends on the index-aware onSelect plumbing from #40719 so picking a long skill name mid-line works correctly. Holding off on the PR until the design questions above have a maintainer answer.

Activity

  1. github-actions commented on Aug 5, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. Soushi888 commented on Aug 5, 2026

    @Soushi888
    Author

    Closing as a duplicate of #35341 (filed a month earlier, same outcome: skills invocable from the root / list). Moved the three design questions (curation vs discoverability, ordering, labeling) over there since any implementation will need to answer them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions