Repository navigation
fix(skills): load_skill points to a pinned skill instead of "not found" - #36
Merged
Merged
Conversation
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.
Problem
A model read "the
serviceskill" in its instructions and calledload_skill('service'), althoughservicewas pinned and its body was already in the prompt inside<skill name="service">. MAF answeredError: Skill 'service' not found., and the model went on to guess through 10 tool calls (SpiritAI production, 2026-10-02).Change
PinnedSkillRedirectwraps MAF'sload_skill. A pinned name gets:The 'service' skill is already in your instructions, inside <skill name="service">. Use it from there.Every other name goes to MAF unchanged.ReadOnlySkillsProvideralready rewrites the skill tools on each turn. It now applies the wrapper, but only when the agent has pinned skills.<available_skills>, and their body is not returned a second time.Tests
SkillsProviderFactoryTestscovers three cases: