JFrog CLI Command Reference

Look up JFrog CLI commands, flags, and syntax by product area, from Artifactory to Xray.


JFrog CLI Documentation by Product Area

These sections provide deeper guidance on using JFrog CLI with specific JFrog products and platform capabilities.



--format flag (JFrog CLI 2.105.0+)

Many commands accept --format json or --format table for machine-readable or tabular output. Most commands support both values. Some are json-only. Per-command details are in the relevant tabs below.

When the flag is omitted, output stays backward-compatible (or silent on json-only commands). Json-only commands emit a status payload instead of structured data:

{"status_code": N, "message": "..."}

The flag requires a value. Passing --format without a value prints:

Incorrect Usage: flag needs an argument: -format

Passing an unsupported value (for example --format yaml) prints:

[Error] only the following output formats are supported: json, table

On json-only commands, the supported-formats message lists json only.


Quick Start

# Install JFrog CLI
curl -fL https://install-cli.jfrog.io | sh

# Initial login (interactive, opens browser)
jf login

# Or configure manually
jf config add my-server --url=https://mycompany.jfrog.io --user=admin --password=password

# Verify connection
jf rt ping

Command Summary

CategoryPrefixCommands
Configurationjf c7
Generaljf8
Artifactoryjf rtMany
Build Toolsjf mvn, jf npm, and others28
Security/Xrayjf audit, jf scan4
Distributionjf ds, jf rbc10
Mission Controljf mc5
Evidencejf evd2
Pluginsjf plugin3
Agent Skillsjf agent skills6

Configuration Commands

CommandAliasDescription
jf config addjf c addAdd a new server configuration
jf config editjf c editEdit an existing server configuration
jf config showjf c sShow server configurations
jf config removejf c rmRemove server configuration(s)
jf config usejf c useSet the default server to use
jf config exportjf c exExport server configuration as token
jf config importjf c imImport server configuration from token

jf config add

Description: Add a new server configuration

Use Case: Set up authentication and server URLs for JFrog Platform access

Syntax:

jf config add [server-id] [options]
jf c add [server-id] [options]

Examples:

# Add server interactively
jf config add my-server

# Add server with URL and credentials
jf config add my-server --url=https://acme.jfrog.io --user=admin --password=password

# Add server with access token
jf config add my-server --url=https://acme.jfrog.io --access-token=<token>

# Add server using OIDC
jf config add my-server --url=https://acme.jfrog.io --oidc-provider-name=github

Flags:

FlagDescription
--urlJFrog Platform URL
--userUsername for authentication
--passwordPassword for authentication
--access-tokenAccess token for authentication
--interactiveInteractive configuration mode (default: true)
--overwriteOverwrite existing configuration
--ssh-key-pathSSH key file path
--client-cert-pathClient certificate file in PEM format
--insecure-tlsSkip TLS certificate verification
--basic-auth-onlyDisable automatic access token refresh

jf config show

Alias: jf c s, jf c show

Description: Show server configurations

Syntax:

jf config show [server-id] [options]
jf c show [server-id] [options]

Examples:

# Show all servers (default table output)
jf config show

# Show one server as JSON for scripting
jf config show my-server --format=json

Flags:

FlagDescription
--formatOutput format. Accepts json or table. Defaults to table. Sensitive fields (password, accessToken) are masked.

General Commands

CommandAliasDescription
jf login-Log in to JFrog Platform via web browser
jf access-token-createjf atcCreate an access token
jf api-Invoke JFrog REST APIs
jf exchange-oidc-tokenjf eotExchange OIDC token for JFrog access token
jf generate-summary-markdownjf gsmBuild Markdown from recorded command summaries
jf statsjf stProduct statistics for a configured server (for example, Artifactory)
jf options-Show all supported environment variables

jf login

Description: Log in to JFrog Platform via web browser

Use Case: Quick authentication using SSO/browser-based login (Artifactory 7.64.0+)

Syntax:

jf login

jf access-token-create

Alias: jf atc

Description: Create an access token

Syntax:

jf access-token-create [username] [options]
jf atc [username] [options]

Examples:

# Create token for current user
jf atc

# Create token for specific user
jf atc my-user

# Create refreshable token with 1 hour expiry
jf atc --expiry=3600 --refreshable

# Create admin token
jf atc --grant-admin

Flags:

