jfrog/opencode-jfrog-plugin/jfrog-ai-catalog
Claude Code and agent skill by jfrog/opencode-jfrog-plugin
- community
Checking that the SKILL.md file is still in the repository.
Discover, search, install, update, remove, and publish agent skills and plugins hosted in the JFrog AI Catalog (Artifactory) via the JFrog CLI (`jf skills`, `jf agent plugins`) and JFrog Agent Guard. Use whenever the user asks what skills or plugins are available or installed, wants to browse/search the catalog, see versions, install/update/uninstall/delete a skill or plugin, publish/upload/release one to JFrog / Artifactory / the AI Catalog, or list the AI Catalog (skill/plugin governance) policies — allow-lists, malicious-skill checks — that apply to skills in a project. Do NOT use this skill for MCP servers (that's jfrog-mcp-management, even when the user says "policy" or "approved"), for Xray or curation "blocked by policy" package errors (that's jfrog-package-curation), or for Xray policies and watches (that's the base jfrog skill).
Install
npx vskill@latest install jfrog/opencode-jfrog-plugin/jfrog-ai-catalogSKILL.md
JFrog AI Catalog
Discover, install, and manage agent skills and agent plugins from the JFrog AI Catalog (Artifactory skills/plugins repositories), and publish your own back to it, all through the JFrog CLI (jf skills, jf agent plugins) and the JFrog Agent Guard.
Choose a reference file
Pick the row matching the user's intent and read that reference file.
| Intent | Read | |
|---|---|---|
| "What skills are available?" / browse the catalog / list versions / search by name | references/discovering-skills.md | |
List the AI Catalog governance policies that apply to skills in a project (not MCP servers, not Xray/curation — see listing-policies.md's own disambiguation) | references/listing-policies.md | |
| Install a skill with an explicitly resolved version and repo, update a skill, or handle a blocked download | references/installing-skills.md | |
| "What's installed?" / remove an installed skill | references/managing-installed-skills.md | |
| Publish / upload / release a skill to the catalog | references/publishing-skills.md | |
| "What plugins are available?" / browse the plugin catalog / list plugin versions / search plugins | references/discovering-plugins.md | |
| Install or update a plugin (latest or a pinned version) | references/installing-plugins.md | |
| "What plugins are installed?" / remove an installed plugin | references/managing-installed-plugins.md | |
| Publish / upload / release a plugin to the catalog | references/publishing-plugins.md |
Prerequisites
- Read the base `jfrog` skill first. `../jfrog/SKILL.md`
owns the shared guards this skill depends on, so this skill does not repeat them — follow them there:
- The environment check — confirm
jf
is installed before the first jf call, and install it if missing.
— resolve the default <SID> once and reuse it, pass --server-id <SID> after the subcommand on every jf call, and use one server per request. Resolve it now, before any `jf` call: ```bash jf config show 2>/dev/null \
# stdout: the default server-id; if empty, stop and ask which server to use ```
- The stop-on-error rule — on any
jffailure, stop and never switch servers.
One addition specific to this skill: never cat or parse ~/.jfrog/jfrog-cli.conf.v6 (it can hold access tokens); list servers only with jf config show, which redacts secrets.
- Agent Guard registry. Catalog discovery and repo provisioning run through
npx --yes @jfrog/agent-guard. <REGISTRY_URL> is the npm registry that provides the @jfrog/agent-guard package itself: use JFROG_AGENT_GUARD_REPO if set, otherwise https://releases.jfrog.io/artifactory/api/npm/coding-agents-npm/. Pass the same <SID> to Agent Guard as --server "<SID>" so it targets the same server as your jf calls. Agent Guard also reads JFROG_URL / JF_URL directly when set, so make sure the <SID> you resolved points at that same host.
- Resolve the project (`<PROJECT>`) only when needed.
It is required for --list-skills, --list-skill-versions, --provision-skills-repository, --list-agent-plugins, --list-agent-plugin-versions, --provision-agent-plugins-repository, and listing AI Catalog policies (references/listing-policies.md). Resolve it with this priority:
- Parse
~/.jfrog/setup.json(if present) and read.servers["<SID>"].currentActiveProject. - Fall back to
$JF_PROJECT. - If still empty, ask the user for the project key - do not guess.
``bash PROJECT=$(jq -r --arg sid "<SID>" '.servers[$sid].currentActiveProject // empty' \ ~/.jfrog/setup.json 2>/dev/null) [ -z "$PROJECT" ] && PROJECT="${JF_PROJECT:-}" ` There is no non-admin way to look up or validate project keys (the /access/api/v1/projects list endpoint needs admin), so you cannot silently correct a display name to a key. If the value looks like a display name (spaces, mixed case) rather than a short slug, ask the user to confirm the project **key** specifically. Never assume default, never invent one. Install, update, remove, and publishing to an explicit --repo` are keyed by skill/plugin name and/or repo, not a project.
- Bundle manifests differ by type. Skill bundles require
SKILL.md
in the bundle root; plugin bundles require plugin.json. Validate the correct file before installing or publishing.
Workflow overview
Gotchas
Catalog-specific rules only. The shared jf guards — single server per request, stop-on-error, and cautious mutation — live in the base `jfrog` skill; follow those too. Flow-specific rules live in the reference files above.
- Which operations mutate: install and list are read-mostly; remove, registry
delete, and publish mutate state — the base skill's cautious-mutation rule applies to those three.
- Session pickup: installs, updates, and removals usually take effect only at
the next agent session start, so tell the user to restart.
- Don't leak the plumbing: present skills/versions/repos to the user, never
the npx/Agent Guard commands, --registry, flags, or cursors. Run follow-ups yourself. Discuss catalog filtering only when the user asks about missing or blocked results; follow the refusal in discovering-skills.md.
- Skill discovery is always policy-scoped: every skill and skill-version
listing must follow discovering-skills.md. Never weaken that listing path, including for audit, blocked-content, or named-repository requests. Each locations[] entry from --list-skill-versions also carries its own allowStatus, since a repo's governance status is a per-repo fact, never a per-version one (MLAI-1309) — see discovering-skills.md and installing-skills.md.
- Use the response templates verbatim: where a reference file gives a "reply
using this exact template" block, fill the placeholders and send exactly that, with the same wording every time and no extra preamble or commentary.
- Plugins have no Xray support: skip all Xray-related handling (no 403
gating on download, no inline scan on publish, no --skip-scan flag) when performing any jf agent plugins operation.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/jfrog-ai-catalog/SKILL.md
Popularity
- Repository stars
- 1
- Repository forks
- 1
- 7-day trend score
- 3
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/jfrog/opencode-jfrog-plugin/jfrog-ai-catalog)