anomalyco / anomalyco/opencode

Feature: exclude/deny skills from the skill selector (not just from the model's context)

Open
#41,288 1 comment 0 reactions 1 assignee View on GitHub

@kommander is already working on this.

Since Aug 8, 2026.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Summary

There's currently no way to keep specific skills out of the interactive skill selector
(/skills picker). permission.skill: { "gsd-*": "deny" } correctly removes denied skills from
the model's <available_skills> context, but those same skills still appear in the human-facing
selector. I'd like a config option to exclude skills from discovery/the picker as well.

Motivation

I use OpenCode alongside Claude Code on the same machine. Claude Code has ~70 plugin skills
installed under ~/.claude/skills/, which OpenCode also scans (Claude-compat discovery). In
OpenCode those skills are irrelevant, so:

  • They clutter the /skills selector with dozens of entries I'll never use in OpenCode.
  • I can't remove them from ~/.claude/skills/ because Claude Code needs them there.

permission.skill deny handles the context/token side nicely, but not the picker side.

Current behavior
  • permission.skill: { "*": "allow", "gsd-*": "deny" } → denied skills are excluded from the
    model's available-skills list (good, expected). ✅
  • The /skills selector still lists every discovered skill, including the denied ones. ❌
  • The only skills.* config is skills.paths, which adds discovery locations — there's no
    corresponding exclude/ignore/disable option.
Proposed solutions (any one would work)
  1. Have the selector honor permission.skill deny — the simplest: if a skill is denied for the
    active agent, omit it from the picker too. (One mental model for "hide this skill," both surfaces.)
  2. A skills.exclude / skills.ignore glob list — complement to skills.paths:
    "skills": {
      "exclude": ["gsd-*", "adhd"]   // by name, or path glob
    }
    
  3. A discovery-path opt-out — e.g. a way to disable the ~/.claude/skills Claude-compat scan
    specifically (parallels OPENCODE_DISABLE_CLAUDE_CODE_PROMPT for the global CLAUDE.md), or to
    set the scanned skill roots explicitly.
Environment
  • OpenCode 1.18.14 (Homebrew, macOS arm64)
  • Skills discovered from ~/.claude/skills (Claude Code plugins) in addition to project/OpenCode paths.
Workaround (for others hitting this)

The selector has a search box — typing a prefix (e.g. the skill family you want) filters it, so the
noise is avoidable in day-to-day use even though it can't be permanently hidden.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.