Skip to content
Merged
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
3 changes: 2 additions & 1 deletion plugins/agent-browser/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@
"browser",
"automation",
"agents"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/ai-sdk/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,6 @@
"ai",
"typescript",
"llm"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/antfu/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@
"conventions",
"eslint",
"typescript"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/ast-grep/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@
"structural-search",
"pattern-matching",
"refactoring"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/axi/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,6 @@
"license": "MIT",
"keywords": [
"axi"
]
],
"skills": "./.agents/skills/"
}
2 changes: 1 addition & 1 deletion plugins/better-auth/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@
"auth",
"typescript"
],
"skills": "./skills/"
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/chat-sdk/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@
"slack",
"teams",
"discord"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/claude-md-management/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@
"defaultPrompt": [
"Help me use Claude Md Management for my current task."
]
}
},
"skills": "./skills/"
}
2 changes: 2 additions & 0 deletions plugins/codegraph/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"developerName": "Colby McHenry",
"category": "Development",
"capabilities": [
"Skill",
"Tool"
],
"defaultPrompt": [
Expand All @@ -30,5 +31,6 @@
"semantic-search",
"local-first"
],
"skills": "./skills/",
"mcpServers": "./.mcp.json"
}
3 changes: 2 additions & 1 deletion plugins/cubic/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@
"linting",
"security",
"bugs"
]
],
"skills": "./skills/"
}
3 changes: 2 additions & 1 deletion plugins/deno/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,6 @@
"test-runner",
"fresh",
"deno-deploy"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/dev3000/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@
"web",
"logs",
"screenshots"
]
],
"skills": "./.agents/skills/"
}
1 change: 1 addition & 0 deletions plugins/docus/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,6 @@
"markdown",
"nuxt-content"
],
"skills": "./.agents/skills/",
"mcpServers": "./.mcp.json"
}
3 changes: 2 additions & 1 deletion plugins/edgeparse/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@
"parsing",
"markdown",
"rag"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/emulate/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@
"api-emulation",
"local-development",
"testing"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/eve/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@
"backend",
"vercel",
"framework"
]
],
"skills": "./.agents/skills/"
}
1 change: 1 addition & 0 deletions plugins/evlog/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,6 @@
"structured-errors",
"typescript"
],
"skills": "./.agents/skills/",
"mcpServers": "./.mcp.json"
}
2 changes: 2 additions & 0 deletions plugins/fetch/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"developerName": "fetch-mcp project",
"category": "Tooling",
"capabilities": [
"Skill",
"Tool"
],
"defaultPrompt": [
Expand All @@ -30,5 +31,6 @@
"youtube",
"mcp"
],
"skills": "./skills/",
"mcpServers": "./.mcp.json"
}
1 change: 1 addition & 0 deletions plugins/firebase/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,6 @@
"hosting",
"functions"
],
"skills": "./.agents/skills/",
"mcpServers": "./.mcp.json"
}
4 changes: 1 addition & 3 deletions plugins/gatekeeper/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@
"longDescription": "Two-layer security for Claude Code: auto-approve safe commands, AI-assisted review for the rest",
"developerName": "Minsu Lee",
"category": "Tooling",
"capabilities": [
"Skill"
],
"capabilities": [],
"defaultPrompt": [
"Help me use Gatekeeper for my current task."
]
Expand Down
3 changes: 2 additions & 1 deletion plugins/genkit/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,6 @@
"dart",
"flutter",
"python"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/git-ai/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@
"git",
"ai",
"code-tracking"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/google-workspace/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@
"calendar",
"docs",
"sheets"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/graphify/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,6 @@
"community-detection",
"obsidian",
"neo4j"
]
],
"skills": "./skills/"
}
3 changes: 2 additions & 1 deletion plugins/graphite/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,6 @@
"github",
"pull-request",
"code-review"
]
],
"skills": "./skills/"
}
3 changes: 2 additions & 1 deletion plugins/greptile/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@
"greptile",
"code-review",
"pull-request"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/lavish/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@
"artifacts",
"review",
"visualization"
]
],
"skills": "./.agents/skills/"
}
2 changes: 2 additions & 0 deletions plugins/markitdown/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"developerName": "Microsoft",
"category": "Tooling",
"capabilities": [
"Skill",
"Tool"
],
"defaultPrompt": [
Expand All @@ -32,5 +33,6 @@
"markdown",
"conversion"
],
"skills": "./skills/",
"mcpServers": "./.mcp.json"
}
2 changes: 1 addition & 1 deletion plugins/mastra/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@
"framework",
"agent"
],
"skills": "./skills/",
"skills": "./.agents/skills/",
"mcpServers": "./.mcp.json"
}
3 changes: 2 additions & 1 deletion plugins/mcp-dev/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@
"typescript",
"python",
"fastmcp"
]
],
"skills": "./skills/"
}
3 changes: 2 additions & 1 deletion plugins/next/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@
"react",
"ssr",
"rsc"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/nostics/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,6 @@
"error-handling",
"typescript",
"javascript"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/nuxt-i18n/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@
"internationalization",
"vue-i18n",
"localization"
]
],
"skills": "./skills/"
}
3 changes: 2 additions & 1 deletion plugins/nuxt-seo/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@
"sitemap",
"og-image",
"schema-org"
]
],
"skills": "./.agents/skills/"
}
1 change: 1 addition & 0 deletions plugins/nuxt-ui/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@
"tailwind",
"reka-ui"
],
"skills": "./.agents/skills/",
"mcpServers": "./.mcp.json"
}
1 change: 1 addition & 0 deletions plugins/nuxt/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@
"ssr",
"antfu"
],
"skills": "./.agents/skills/",
"mcpServers": "./.mcp.json"
}
3 changes: 2 additions & 1 deletion plugins/orpc/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@
"rpc",
"openapi",
"typescript"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/pinia/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@
"vue",
"state-management",
"antfu"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/playwright-cli/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,6 @@
"e2e",
"screenshot",
"web"
]
],
"skills": "./.agents/skills/"
}
3 changes: 2 additions & 1 deletion plugins/please-plugins/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@
"marketplace",
"auto-detect",
"setup"
]
],
"skills": "./skills/"
}
30 changes: 28 additions & 2 deletions plugins/plugin-dev/scripts/multi-format.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ describe("toCodexManifest", () => {
expect(result.interface.websiteURL).toBe("https://example.com/demo")
expect(result.interface.shortDescription).toBeTypeOf("string")
expect(result.interface.longDescription).toBe(baseClaude.description)
expect(result.interface.capabilities).toContain("Skill")
expect(result.interface.capabilities).toEqual([])
expect(Array.isArray(result.interface.defaultPrompt)).toBe(true)
expect(result.interface.defaultPrompt.length).toBeGreaterThan(0)
})
Expand Down Expand Up @@ -140,10 +140,36 @@ describe("toCodexManifest", () => {
expect(result.skills).toBe("./skills/")
})

