Uh oh!
There was an error while loading. Please reload this page.
feat(agent): add per-agent skills filtering - #5987
Conversation
Add ability to filter which skills are visible to each agent via the 'skills' field in agent configuration (opencode.json or markdown frontmatter). Supports two modes: - Whitelist mode: when any true values present, only matching skills shown - Blacklist mode: when only false values, exclude matching skills Examples: # Only show spreadsheets skill to excel agent skills: spreadsheets: true # Hide git skills from read-only agent skills: "git-*": false Uses same wildcard pattern matching as tools filtering.
thdxr
commented
Dec 22, 2025
hang onto this - we're reworking a bunch of permissions stuff and this can come after that |
airtonix
commented
Dec 23, 2025
Looks like #6000 makes this not needed? |
malhashemi
commented
Dec 24, 2025
True denied skills are already filtered out of agents context |
See, the original idea was similar, I am now leaning towards an entirely different thing. Current implementation basically loads all the skills into all agents unless you edit them. There needs to be something that allows easier allow/deny skills and I believe they should all be disabled as default.
|
malhashemi
commented
Dec 24, 2025
Actually global deny is very easy in your config simply:
Would deny it globally this is how I have it setup at the moment. Also there is a new permission system in the works so lets hold on till release. |
malhashemi
commented
Dec 24, 2025
Having said that I agree that some guided configurations on the agent setup process would be nice to have. So thats a direction worth taking |
IgorWarzocha
commented
Dec 24, 2025
Yeah agree but it's the defaults that are the problem - creating a build agent config is not something that everyone does. I can see how having all the skills enabled as default can be problematic |
f1ae801 to
08fa7f7CompareClosing this pull request because it has had no updates for more than 60 days. If you plan to continue working on it, feel free to reopen or open a new PR. |
Don't shoot the messenger, purely vibecoded.
Summary
Add ability to filter which skills are visible to each agent via a new
skillsfield in agent configuration.This addresses the issue where all discovered skills are loaded into the system prompt for every agent, causing:
Usage
In
opencode.json:{ "agent": { "excel-maestro": { "skills": { "spreadsheets": true } }, "read-only-explorer": { "skills": { "git-*": false } } } }In agent markdown frontmatter (
.opencode/agent/excel-maestro.md):Behavior
truevalues are present, only skills matching atruepattern are shownfalsevalues are present, all skills except those matchingfalsepatterns are shownUses the same wildcard pattern matching as existing
toolsfiltering.Changes
config/config.ts: Addedskillsfield to Agent schemaagent/agent.ts: Addedskillsto Agent.Info type and state builderskill/skill.ts: Addedfilter()andforAgent()functionssession/system.ts: Updatedskills()to accept optional filter parametersession/prompt.ts: Pass agent's skills filter to SystemPrompt.skills()