# chainctl skills registry publish

URL: https://chainguard-docs-preview-git-create-pull-request-patch.chainguard.app/platform/chainctl/chainctl-docs/chainctl_skills_registry_publish.md
Last Modified: October 8, 2026
Tags: chainctl, Reference, Product

 chainctl skills registry publish Package a skill directory and publish it to an OCI reference.
Synopsis Package a skill directory and publish it to an OCI reference.
Reads and validates SKILL.md from the skill directory (default: current directory, or &ndash;dir), packs it as a skill artifact, and publishes it to . Prints the published reference by digest.
chainctl skills registry publish &lt;ref&gt; [flags] Examples # Publish the skill in the current directory: chainctl skills registry publish cgr.dev/my-org/my-skill:v1 # Publish the skill in another directory: chainctl skills registry publish --dir ./my-skill cgr.dev/my-org/my-skill:v1 Options --dir string Skill directory to package (must contain SKILL.md). (default &#34;.&#34;) Options inherited from parent commands --api string The url of the Chainguard platform API. (default &#34;https://console-api.enforce.dev&#34;) --audience string The Chainguard token audience to request. (default &#34;https://console-api.enforce.dev&#34;) --config string A specific chainctl config file. Uses CHAINCTL_CONFIG environment variable if a file is not passed explicitly. --console string The url of the Chainguard platform Console. (default &#34;https://console.chainguard.dev&#34;) --force-color Force color output even when stdout is not a TTY. -h, --help Help for chainctl --issuer string The url of the Chainguard STS endpoint. (default &#34;https://issuer.enforce.dev&#34;) --log-level string Set the log level (debug, info) (default &#34;ERROR&#34;) -o, --output string Output format. One of: [csv, env, go-template, id, json, markdown, none, table, terse, tree, wide] -v, --v int Set the log verbosity level. SEE ALSO chainctl skills registry	- Publish and install skills in any OCI registry by reference. 