FlagDescription
--expiryToken expiry time in seconds
--refreshableCreate a refreshable token
--groupsGroups to associate with the token
--grant-adminGrant admin privileges
--scopeToken scope
--descriptionToken description
--projectProject key
--formatOutput format (json or table). Defaults to json. In table output the access_token is truncated to 40 characters.

jf exchange-oidc-token

Alias: jf eot

Description: Exchange an OIDC token ID for a JFrog access token

Syntax:

jf exchange-oidc-token <oidc-provider-name> [oidc-token-id] [options]

Flags:

FlagDescription
--urlJFrog Platform URL
--oidc-provider-typeOIDC provider type (GitHub, Azure, GenericOidc)
--oidc-audienceAudience for the OIDC token
--application-keyJFrog Application Key for application-scoped OIDC
--projectJFrog Artifactory project key
--repositoryRepository name to filter the OIDC resource scope
--formatOutput format (json or table). Defaults to json for backward compatibility.

Artifactory

Commands for working with binaries, builds, repositories, and users in Artifactory. Most use the jf rt prefix.


File Operations

CommandAliasDescription
jf rt uploadjf rt uUpload files to Artifactory
jf rt downloadjf rt dlDownload files from Artifactory
jf rt searchjf rt sSearch for files in Artifactory
jf rt copyjf rt cpCopy files within Artifactory
jf rt movejf rt mvMove files within Artifactory
jf rt deletejf rt delDelete files from Artifactory
jf rt set-propsjf rt spSet properties on artifacts
jf rt delete-propsjf rt delpDelete properties from artifacts

--format support (set-props, delete-props):

FlagDescription
--formatOutput format (json or table). When omitted, the existing brief summary is preserved (backward-compatible).

jf rt upload

Alias: jf rt u

Description: Upload files to Artifactory

Use Case: Deploy artifacts, binaries, or any files to Artifactory repositories

Syntax:

jf rt upload <source-path> <target-path> [options]
jf rt u <source-path> <target-path> [options]

Examples:

# Upload single file
jf rt upload my-file.jar libs-release-local/com/example/

# Upload with wildcards
jf rt upload "*.jar" libs-release-local/jars/

# Upload recursively
jf rt upload "target/*.jar" libs-release-local/ --recursive

# Upload with properties
jf rt upload my-file.jar libs-release-local/ --target-props="version=1.0;build=100"

# Upload with build info
jf rt upload "*.jar" libs-release-local/ --build-name=my-build --build-number=1

# Dry run (preview only)
jf rt upload "*.jar" libs-release-local/ --dry-run

Flags:

FlagDescription
--recursiveUpload files from subdirectories (default: true)
--flatUpload without preserving directory structure
--regexpUse regular expression for source path
--target-propsProperties to attach to uploaded artifacts
--build-nameBuild name for build info
--build-numberBuild number for build info
--moduleModule name for build info
--explodeExtract archive after upload
--dry-runPreview without actual upload
--threadsNumber of upload threads (default: 3)
--retriesNumber of retries (default: 3)
--exclusionsPatterns to exclude
--fail-no-opExit code 2 if no files affected
--formatOutput format (json or table). When set, forces detailed-summary mode and emits a per-file report. When omitted, the existing summary output is preserved.

jf rt download

Alias: jf rt dl

Description: Download files from Artifactory

Syntax:

jf rt download <source-path> [target-path] [options]
jf rt dl <source-path> [target-path] [options]

Examples:

# Download single file
jf rt download libs-release-local/my-file.jar ./

# Download with wildcards
jf rt download "libs-release-local/*.jar" ./jars/

# Download build artifacts
jf rt download --build=my-build/42 ./artifacts/

# Download with properties filter
jf rt download "libs-release-local/*" ./ --props="version=1.0"

# Download and extract
jf rt download "libs-release-local/archive.zip" ./ --explode

Flags:

FlagDescription
--recursiveDownload from subdirectories (default: true)
--flatDownload without preserving directory structure
--buildDownload artifacts from specific build
--bundleDownload artifacts from release bundle
--propsFilter by properties
--exclude-propsExclude by properties
--explodeExtract archive after download
--threadsNumber of download threads
--skip-checksumSkip checksum verification
--formatOutput format (json or table). When set, forces detailed-summary mode and emits a per-file report. When omitted, the existing summary output is preserved.

jf rt search

Alias: jf rt s

Syntax:

jf rt search <pattern> [options]

Examples:

