translate skills when running locally and in k8s#255
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds end-to-end “skill resolution” support so agents referencing registry skills can run locally (by materializing skills into a mounted folder) and deploy to Kubernetes (by mapping resolved skills into the kagent Agent CRD spec.skills).
Changes:
- Introduce
api.AgentSkillRefand propagate resolved skills through registry → runtime translation → kagent AgentSpec. - Add shared GitHub cloning/copy utilities (
gitutil) and refactor CLI skill pull/materialization to use them. - Update local daemon docker-compose to rewrite kubeconfig for Docker-to-host Kubernetes access; bump kagent-related dependencies and base image version.
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| internal/runtime/translation/api/internal_runtime_api.go | Adds Skills and AgentSkillRef to the internal runtime translation API. |
| internal/runtime/translation/registry/internal_registry_translator.go | Passes resolved skills from registry run request into translated api.Agent. |
| internal/registry/service/registry_service.go | Resolves skills from agent manifest (registry lookup; prefer docker/oci, fallback to GitHub repo). |
| internal/runtime/translation/kagent/kagent_translator.go | Maps api.Agent.Skills into kagent AgentSpec.Skills (Refs/GitRefs). |
| internal/runtime/translation/kagent/kagent_translator_test.go | Adds unit tests for skill translation and AgentSpec population. |
| internal/cli/common/gitutil/gitutil.go / gitutil_test.go | New shared GitHub URL parsing + clone/copy helpers + tests. |
| internal/cli/agent/skills_runtime.go / skills_runtime_test.go | Local runtime skill resolution now supports GitHub fallback via gitutil. |
| internal/cli/skill/pull.go / pull_test.go | Refactors GitHub pulling to use gitutil; moves tests accordingly. |
| internal/cli/skill/publish.go | Uses gitutil.ParseGitHubURL for GitHub SKILL.md validation. |
| internal/daemon/docker-compose.yml | Rewrites kubeconfig for Docker networking and adds host gateway mapping. |
| internal/cli/agent/init.go | Bumps adkBaseImageVersion to 0.7.22. |
| go.mod / go.sum | Dependency updates (kagent/kmcp/go-sdk, k8s libs, etc.). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Peter Jausovec <[email protected]>
Signed-off-by: Peter Jausovec <[email protected]>
Signed-off-by: Peter Jausovec <[email protected]>
Signed-off-by: Peter Jausovec <[email protected]>
Signed-off-by: Peter Jausovec <[email protected]>
7828509 to
e565055
Compare
timflannagan
approved these changes
Mar 5, 2026
christian-posta
pushed a commit
to christian-posta/agentregistry
that referenced
this pull request
Mar 9, 2026
# Description When an agent's agent.yaml references skills (via registrySkillName), those skills need to be resolved and made available at runtime. - Local runs (`arctl agent run`): Skills referenced in agent.yaml are now resolved from the registry, supporting both Docker-packaged skills and GitHub-hosted skills. Docker skills are extracted from the container image; GitHub skills are cloned from the repository. All skill files are placed in a temporary directory, mounted into the agent container at /skills, and `KAGENT_SKILLS_FOLDER` is set automatically. - Kubernetes deployments (`arctl agent deploy`): Skills are resolved from the registry and mapped to the Agent CRD's `spec.skills` field. Docker image refs go to `spec.skills.refs`, and GitHub repos are parsed into `spec.skills.gitRefs` with separate clone URL, ref, and path fields so kagent can pull them natively. - updated kagent dependency to v0.7.22 - Docker networking fix: Updated the daemon's docker-compose.yml to automatically rewrite the mounted kubeconfig, replacing 127.0.0.1/localhost with host.docker.internal and swapping certificate-authority-data for insecure-skip-tls-verify: true. This removes the need for users to manually edit their kubeconfig when deploying to local Kubernetes clusters (kind, minikube, Docker Desktop). # Change Type ``` /kind feature ``` # Changelog ```release-note Support skill resolution from the registry when running agents locally and deploying to Kubernetes. ``` Doc PR: agentregistry-dev/website#12 --------- Signed-off-by: Peter Jausovec <[email protected]>
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.
Description
When an agent's agent.yaml references skills (via registrySkillName), those skills need to be resolved and made available at runtime.
Local runs (
arctl agent run): Skills referenced in agent.yaml are now resolved from the registry, supporting both Docker-packaged skills and GitHub-hosted skills. Docker skills are extracted from the container image; GitHub skills are cloned from the repository. All skill files are placed in a temporary directory, mounted into the agent container at /skills, andKAGENT_SKILLS_FOLDERis set automatically.Kubernetes deployments (
arctl agent deploy): Skills are resolved from the registry and mapped to the Agent CRD'sspec.skillsfield. Docker image refs go tospec.skills.refs, and GitHub repos are parsed intospec.skills.gitRefswith separate clone URL, ref, and path fields so kagent can pull them natively.updated kagent dependency to v0.7.22
Docker networking fix: Updated the daemon's docker-compose.yml to automatically rewrite the mounted kubeconfig, replacing 127.0.0.1/localhost with host.docker.internal and swapping certificate-authority-data for insecure-skip-tls-verify: true. This removes the need for users to manually edit their kubeconfig when deploying to local Kubernetes clusters (kind, minikube, Docker Desktop).
Change Type
Changelog
Doc PR: agentregistry-dev/website#12