Skip to content

add git repo support for skill publish/pull#241

Merged
peterj merged 6 commits intomainfrom
peterj/skillfromgithub
Mar 2, 2026
Merged

add git repo support for skill publish/pull#241
peterj merged 6 commits intomainfrom
peterj/skillfromgithub

Conversation

@peterj
Copy link
Copy Markdown
Contributor

@peterj peterj commented Mar 2, 2026

Description

Skills could only be published from local folders containing a SKILL.md file with Docker packaging. Users needed the ability to publish skills directly from GitHub repositories — both with and without local files — matching the pattern already established by agent publish.

Corresponding docs changes: agentregistry-dev/website#11

Changes:

  • Added --github flag to skill publish as an alternative to --docker-url, with mutual exclusivity enforced via Cobra
  • Added --version flag (required for --github, optional override for --docker-url) and --description flag for direct registration
  • Added direct registration mode: arctl skill publish my-skill --github <url> --version 1.0.0 registers a skill by name without needing local files
  • skill publish now auto-detects whether the argument is a skill folder (with SKILL.md) or a skill name, routing to folder mode or direct mode accordingly
  • GitHub URLs support the full tree format (https://github.com/owner/repo/tree/branch/path) for specifying branch and subdirectory

Change Type

/kind feature

Changelog

Add GitHub repository support for skill publish. Skills can now be published with `--github` as an alternative to `--docker-url`. A new direct registration mode allows publishing skills by name from a GitHub repository without requiring local files: `arctl skill publish my-skill --github <url> --version 1.0.0 --description "My skill"`.

peterj added 2 commits March 2, 2026 08:53
Signed-off-by: Peter Jausovec <[email protected]>
Signed-off-by: Peter Jausovec <[email protected]>
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 GitHub repository support to arctl skill publish (including a direct registration mode without local files) and extends arctl skill pull to pull from either Docker packages or GitHub repositories, aligning skills with the existing “agent publish” workflow.

Changes:

  • Add --github, --version, and --description to skill publish, with Docker/GitHub modes and a new direct registration path.
  • Update skill pull to resolve a version and pull from either Docker image content or a GitHub repo/tree URL.
  • Add unit + e2e tests covering publish/pull behaviors and Docker extraction helpers.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
pkg/cli/commands_test.go Updates CLI flag registration tests for the new skill publish flags and relaxed “required flag” behavior.
internal/cli/skill/pull.go Adds version resolution + GitHub-repo pulling path alongside existing Docker pulling.
internal/cli/skill/pull_test.go Adds unit tests for GitHub URL parsing, repo copying, version resolution, and pull routing behavior.
internal/cli/skill/publish.go Adds --github publish mode, --version/--description, and direct registration (name-only) publish routing.
internal/cli/skill/publish_test.go Adds extensive unit tests for folder-mode publish, GitHub publish, and direct registration mode.
internal/cli/common/docker/extract_test.go Adds tests for Docker extraction helper behavior (skipping system dirs/empty files, preserving perms).
e2e/skill_publish_test.go Adds e2e coverage for skill publish via GitHub and direct mode validation/dry-run.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: Peter Jausovec <[email protected]>
Copy link
Copy Markdown
Collaborator

@timflannagan timflannagan left a comment

Choose a reason for hiding this comment

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

We can iterate here - lgtm for initial UX.

Signed-off-by: Peter Jausovec <[email protected]>
@peterj peterj added this pull request to the merge queue Mar 2, 2026
Merged via the queue into main with commit 8fd7a2b Mar 2, 2026
6 checks passed
@peterj peterj deleted the peterj/skillfromgithub branch March 2, 2026 23:05
@timflannagan timflannagan linked an issue Mar 3, 2026 that may be closed by this pull request
christian-posta pushed a commit to christian-posta/agentregistry that referenced this pull request Mar 9, 2026
# Description

Skills could only be published from local folders containing a SKILL.md
file with Docker packaging. Users needed the ability to publish skills
directly from GitHub repositories — both with and without local files —
matching the pattern already established by agent publish.

Corresponding docs changes:
agentregistry-dev/website#11

Changes:

- Added `--github` flag to skill publish as an alternative to
`--docker-url`, with mutual exclusivity enforced via Cobra
- Added `--version` flag (required for `--github`, optional override for
`--docker-url`) and `--description` flag for direct registration
- Added direct registration mode: `arctl skill publish my-skill --github
<url> --version 1.0.0` registers a skill by name without needing local
files
- `skill publish` now auto-detects whether the argument is a skill
folder (with SKILL.md) or a skill name, routing to folder mode or direct
mode accordingly
- GitHub URLs support the full tree format
(`https://github.com/owner/repo/tree/branch/path`) for specifying branch
and subdirectory

# Change Type

```
/kind feature
```

# Changelog

```release-note
Add GitHub repository support for skill publish. Skills can now be published with `--github` as an alternative to `--docker-url`. A new direct registration mode allows publishing skills by name from a GitHub repository without requiring local files: `arctl skill publish my-skill --github <url> --version 1.0.0 --description "My skill"`.
```

---------

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.

pull and unpack skills from a github repo

3 participants