jf rt search "libs-release-local/*.jar"
jf rt search "libs-release-local/*" --props="version=1.0"
jf rt search --build=my-build/42
jf rt search "libs-release-local/*" --count

Flags:

FlagDescription
--formatOutput format (json or table). Defaults to json for backward compatibility.

jf rt copy, move, and delete

# Copy
jf rt copy libs-snapshot-local/app/ libs-release-local/app/
jf rt cp "libs-snapshot-local/*.jar" libs-release-local/ --flat

# Move
jf rt move libs-snapshot-local/old/ libs-release-local/new/
jf rt mv "libs-snapshot-local/*.jar" libs-release-local/

# Delete
jf rt delete "libs-snapshot-local/old-files/*"
jf rt del "libs-snapshot-local/temp/*" --quiet
jf rt delete --build=my-build/42 --dry-run

Flags (copy, move, delete):

FlagDescription
--formatOutput format (json or table). When omitted, the existing brief summary is preserved (backward-compatible).

Build Info

CommandAliasDescription
jf rt build-publishjf rt bpPublish build info to Artifactory
jf rt build-collect-envjf rt bceCollect environment variables
jf rt build-add-gitjf rt bagAdd Git information to build
jf rt build-add-dependenciesjf rt badAdd dependencies to build info
jf rt build-appendjf rt baAppend a build to another build
jf rt build-promotejf rt bprPromote a build
jf rt build-discardjf rt bdiDiscard old builds

jf rt build-publish

Alias: jf rt bp

Syntax:

jf rt build-publish <build-name> <build-number> [options]
jf rt bp <build-name> <build-number> [options]

Examples:

jf rt bp my-build 42
jf rt bp my-build 42 --project=my-project
jf rt bp my-build 42 --build-url="https://ci.example.com/build/42"

Flags:

FlagDescription
--projectProject key
--dry-runPreview without publishing
--build-urlCI server build URL
--env-includeEnvironment variables to include
--env-excludeEnvironment variables to exclude
--formatOutput format (json or table). When omitted, the existing log output is preserved (backward-compatible).

jf rt build-promote

Alias: jf rt bpr

Syntax:

jf rt build-promote <build-name> <build-number> <target-repo> [options]

Examples:

jf rt bpr my-build 42 libs-release-local
jf rt bpr my-build 42 libs-release-local --status="Released"
jf rt bpr my-build 42 libs-release-local --copy
jf rt bpr my-build 42 libs-release-local --include-dependencies

Flags:

FlagDescription
--formatOutput format. Only json is supported ({"status_code":N,"message":"..."}). When omitted, no output is produced.

jf rt build-discard

Alias: jf rt bdi

Syntax:

jf rt build-discard <build-name> [options]

Examples:

jf rt bdi my-build --max-builds=10
jf rt bdi my-build --max-days=30
jf rt bdi my-build --max-builds=5 --delete-artifacts

Flags:

FlagDescription
--formatOutput format. Only json is supported ({"status_code":N,"message":"..."}). When omitted, no output is produced.

jf rt build-add-dependencies

Alias: jf rt bad

Flags:

FlagDescription
--formatOutput format (json or table). When omitted, the existing brief summary is preserved (backward-compatible).

Repository Management

CommandAliasDescription
jf rt repo-createjf rt rcCreate a repository
jf rt repo-updatejf rt ruUpdate a repository
jf rt repo-deletejf rt rdelDelete a repository
jf rt repo-templatejf rt rptCreate repository template
jf rt replication-createjf rt rplcCreate replication job
jf rt replication-deletejf rt rpldelDelete replication job

--format support (repo-create, repo-update, replication-create):

FlagDescription
--formatOutput format. Only json is supported ({"status_code":N,"message":"..."}). When omitted, no output is produced.

User and Permission Management

CommandAliasDescription
jf rt user-create-Create a single user
jf rt users-createjf rt ucCreate users from CSV
jf rt users-deletejf rt udelDelete users
jf rt group-createjf rt gcCreate a group
jf rt group-add-usersjf rt gauAdd users to a group
jf rt group-deletejf rt gdelDelete a group
jf rt permission-target-createjf rt ptcCreate permission target
jf rt permission-target-updatejf rt ptuUpdate permission target
jf rt permission-target-deletejf rt ptdelDelete permission target

--format support (users-create, permission-target-create, permission-target-update):

FlagDescription
--formatOutput format. Only json is supported ({"status_code":N,"message":"..."}). When omitted, no output is produced.

