Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cursor-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
},
"metadata": {
"description": "JFrog Platform plugins for Cursor",
"version": "0.5.6",
"version": "0.5.7",
"pluginRoot": "plugins"
},
"plugins": [
Expand Down
2 changes: 1 addition & 1 deletion plugins/jfrog/.cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "jfrog",
"displayName": "JFrog Platform",
"version": "0.5.6",
"version": "0.5.7",
"description": "JFrog Platform integration with MCP, security skills, supply-chain best practices, and JFrog Agent Guard governance for adding, removing, and listing MCP servers.",
"author": {
"name": "JFrog",
Expand Down
21 changes: 9 additions & 12 deletions plugins/jfrog/skills/jfrog-ai-catalog-skills/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,15 @@ Pick the row matching the user's intent and read that reference file.
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, and always to a key.**
`<PROJECT>` must be the JFrog **project key**, not the display name. It is
required for `--list-skills`, `--list-skill-versions`, and
`--provision-skills-repository`. Take the value from `JF_PROJECT` or the user,
then resolve it to a key against the projects list (see *List all projects* in
the base `jfrog` skill's [`references/projects-api.md`](../jfrog/references/projects-api.md)):
```bash
jf api '/access/api/v1/projects' --server-id "<SID>" \
| jq -r '.[] | select(.project_key=="<value>" or .display_name=="<value>") | .project_key'
```
Use the printed key. If it prints nothing, ask the user for the key. Never
assume `default`, never invent one. Install, update, remove, and publishing to
- **Resolve the project (`<PROJECT>`) only when needed.**
It is required for `--list-skills`, `--list-skill-versions`, and
`--provision-skills-repository`. Take it from `JF_PROJECT` or the user.
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 **name** and/or **repo**, not a
project.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,8 @@ template and do not run `jf skills publish` until the user agrees:

> Publishing skill `<slug>` uploads it to repository `<repo>` on server `<SID>`. Do you want to publish it?

Never combine this final confirmation step with the previous signing step into one prompt.

If the user says no or names a different repo/name, use that instead and confirm
again. Only proceed to *Publish* after an explicit "yes".

Expand Down
2 changes: 1 addition & 1 deletion plugins/jfrog/skills/jfrog/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ compatibility: >-
Requires jq on PATH.
metadata:
role: base
version: "0.16.0"
version: "0.17.0"
---

# JFrog Skill
Expand Down
Loading