Skip to content

[FEATURE]: Add skills.exclude config to disable specific skill directories #26424

Closed as not planned

Description

@ahmadaidin

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Problem

OpenCode scans 6 standard skill directories (global + project-level):

  • ~/.config/opencode/skills//SKILL.md
  • ~/.claude/skills//SKILL.md
  • ~/.agents/skills//SKILL.md
  • .opencode/skills//SKILL.md
  • .claude/skills//SKILL.md
  • .agents/skills//SKILL.md

Users may want to exclude specific directories (e.g., ~/.agents/skills/) while keeping others (e.g., ~/.claude/skills/). Currently there is no selective exclusion mechanism — either all global directories are scanned, or none via OPENCODE_DISABLE_GLOBAL_CONFIG.

Proposed Solution

Add a skills.exclude config option in opencode.json:

{
  skills: {
    exclude: [~/.agents/skills]
  }
}

Behavior:

  • Accepts an array of directory paths (supports ~ expansion)
  • Paths are checked against skill directory roots
  • Matching directories are skipped during discovery
  • Other directories remain unaffected

Why This Matters

  • Users with large skill collections in ~/.agents/skills/ may want to limit noise in the available skills list
  • GSD framework users have internal skills that should not appear in agent selection
  • permission.skill: deny blocks programmatic spawning (via task tool), which is too restrictive

Related

Activity

  1. github-actions commented on May 9, 2026

    @github-actions
    Contributor

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

    Your proposal is more targeted (selective exclusion of specific directories vs. all-or-nothing), so it may still be distinct enough to warrant its own issue. Please review and confirm whether this addresses a different enough use case.

  2. github-actions commented on Jul 9, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

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