Transfer Commands

CommandAliasDescription
jf rt transfer-config-Transfer configuration between instances
jf rt transfer-files-Transfer files between instances
jf rt transfer-config-merge-Merge configurations
jf rt transfer-plugin-install-Install data transfer plugin

Flags for transfer-config:

FlagDescription
--forceAllow transfer to non-empty target
--include-reposRepositories to include
--exclude-reposRepositories to exclude
--prechecksRun pre-transfer checks
--formatOutput format. Only json is supported ({"status_code":N,"message":"..."}). When omitted, no output is produced.

--format support (transfer-config-merge, transfer-files):

FlagDescription
--formatOutput format (json or table). When omitted, the existing log output (transfer-config-merge) or progress bar (transfer-files) is preserved (backward-compatible).

Other Artifactory Commands

CommandAliasDescription
jf rt pingjf rt pPing Artifactory server
jf rt curl-Execute cURL against Artifactory
jf rt docker-promotejf rt dprPromote Docker image
jf rt git-lfs-cleanjf rt glcClean Git LFS files
# Ping server
jf rt ping

# Send a REST API request
jf rt curl -XGET /api/system/ping
jf rt curl -XPUT /api/repositories/my-repo -T repo-config.json

--format support (ping, git-lfs-clean):

FlagDescription
--formatOutput format (json or table). When omitted, the existing output is preserved (OK for ping, log output for git-lfs-clean).

--format support (docker-promote):

FlagDescription
--formatOutput format. Only json is supported ({"status_code":N,"message":"..."}). When omitted, no output is produced.

Build Tools

Commands that wrap a package manager or build tool so it resolves dependencies from, and deploys artifacts to, Artifactory.


Java

CommandAliasDescription
jf mvn-configjf mvncConfigure Maven with Artifactory
jf mvn-Run Maven build
jf gradle-configjf gradlecConfigure Gradle with Artifactory
jf gradle-Run Gradle build

jf mvn

Syntax:

jf mvn <maven-goals> [options]

Examples:

jf mvn clean install --build-name=my-app --build-number=1
jf mvn deploy --build-name=my-app --build-number=1 --scan
jf mvn clean package -DskipTests
jf mvn deploy --detailed-summary

Flags:

FlagDescription
--build-nameBuild name for build info
--build-numberBuild number for build info
--projectProject key
--threadsNumber of deployment threads
--scanXray scan before upload
--detailed-summaryShow detailed deployment summary

jf gradle

Syntax:

jf gradle <gradle-tasks> [options]

Examples:

jf gradle clean build --build-name=my-app --build-number=1
jf gradle artifactoryPublish --build-name=my-app --build-number=1
jf gradle publish --scan

JavaScript

CommandAliasDescription
jf npm-configjf npmcConfigure npm with Artifactory
jf npm-Run npm commands
jf yarn-configjf yarncConfigure Yarn with Artifactory
jf yarn-Run Yarn commands
jf pnpm-configjf pnpmcConfigure pnpm with Artifactory

jf npm

Syntax:

jf npm <npm-command> [options]

Examples:

jf npm install --build-name=my-app --build-number=1
jf npm ci --build-name=my-app --build-number=1
jf npm publish --build-name=my-app --build-number=1
jf npm publish --detailed-summary
jf npm publish --workspaces

Python

CommandAliasDescription
jf pip-configjf pipcConfigure pip with Artifactory
jf pip-Run pip commands
jf pipenv-configjf pipecConfigure Pipenv
jf pipenv-Run Pipenv commands
jf poetry-configjf pocConfigure Poetry
jf poetry-Run Poetry commands
jf twine-Run Twine for publishing

jf pip

Syntax:

jf pip <pip-command> [options]

Examples:

jf pip install -r requirements.txt --build-name=my-app --build-number=1

Go

CommandAliasDescription
jf go-configjf gocConfigure Go with Artifactory
jf go-Run Go commands
jf go-publishjf gpPublish Go module

jf go and jf go-publish

Syntax:

jf go <go-command> [options]
jf go-publish <version> [options]

Examples:

jf go build --build-name=my-app --build-number=1
jf go get github.com/example/pkg
jf gp v1.0.0 --build-name=my-module --build-number=1

Docker

CommandAliasDescription
jf docker login-Login to Docker registry
jf docker push-Push Docker image
jf docker pull-Pull Docker image
jf docker build-Build Docker image
jf docker scan-Scan Docker image

