@@ -5,26 +5,32 @@ import org.intellij.lang.annotations.Language
55 *
66 * This version is for the old structure where marketplace.json is in build/plugins/.claude-plugin/
77 * and references plugins directly.
8+ *
9+ * Updated to follow the official Claude Code marketplace.json format.
810 */
911@Language(" JSON" )
1012fun marketPlaceJson (version : String ): String {
1113 return """
1214 {
15+ "${" $" } schema": "https://anthropic.com/claude-code/marketplace.schema.json",
1316 "name": "codex-agent-collaboration-marketplace",
17+ "version": "$version ",
18+ "description": "Marketplace for Codex AI agent collaboration skills - execute tasks using Codex for code analysis, implementation, and collaboration",
1419 "owner": {
1520 "name": "Forte Scarlet",
1621 "email": "ForteScarlet@163.com"
1722 },
18- "metadata": {
19- "description": "Marketplace for codex agent collaboration skills",
20- "version": "$version "
21- },
2223 "plugins": [
2324 {
2425 "name": "codex-agent-collaboration",
2526 "description": "Execute tasks using Codex AI assistant for code analysis, implementation, and collaboration",
2627 "version": "$version ",
28+ "author": {
29+ "name": "Forte Scarlet",
30+ "email": "ForteScarlet@163.com"
31+ },
2732 "source": "./",
33+ "category": "development",
2834 "strict": false,
2935 "skills": ["./codex-agent-collaboration"]
3036 }
@@ -39,42 +45,55 @@ fun marketPlaceJson(version: String): String {
3945 * This version is for the new structure where marketplace root contains multiple plugins,
4046 * each with their own plugin.json.
4147 *
48+ * Following the official Claude Code marketplace.json format from:
49+ * https://github.com/anthropics/claude-code/blob/main/.claude-plugin/marketplace.json
50+ *
4251 * @param name Marketplace name
4352 * @param version Marketplace version
53+ * @param description Marketplace description
4454 * @param ownerName Owner's display name
4555 * @param ownerEmail Owner's email address
4656 * @param pluginName Plugin name
4757 * @param pluginDescription Plugin description
4858 * @param pluginVersion Plugin version
4959 * @param pluginSource Relative path to plugin directory from marketplace root
60+ * @param pluginCategory Plugin category (e.g., "development", "productivity")
5061 * @return JSON string for marketplace.json
5162 */
5263@Language(" JSON" )
5364fun marketplaceJsonForRoot (
5465 name : String ,
5566 version : String ,
67+ description : String ,
5668 ownerName : String ,
5769 ownerEmail : String ,
5870 pluginName : String ,
5971 pluginDescription : String ,
6072 pluginVersion : String ,
61- pluginSource : String
73+ pluginSource : String ,
74+ pluginCategory : String = "development"
6275): String {
6376 return """
6477 {
78+ "${" $" } schema": "https://anthropic.com/claude-code/marketplace.schema.json",
6579 "name": "$name ",
66- "metadata": {
67- "description": "Marketplace for codex agent collaboration plugins",
68- "version": "$version "
69- },
80+ "version": "$version ",
81+ "description": "$description ",
7082 "owner": {
7183 "name": "$ownerName ",
7284 "email": "$ownerEmail "
7385 },
7486 "plugins": [
7587 {
7688 "name": "$pluginName ",
77- "source": "$pluginSource "
89+ "description": "$pluginDescription ",
90+ "version": "$pluginVersion ",
91+ "author": {
92+ "name": "$ownerName ",
93+ "email": "$ownerEmail "
94+ },
95+ "source": "$pluginSource ",
96+ "category": "$pluginCategory "
7897 }
7998 ]
8099 }
0 commit comments