You can use the acr-skill or ORAS command-line tool to push and pull Skills to and from an ACR Enterprise Edition instance.
Use the acr-skill tool
acr-skill is a command-line tool that manages the full lifecycle of a Skill, including operations to publish, install, update, list, and verify it. For example:
These are basic examples. For detailed usage, see acr-skill command-line tool.
Publish a Skill: Package the contents of a local Skill directory as an OCI artifact and publish it to an ACR Enterprise Edition instance.
acr-skill publish <registry>/skills/my-skill:1.0.0 \ --dir ./my-skill --username <USERNAME> --password <PASSWORD>Install a Skill: Pull a Skill artifact from an ACR Enterprise Edition instance and install it to a local directory.
acr-skill install my-skill \ --namespace skills \ --version 1.0.0 --username <USERNAME> --password <PASSWORD>List Skills: Lists installed Skills.
# List Skills in the current directory acr-skill list # List Skills in a specified directory acr-skill list --directory ./my-skills # Output in JSON format acr-skill list --format json
Use the ORAS tool
ORAS is an open-source command-line tool for pushing and pulling any type of artifact to and from an OCI-compliant registry. If you prefer not to install the acr-skill tool, you can use ORAS for basic Skill push and pull operations.
See the official documentation to install the ORAS tool.
Push a skill
Package the Skill directory's contents:
# Change to the parent directory of the Skill directory cd /path/to/parent # Package the Skill directory as a tar.gz file, excluding the .git directory tar --exclude='.git' -czf my-skill.tar.gz -C my-skill .Create an empty configuration file:
echo '{}' > config.jsonUpload the artifact using oras push:
oras push <registry>/skills/my-skill:1.0.0 \ --artifact-type application/vnd.agent.skill.v1+json \ --config config.json:application/vnd.oci.empty.v1+json \ my-skill.tar.gz:application/vnd.agent.skill.content.v1.tar+gzip \ --annotation "org.agent.skill.name=my-skill" \ --annotation "org.agent.skill.version=1.0.0" \ --annotation "org.agent.skill.description=My custom Skill"Clean up the temporary files:
rm -f my-skill.tar.gz config.json
Pull a skill
Create a destination directory:
mkdir -p ./downloaded-skillDownload the Skill artifact:
oras pull <registry>/skills/my-skill:1.0.0 \ -o ./downloaded-skillIf the downloaded file is a tar.gz file, extract it:
cd ./downloaded-skill tar -xzf *.tar.gz rm -f *.tar.gz