jf docker

Syntax:

jf docker <docker-command> [options]

Examples:

jf docker login
jf docker pull my-registry.jfrog.io/my-image:latest --build-name=my-build --build-number=1
jf docker push my-registry.jfrog.io/my-image:1.0 --build-name=my-build --build-number=1
jf docker build -t my-registry.jfrog.io/my-image:1.0 . --push --build-name=my-build --build-number=1
jf docker scan my-image:latest

Flags:

FlagDescription
--build-nameBuild name for build info
--build-numberBuild number for build info
--moduleModule name for build info
--skip-loginSkip docker login
--threadsNumber of threads for push
--detailed-summaryShow detailed summary

.NET

CommandAliasDescription
jf nuget-configjf nugetcConfigure NuGet
jf nuget-Run NuGet commands
jf dotnet-configjf dotnetcConfigure .NET CLI
jf dotnet-Run .NET CLI commands

Examples:

jf nuget restore --build-name=my-app --build-number=1

Other Build Tools

CommandAliasDescription
jf helm-Run Helm commands
jf conan-Run Conan commands
jf terraform-configjf tfcConfigure Terraform
jf terraformjf tfPublish Terraform modules

Examples:

jf helm registry login mycompany.jfrog.io
jf helm package ./my-chart --build-name=my-chart --build-number=1
jf helm push my-chart-1.0.0.tgz oci://mycompany.jfrog.io/helm-local --build-name=my-chart --build-number=1

Security and Scanning Commands

CommandAliasDescription
jf audit-Audit project dependencies for vulnerabilities
jf scanjf sScan files/packages for vulnerabilities
jf docker scan-Scan local Docker image
jf curation-auditjf caAudit against curation policies

jf audit

Description: Audit project for security vulnerabilities

Syntax:

jf audit [options]

Examples:

jf audit
jf audit --format=table
jf audit --working-dirs="./app1,./app2"
jf audit --min-severity=High
jf audit --fixable-only

Flags:

FlagDescription
--formatOutput format (table, json, sarif)
--watchesXray watches to use
--working-dirsDirectories to audit
--min-severityMinimum severity (Low, Medium, High, Critical)
--fixable-onlyShow only fixable issues
--licensesShow license information

jf scan

Alias: jf s

Syntax:

jf scan <pattern> [options]

Examples:

jf scan "*.jar"
jf scan "./artifacts/*" --format=json

jf curation-audit

Alias: jf ca

Syntax:

jf curation-audit [options]

Distribution v1 Commands

CommandAliasDescription
jf ds release-bundle-createjf ds rbcCreate a release bundle v1
jf ds release-bundle-updatejf ds rbuUpdate a release bundle v1
jf ds release-bundle-signjf ds rbsSign a release bundle v1
jf ds release-bundle-distributejf ds rbdDistribute a release bundle v1
jf ds release-bundle-deletejf ds rbdelDelete a release bundle v1

Lifecycle v2 Commands

CommandAliasDescription
jf release-bundle-createjf rbcCreate a release bundle v2
jf release-bundle-searchjf rbsSearch release bundle v2 names and versions
jf release-bundle-promotejf rbpPromote a release bundle v2
jf release-bundle-distributejf rbdDistribute a release bundle v2
jf release-bundle-delete-localjf rbdellDelete a release bundle v2 locally
jf release-bundle-exportjf rbeExport a release bundle v2

jf release-bundle-create

Alias: jf rbc

Syntax:

jf release-bundle-create <bundle-name> <bundle-version> [options]

Examples:

jf rbc my-bundle 1.0.0 --spec=bundle-spec.json
jf rbc my-bundle 1.0.0 --builds="my-build/42"
jf rbc my-bundle 1.0.0 --release-bundles="other-bundle/1.0"
jf rbc my-bundle 1.0.0 --spec=spec.json --signing-key=my-key

Flags:

FlagDescription
--specFile spec path
--buildsBuild name and number (name/number)
--release-bundlesSource release bundles (name/version)
--signing-keySigning key name
--projectProject key
--syncWait for creation to complete

jf release-bundle-promote

Alias: jf rbp

Syntax:

jf release-bundle-promote <bundle-name> <bundle-version> <environment> [options]

Examples:

