Skip to content

translate skills when running locally and in k8s#255

Merged
Sodman merged 5 commits intomainfrom
peterj/includeskills
Mar 6, 2026
Merged

translate skills when running locally and in k8s#255
Sodman merged 5 commits intomainfrom
peterj/includeskills

Conversation

@peterj
Copy link
Copy Markdown
Contributor

@peterj peterj commented Mar 4, 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

Support skill resolution from the registry when running agents locally and deploying to Kubernetes.

Doc PR: agentregistry-dev/website#12

Copilot AI review requested due to automatic review settings March 4, 2026 19:50
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.AgentSkillRef and 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.

@peterj peterj closed this Mar 5, 2026
@peterj peterj reopened this Mar 5, 2026
@peterj peterj force-pushed the peterj/includeskills branch from 7828509 to e565055 Compare March 5, 2026 20:43
@Sodman Sodman added this pull request to the merge queue Mar 6, 2026
Merged via the queue into main with commit cdaf60a Mar 6, 2026
6 checks passed
@Sodman Sodman deleted the peterj/includeskills branch March 6, 2026 16:29
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants