diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json new file mode 100644 index 0000000..db5aa26 --- /dev/null +++ b/.claude-plugin/marketplace.json @@ -0,0 +1,24 @@ +{ + "name": "runpod-skills", + "owner": { + "name": "Runpod", + "email": "hello@runpod.io" + }, + "metadata": { + "description": "Skills for AI agents to manage GPU workloads on Runpod" + }, + "plugins": [ + { + "name": "flash", + "description": "runpod-flash SDK and CLI for deploying AI workloads on Runpod serverless GPUs/CPUs", + "source": "./flash", + "category": "Runpod" + }, + { + "name": "runpodctl", + "description": "Manage GPU pods, serverless endpoints, templates, volumes, and models", + "source": "./runpodctl", + "category": "Runpod" + } + ] +} diff --git a/AGENTS.md b/AGENTS.md index 7e82400..041555f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,16 +4,20 @@ This file provides guidance to AI agents when working with code in this reposito ## Overview -This is a **skills repository** for AI agents (Claude Code, Cursor, Copilot, etc.) to manage GPU workloads on Runpod. It contains no application code — only skill definition files (`SKILL.md`) that teach AI agents how to use the `runpodctl` CLI. +This is a **skills repository and plugin marketplace** for AI agents (Claude Code, Cursor, Copilot, etc.) to manage GPU workloads on Runpod. It contains no application code — only skill definition files (`SKILL.md`) and plugin manifests that teach AI agents how to use the Runpod CLIs. -Skills are installed by users via `npx skills add runpod/skills` (see [skills.sh](https://skills.sh/)). +Skills are installed by users via `npx skills add runpod/skills` (see [skills.sh](https://skills.sh/)) or as a Claude Code plugin marketplace via `/plugin marketplace add runpod/skills`. ## Repository Structure -Each skill lives in its own directory with a `SKILL.md` file containing frontmatter metadata and CLI documentation: +The repository is both a Claude Code plugin marketplace (via `.claude-plugin/marketplace.json`) and an Agent Skills repository. Each plugin lives in its own directory: ``` -runpodctl/SKILL.md — runpodctl CLI skill definition +.claude-plugin/marketplace.json — marketplace catalog +runpodctl/.claude-plugin/plugin.json — runpodctl plugin manifest +runpodctl/skills/runpodctl/SKILL.md — runpodctl skill definition +flash/.claude-plugin/plugin.json — flash plugin manifest +flash/skills/flash/SKILL.md — flash skill definition ``` ## Skill File Format @@ -27,7 +31,16 @@ runpodctl/SKILL.md — runpodctl CLI skill definition The body is markdown documentation that agents consume to learn the CLI commands. +## Plugin Manifest Format + +Each plugin has a `.claude-plugin/plugin.json` with: +- `name`, `description` — plugin identity +- `version` — semantic version for update tracking +- `author` — plugin author +- `license` + ## Conventions - **Spelling:** "Runpod" (capital R). The CLI command is `runpodctl` (lowercase). - **License:** Apache-2.0 +- Keep plugins sorted alphabetically in marketplace.json and the README.md table. diff --git a/README.md b/README.md index a51c84d..6580da7 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,18 @@ Manage GPU pods, serverless endpoints, templates, volumes, and models. ## Installation +### Claude Code (plugin marketplace) + +```bash +/plugin marketplace add runpod/skills +/plugin install runpodctl@runpod-skills +/plugin install flash@runpod-skills +``` + +Claude Code can automatically update plugins at startup. Run `/plugin` → Marketplaces → Enable auto-update. + +### Other AI Agents + ```bash npx skills add runpod/skills ``` @@ -60,10 +72,20 @@ https://api.runpod.ai/v2//status/ # Job status ## Structure ``` +.claude-plugin/ +└── marketplace.json flash/ -└── SKILL.md +├── .claude-plugin/ +│ └── plugin.json +└── skills/ + └── flash/ + └── SKILL.md runpodctl/ -└── SKILL.md +├── .claude-plugin/ +│ └── plugin.json +└── skills/ + └── runpodctl/ + └── SKILL.md ``` ## License diff --git a/flash/.claude-plugin/plugin.json b/flash/.claude-plugin/plugin.json new file mode 100644 index 0000000..6b8acfa --- /dev/null +++ b/flash/.claude-plugin/plugin.json @@ -0,0 +1,9 @@ +{ + "name": "flash", + "description": "runpod-flash SDK and CLI for deploying AI workloads on Runpod serverless GPUs/CPUs", + "version": "1.0.0", + "author": { + "name": "Runpod" + }, + "license": "Apache-2.0" +} diff --git a/flash/SKILL.md b/flash/skills/flash/SKILL.md similarity index 100% rename from flash/SKILL.md rename to flash/skills/flash/SKILL.md diff --git a/runpodctl/.claude-plugin/plugin.json b/runpodctl/.claude-plugin/plugin.json new file mode 100644 index 0000000..570c742 --- /dev/null +++ b/runpodctl/.claude-plugin/plugin.json @@ -0,0 +1,9 @@ +{ + "name": "runpodctl", + "description": "Manage GPU pods, serverless endpoints, templates, volumes, and models", + "version": "2.1.0", + "author": { + "name": "Runpod" + }, + "license": "Apache-2.0" +} diff --git a/runpodctl/SKILL.md b/runpodctl/skills/runpodctl/SKILL.md similarity index 100% rename from runpodctl/SKILL.md rename to runpodctl/skills/runpodctl/SKILL.md