Repository navigation
feat: publish the skills-only plugin root as its own image - #98
Open
danielle-mustillo wants to merge 3 commits into
Open
danielle-mustillo wants to merge 3 commits into
danielle-mustillo wants to merge 3 commits into
Conversation
An Agent that mounts opt/kagent-tools-skills from the tools image pulls the whole tools image (195 MiB compressed) to read the skills. Build the same root as ghcr.io/kagent-dev/kagent/tools-skills, a one-layer image from scratch of about 5 KiB compressed, and push it on release. - Dockerfile: a skills stage above the final stage, so the tools image build is unchanged. - Makefile: docker-build-skills; plugin-verify builds and checks both. - verify-plugin-image.sh and TestSkillsImageMatchesToolsImage: the skills image holds exactly the tools image's skills root. - tag.yaml pushes the skills image; docs point skills-only mode at it. Closes #97 Signed-off-by: Danielle Mustillo <danielle.mustillo@solo.io>
Signed-off-by: Danielle Mustillo <danielle.mustillo@solo.io>
Signed-off-by: Danielle Mustillo <danielle.mustillo@solo.io>
danielle-mustillo
marked this pull request as ready for review
October 29, 2026 17:29
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.
Why
The skills-only Agent Plugin root from #91 lives inside the tools image. An Agent that mounts only that root pulls 195 MiB compressed to read 24 KiB of skill files. Closes #97.
What changed
skillsstage in theDockerfilebuildsghcr.io/kagent-dev/kagent/tools-skillsfromscratch. The image holds only/opt/kagent-tools-skills, in one 5 KiB layer.tag.yamlpushestools-skillson release.ci.yamlbuilds it for amd64 and arm64.docs/kagent-skills.mdandREADME.mdpoint skills-only mode attools-skills.Scope
tools-skills. If GitHub creates the package as private, a repo admin must make it public once in the package settings.Blast Radius
The default build still produces the tools image, because the
skillsstage sits above the last stage.tag.yamlpushestools-skillsafter the tools image and the chart, so a failed first push of the new package does not block them.Verification
make plugin-verifyandmake testpass.TestSkillsImageMatchesToolsImagechecks thattools-skillsholds the same skills root as the tools image and nothing else.TestExampleAgentToolsSkillspassed all 12 subtests in 2 of 2 runs againsttools-skillspinned by digest. On Azure OpenAI, each example Agent loaded a skill and called a tool from it.toolsand 12 to 13 ms fortools-skills.