Repository navigation
Conversation
Synced repositories may ship skills that should not be exposed, e.g. a meta-skill instructing the model to invoke a skill before every answer. Git skills are read-only and deleting files in the clone breaks the next pull, so there was no way to drop a single skill while keeping the rest of the repository. Add an opt-in exclusion list of path.Match patterns matched against the skill name (`skill` or `repoName/skillName`). Excluded skills are skipped by ListSkills (and therefore the search index), SearchSkills, ReadSkill and the resource methods; files on disk stay untouched. Configuration: - library: NewFileSystemManager(dir, repos, WithExcludedSkills(...)); without the option it reads SKILLSERVER_EXCLUDE_SKILLS, so embedders honour the variable without code changes - CLI: --exclude-skills flag / SKILLSERVER_EXCLUDE_SKILLS env var NewFileSystemManager stays source-compatible (variadic options); invalid patterns are rejected at construction. Signed-off-by: Stefan Walcz <stefan.walcz@walcz.de> Assisted-by: Claude Opus 5.5 <noreply@anthropic.com>
walcz-de
added a commit
to walcz-de/LocalAI
that referenced
this pull request
Oct 2, 2026
cogito d96c205: integration branch fix/walcz-pin-2026-09-28 plus the forced-pick wording fix (mudler/cogito#78). skillserver f1c4ac8: searcher double-close fix (mudler/skillserver#8) plus exclude skills by name (mudler/skillserver#9). Assisted-by: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Stefan Walcz <stefan.walcz@walcz.de>
Author
|
Friendly ping on this one. We use SKILLSERVER_EXCLUDE_SKILLS to hide a meta-skill that distracts smaller local models, without disabling the whole repository. If the glob-based approach is not what you want, I can change it to an explicit list. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds an opt-in exclusion list so that a synced repository can be used while a single skill in it stays hidden.
Patterns use
path.Matchand are matched against the skill name (skillorrepoName/skillName). A*does not cross/, sosuperpowers/*hides a whole repository and*/using-*hides matching skills in any repository.Excluded skills are skipped by
ListSkills, and so by the search index and by any system prompt built from the list. They are also skipped bySearchSkills,ReadSkilland the resource methods. Files on disk are not touched, so git pulls keep working.Why
Git-synced skills are read-only, and deleting files in the clone breaks the next pull. So there was no way to drop one skill and keep the rest of the repository. Our case: a meta-skill that tells the model to invoke a skill before every answer distracted smaller local models in an agent with all skills enabled.
Configuration
NewFileSystemManager(dir, repos, WithExcludedSkills(...)). Without the option it readsSKILLSERVER_EXCLUDE_SKILLS, so embedders pick up the variable without code changes.--exclude-skillsflag or theSKILLSERVER_EXCLUDE_SKILLSenv var (comma-separated).NewFileSystemManagerstays source-compatible (variadic options).README documents the flag and has a new "Excluding Skills" section.
Tests
8 new specs in
pkg/domain/exclude_test.go:With the filter switched off, 5 of them fail.
go test ./...passes.