jf rbp my-bundle 1.0.0 PROD
jf rbp my-bundle 1.0.0 PROD --project=my-project
jf rbp my-bundle 1.0.0 PROD --signing-key=my-key

jf release-bundle-distribute

Alias: jf rbd

Syntax:

jf release-bundle-distribute <bundle-name> <bundle-version> [options]

Examples:

jf rbd my-bundle 1.0.0
jf rbd my-bundle 1.0.0 --site="edge-1,edge-2"
jf rbd my-bundle 1.0.0 --dist-rules=rules.json

jf release-bundle-delete-local

Alias: jf rbdell

Syntax:

jf release-bundle-delete-local <bundle-name> <bundle-version> [environment] [options]

Examples:

jf rbdell my-bundle 1.0.0
jf rbdell my-bundle 1.0.0 --quiet
jf rbdell my-bundle 1.0.0 QA
📘

Note

This deletes the bundle only from the local platform. Use jf release-bundle-delete-remote to remove copies already distributed to edge nodes.


jf release-bundle-export

Alias: jf rbe

Syntax:

jf release-bundle-export <bundle-name> <bundle-version> [target-pattern] [options]

Examples:

jf rbe my-bundle 1.0.0
jf rbe my-bundle 1.0.0 ./path/to/export/

Supply Chain Attestation

CommandAliasDescription
jf evd create-Create evidence for supply chain attestation
jf evd verify-Verify evidence

jf evd create

Description: Create evidence for software supply chain attestation

Syntax:

jf evd create [options]

Examples:

jf evd create --build-name=my-build --build-number=42
jf evd create --subject-repo-path=libs-release/app.jar --predicate=predicate.json

Flags:

FlagDescription
--formatOutput format (json or table). When omitted, the existing log-only output is preserved (backward-compatible). Empty fields are omitted from output.
📘

Note

The canonical command name is create-evidence. create is its shorter alias. Both forms work (jf evd create-evidence and jf evd create).


jf evd verify

Description: Verify evidence

Syntax:

jf evd verify [options]

Examples:

jf evd verify --subject-repo-path=libs-release/app.jar

Plugin Management

CommandAliasDescription
jf plugin installjf plugin iInstall a JFrog CLI plugin
jf plugin uninstalljf plugin uiUninstall a JFrog CLI plugin
jf plugin publishjf plugin pPublish a JFrog CLI plugin

jf plugin install

Alias: jf plugin i

Syntax:

jf plugin install <plugin-name[@version]>

Examples:

jf plugin install hello-frog
jf plugin install [email protected]

Flags:

FlagDescription
--formatOutput format. Only json is supported ({"status_code":N,"message":"..."}). When omitted, no output is produced.

jf plugin uninstall and publish

jf plugin uninstall <plugin-name>
jf plugin publish <plugin-name> <plugin-version>

Flags for publish:

FlagDescription
--formatOutput format. Only json is supported ({"status_code":N,"message":"..."}). When omitted, no output is produced.

Shell Completion

CommandDescription
jf completion bashGenerate Bash completion script
jf completion zshGenerate Zsh completion script
jf completion fishGenerate Fish completion script

Examples:

jf completion bash
jf completion bash --install
jf completion zsh --install

Deprecated Commands

The following commands are deprecated (use direct invocation without rt prefix):

DeprecatedCurrent
jf rt mvnjf mvn
jf rt gradlejf gradle
jf rt npmjf npm
jf rt yarnjf yarn
jf rt gojf go
jf rt pipjf pip
jf rt pipenvjf pipenv
jf rt poetryjf poetry
jf rt nugetjf nuget
jf rt dotnetjf dotnet
jf rt dockerjf docker
📘

Note

Skills repositories is an open beta feature. The jf agent skills command is supported from JFrog CLI version 2.98.0.

Use jf agent skills for ClawHub-compatible skill packages (SKILL.md) in Skills repositories.


Agent Skills Commands

CommandDescription
jf agent skills publishPublish a skill bundle to a Skills repository
jf agent skills installInstall a skill for one or more harnesses (--harness or --path)
jf agent skills searchSearch for skills across Skills repositories
jf agent skills updateUpdate an installed skill to a newer version
jf agent skills listList skills in a repository or installed for a harness
jf agent skills deleteDelete a specific skill version from a Skills repository

Full reference: JFrog CLI for Skills in Agent Commands.

Product guide: Skills Repositories.


What’s Next

Ready to build? Set up your package manager with Artifactory.

Did this page help you?