- Manage Claude Code marketplace plugins. Add, enable, disable, or
- delete plugins that will be available in your marketplace catalog.
- Enabled plugins will appear in the public marketplace at{" "}
- /claude-code/marketplace.json.
-
+ Register Claude Code skills. Published skills appear in the Skill Hub for all users and
+ are served via{" "}
+ /claude-code/marketplace.json.
+
- Are you sure you want to delete plugin:{" "} + Are you sure you want to delete skill:{" "} {pluginToDelete.displayName}?
This action cannot be undone.
diff --git a/ui/litellm-dashboard/src/components/claude_code_plugins/MakeSkillPublicForm.tsx b/ui/litellm-dashboard/src/components/claude_code_plugins/MakeSkillPublicForm.tsx new file mode 100644 index 00000000000..351502d78b4 --- /dev/null +++ b/ui/litellm-dashboard/src/components/claude_code_plugins/MakeSkillPublicForm.tsx @@ -0,0 +1,249 @@ +import React, { useState, useEffect } from "react"; +import { Modal, Form, Steps, Button, Checkbox } from "antd"; +import { Text, Title, Badge } from "@tremor/react"; +import { enableClaudeCodePlugin, disableClaudeCodePlugin } from "../networking"; +import NotificationsManager from "../molecules/notifications_manager"; +import { Plugin } from "./types"; + +const { Step } = Steps; + +interface MakeSkillPublicFormProps { + visible: boolean; + onClose: () => void; + accessToken: string; + skillsList: Plugin[]; + onSuccess: () => void; +} + +const MakeSkillPublicForm: React.FCNo plugins found. Add one to get started.
+No skills found. Add one to get started.
+ {skill.description} +
+ )} ++ Metadata registered with this skill +
+| + Property + | ++ {skill.name} + | +
|---|---|
| {row.property} | +{row.value} | +
+ Once your proxy is set as a marketplace, enable this skill in Claude Code with one command: +
+ + {/* Install command */} +
+ {installCommand}
+
+ + Don't have the marketplace configured yet?{" "} + setActiveTab("setup")} + style={{ color: "#1a73e8", cursor: "pointer" }} + > + See one-time setup β + +
+
+ Add this to ~/.claude/settings.json to point Claude Code at your proxy:
+
+ {JSON.stringify(
+ {
+ extraKnownMarketplaces: {
+ "my-org": {
+ source: "url",
+ url: `${typeof window !== "undefined" ? window.location.origin : ""}/claude-code/marketplace.json`,
+ },
+ },
+ },
+ null,
+ 2
+ )}
+
+