Add Claude and Codex skill marketplaces - #64
Conversation
| "automation", | ||
| "accessibility" | ||
| ], | ||
| "skills": "./Skills/CLI/" |
There was a problem hiding this comment.
Bug: The relative paths for skills in plugin.json are incorrect, as they resolve from the manifest's directory while the Skills folder is at the repository root.
Severity: CRITICAL
Suggested Fix
Update the relative paths in the plugin.json files to correctly point to the Skills directory from their location. For example, change ./Skills/CLI/ to ../Skills/CLI/ to navigate up one level from the .claude-plugin/ directory to the repository root.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: .claude-plugin/plugin.json#L19
Potential issue: The plugin manifests, `.claude-plugin/plugin.json` and
`.codex-plugin/plugin.json`, specify relative paths for skills like `./Skills/CLI/`.
According to marketplace documentation, these paths are resolved relative to the
directory containing the manifest. This means the system will attempt to locate the
skills directory at paths like `.claude-plugin/Skills/CLI/`, which do not exist. The
actual `Skills` directory is at the repository root. This path mismatch will cause the
marketplace loaders to fail when trying to load the skills, preventing the plugin from
functioning.
Also affects:
.codex-plugin/plugin.json:18~18
Did we get this right? 👍 / 👎 to inform future reviews.
There was a problem hiding this comment.
this only affects windows and because this is a skill for interacting with simulators its inherantly running on macOS. I confirmed this works on my machine.
I also fed it into the agent just to be sure and it gave this feedback:
This feedback is not valid. It confuses the manifest directory with the plugin root.
- .claude-plugin/marketplace.json:11 makes the repository root the Claude plugin root.
- Claude resolves .claude-plugin/plugin.json:19 relative to that plugin root, as documented in its path behavior rules
(https://code.claude.com/docs/en/plugins-reference#path-behavior-rules).
- Codex likewise maps the marketplace’s ./ source to the marketplace root, then joins manifest paths against that plugin root—not .codex-plugin/. This is explicit in the Codex
0.147.0 marketplace resolver (https://github.com/openai/codex/blob/rust-v0.147.0/codex-rs/core-plugins/src/marketplace.rs#L650-L692) and manifest resolver
(https://github.com/openai/codex/blob/rust-v0.147.0/codex-rs/core-plugins/src/manifest.rs#L597-L648).
Therefore the resolved paths are:
- Claude: <repo>/Skills/CLI/
- Codex: <repo>/Skills/CLI/axe
I also ran Claude Code 2.1.233’s strict validator against the repository; it passed. Previous live [Codex ](https://github.com/openai/codex/blob/rust-v0.147.0/codex-rs/core-plugins/src/marketplace.rs#L650-L692)add/list/install/remove testing also succeeded.
No fix is needed. Changing these to ../Skills/... would be incorrect and rejected because plugin component paths cannot escape the plugin root.
WalkthroughAdds Claude Code and Codex plugin manifests, marketplace registrations, skill entrypoints, interface configuration, and default prompts for AXe. Updates the README with installation commands and the case-sensitive 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.claude-plugin/plugin.json:
- Line 5: Update .claude-plugin/plugin.json to omit the version or derive it
from repository state, and update .codex-plugin/plugin.json to retain a strict
semver base while automatically appending a +codex.<cachebuster> suffix whenever
Skills/CLI/axe/SKILL.md changes; ensure the release workflow applies these
cache-busting versions and requires marketplace reinstallation for consumers.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 3f0c2a56-8cab-4e7d-85a9-da2510bdfd21
📒 Files selected for processing (6)
.agents/plugins/marketplace.json.claude-plugin/marketplace.json.claude-plugin/plugin.json.codex-plugin/plugin.jsonCHANGELOG.mdREADME.md
|
👋 hi @cameroncooke, was curious if you had a chance to look at this |
Adds Claude Code and Codex marketplace manifests for the bundled AXe skill.
Installing through a marketplace keeps the skill in sync as updates ship, so users do not need to update it manually after installation.
The manifests reference the existing case-sensitive
Skills/CLIpath directly without a compatibility symlink; systems requiring a conventional lowercaseskills/path are unsupported.