The acr-skill and ORAS command-line tools let you push and pull Skills to and from an ACR Enterprise Edition instance.
Use the acr-skill tool
acr-skill manages the full lifecycle of a Skill, including publishing, installing, updating, listing, and verifying. 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. You can use ORAS as an alternative to acr-skill 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.json -
Upload 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-skill -
Download the Skill artifact:
oras pull <registry>/skills/my-skill:1.0.0 \ -o ./downloaded-skill -
If the downloaded file is a tar.gz file, extract it:
cd ./downloaded-skill tar -xzf *.tar.gz rm -f *.tar.gz