test("omits skills when path is incompatible with Codex (e.g. .agents/skills/)", () => {
test("keeps ./.agents/skills/ (runtime accepts any in-root ./ path)", () => {
const claude: ClaudePluginManifest = { ...baseClaude, skills: "./.agents/skills/" }
const result = toCodexManifest(claude, undefined)
expect(result.skills).toBe("./.agents/skills/")
})

test("prefers the first non-root path from a skills array (root skills/ auto-loads)", () => {
const claude: ClaudePluginManifest = { ...baseClaude, skills: ["./skills/", "./.agents/skills/"] }
const result = toCodexManifest(claude, undefined)
expect(result.skills).toBe("./.agents/skills/")
})

test.each(["../x", "/abs/skills", "./", "./a/../b", "./foo\\..\\bar"])("omits invalid skills path %s", (bad) => {
const claude: ClaudePluginManifest = { ...baseClaude, skills: bad }
const result = toCodexManifest(claude, undefined)
expect(result.skills).toBeUndefined()
expect(result.interface.capabilities).not.toContain("Skill")
})

test("declares ./skills/ when root skills dir exists but Claude manifest has no skills", () => {
const result = toCodexManifest(baseClaude, undefined, { hasRootSkillsDir: true })
expect(result.skills).toBe("./skills/")
expect(result.interface.capabilities).toContain("Skill")
})

test("advertises Skill only when skills are declared", () => {
const withSkills = toCodexManifest({ ...baseClaude, skills: "./.agents/skills/" }, undefined)
expect(withSkills.interface.capabilities).toEqual(["Skill"])
const hooksOnly = toCodexManifest({ ...baseClaude, hooks: "./hooks/hooks.json" }, undefined)
expect(hooksOnly.interface.capabilities).toEqual(["Interactive"])
})
})

Expand Down
Loading
Loading