refactor: consolidate plugin.json into marketplace.json#42
Conversation
Merge license, homepage, repository, keywords, and author from plugin.json into marketplace.json and remove the redundant file. The npx skills installer only reads marketplace.json for skill discovery — plugin.json contributed no functional value.
WalkthroughThe pull request updates Claude plugin configuration by enhancing Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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.
🧹 Nitpick comments (1)
.claude-plugin/marketplace.json (1)
16-18: Consider avoiding duplicated maintainer metadata (ownervsplugins[0].author).With both present, they can drift over time. If schema allows, prefer a single source of truth and derive/render the other at publish time.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.claude-plugin/marketplace.json around lines 16 - 18, The manifest currently duplicates maintainer metadata between owner and plugins[0].author; pick one canonical field (either owner or plugins[0].author) and remove the other to avoid drift, then update any publish/build code that reads the manifest so it derives the removed field at publish time (e.g., when publishing, if owner is canonical populate plugins[0].author from owner, or vice versa); specifically edit the JSON to keep a single maintainer source and adjust the publish pipeline logic that references owner and plugins[0].author so it consistently reads the canonical field and synthesizes the secondary one when generating packaged metadata.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.claude-plugin/marketplace.json:
- Around line 16-18: The manifest currently duplicates maintainer metadata
between owner and plugins[0].author; pick one canonical field (either owner or
plugins[0].author) and remove the other to avoid drift, then update any
publish/build code that reads the manifest so it derives the removed field at
publish time (e.g., when publishing, if owner is canonical populate
plugins[0].author from owner, or vice versa); specifically edit the JSON to keep
a single maintainer source and adjust the publish pipeline logic that references
owner and plugins[0].author so it consistently reads the canonical field and
synthesizes the secondary one when generating packaged metadata.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 957185fe-2952-4146-b07f-d65918b76947
📒 Files selected for processing (2)
.claude-plugin/marketplace.json.claude-plugin/plugin.json
💤 Files with no reviewable changes (1)
- .claude-plugin/plugin.json
🤖 Augment PR SummarySummary: Consolidates previously duplicated plugin metadata into 🤖 Was this summary useful? React with 👍 or 👎 |
| "owner": { | ||
| "name": "Brian (BMad) Madison" | ||
| }, | ||
| "license": "MIT", |
There was a problem hiding this comment.
.claude-plugin/marketplace.json is often parsed/validated against a fairly tight marketplace schema; adding top-level keys like license/homepage/repository/keywords may cause validation or discovery tooling to reject the manifest. Can you confirm the target consumer for this file accepts these top-level fields?
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| @@ -1,12 +0,0 @@ | |||
| { | |||
There was a problem hiding this comment.
With .claude-plugin/plugin.json removed, please double-check that the remaining marketplace.json configuration is sufficient for all intended consumers (e.g., Claude Code plugin loading/validation vs npx skills discovery). Some plugin systems assume plugin.json exists unless the marketplace entry is explicitly configured not to rely on it.
Severity: high
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Summary
plugin.json(license, homepage, repository, keywords, author, description) intomarketplace.jsonplugin.json— thenpx skillsinstaller only readsmarketplace.jsonfor skill discoveryTest plan
npx skills add bmad-code-org/bmad-builderstill discovers and installs all 3 skillsSummary by CodeRabbit