feat: Register all 4 plugins in marketplace#12
Conversation
- Add recoup-platform-plugin, recoup-content-plugin, recoup-research-plugin to Claude Code and Codex marketplace registries - Fix recoup-research-plugin Codex manifest (missing skills + interface fields) - Update README with full plugin catalog (4 plugins, 21 skills), install instructions for all 3 agent platforms - Track new plugin directories
📝 WalkthroughWalkthroughThis PR rebrands marketplace ownership from Recoupable to Recoup across two JSON manifests, adds three new plugin entries (platform, research, content) with full metadata, rewrites README.md to document the expanded multi-plugin marketplace, and updates four submodule commit pointers. ChangesMarketplace manifest and documentation updates
Estimated code review effort: 2 (Simple) | ~12 minutes Sequence Diagram(s)Not applicable — this PR consists of manifest metadata updates, documentation rewrites, and submodule pointer bumps without new control flow or multi-component interaction logic. Suggested reviewers: N/A Suggested labels: documentation, dependencies 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
⚔️ Resolve merge conflicts
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: 2
🤖 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 `@README.md`:
- Line 25: The README install command uses the wrong marketplace slug, so update
the marketplace add instruction to match the published identifier used by the
manifests. Locate the `/plugin marketplace add` entry in README and replace the
current slug with the actual marketplace name, consistent with the
recoupable-plugins manifests.
In `@recoup-research-plugin`:
- Line 1: Add a submodule declaration for recoup-research-plugin in .gitmodules
so the gitlink can be initialized in a clean clone. Update the .gitmodules
entries alongside the existing music-catalog-diligence declaration, matching the
submodule path and URL used by the gitlink, so the marketplace source path no
longer depends on a local checkout.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 23a2a138-bfc2-46ab-b228-41c15abfae89
📒 Files selected for processing (7)
.agents/plugins/marketplace.json.claude-plugin/marketplace.jsonREADME.mdrecoup-catalogs-pluginrecoup-content-pluginrecoup-platform-pluginrecoup-research-plugin
| Add the marketplace, then install what you need: | ||
|
|
||
| ```bash | ||
| /plugin marketplace add recoupable/plugins |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'Files:\n'
git ls-files | rg '(^README\.md$|marketplace\.json$|plugin)' || true
printf '\nRelevant README lines:\n'
cat -n README.md | sed -n '18,32p'
printf '\nMarketplace manifests:\n'
for f in .claude-plugin/marketplace.json .agents/plugins/marketplace.json; do
if [ -f "$f" ]; then
echo "--- $f"
cat -n "$f"
fi
doneRepository: recoupable/marketplace
Length of output: 11478
Align the marketplace slug
/plugin marketplace add recoupable/plugins does not match the marketplace name published in both manifests (recoupable-plugins), so this install step points at the wrong identifier. Update the README to use the actual slug.
♻️ Proposed fix
-/plugin marketplace add recoupable/plugins
+/plugin marketplace add recoupable-plugins📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| /plugin marketplace add recoupable/plugins | |
| /plugin marketplace add recoupable-plugins |
🤖 Prompt for 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.
In `@README.md` at line 25, The README install command uses the wrong marketplace
slug, so update the marketplace add instruction to match the published
identifier used by the manifests. Locate the `/plugin marketplace add` entry in
README and replace the current slug with the actual marketplace name, consistent
with the recoupable-plugins manifests.
| @@ -0,0 +1 @@ | |||
| Subproject commit 817b06145304374e88541606144d69b9327c93e4 | |||
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify the submodule commit exists upstream for recoup-research-plugin.
git ls-remote https://github.com/recoupable/recoup-research-plugin 817b06145304374e88541606144d69b9327c93e4 2>&1 || echo "Commit not found or repo inaccessible (may require auth for private repo)"Repository: recoupable/marketplace
Length of output: 160
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== top-level files =="
git ls-files | rg '^(recoup-research-plugin|\.claude-plugin/marketplace\.json|\.gitmodules)$' || true
echo
echo "== submodule pointer =="
git ls-tree HEAD recoup-research-plugin || true
echo
echo "== marketplace manifest =="
cat -n .claude-plugin/marketplace.json | sed -n '1,220p'
echo
echo "== .gitmodules (if present) =="
if [ -f .gitmodules ]; then
cat -n .gitmodules | sed -n '1,220p'
else
echo "(no .gitmodules file)"
fi
echo
echo "== ls-remote for pinned SHA =="
git ls-remote https://github.com/recoupable/recoup-research-plugin 817b06145304374e88541606144d69b9327c93e4 || true
echo
echo "== if remote advertises refs, check whether any ref resolves to the SHA =="
git ls-remote https://github.com/recoupable/recoup-research-plugin | rg '817b06145304374e88541606144d69b9327c93e4' || trueRepository: recoupable/marketplace
Length of output: 4739
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== all references to recoup-research-plugin =="
rg -n --hidden --glob '!.git' 'recoup-research-plugin' .
echo
echo "== tree entries for the path =="
git ls-tree -r HEAD | rg 'recoup-research-plugin|music-catalog-diligence|\.gitmodules' || true
echo
echo "== submodule metadata in .gitmodules =="
cat -n .gitmodulesRepository: recoupable/marketplace
Length of output: 1671
Add a .gitmodules entry for recoup-research-plugin. The tree has a gitlink at 817b06145304374e88541606144d69b9327c93e4, but only music-catalog-diligence is declared in .gitmodules, so a clean clone can’t initialize this submodule and the marketplace source path depends on an implicit local checkout.
🤖 Prompt for 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.
In `@recoup-research-plugin` at line 1, Add a submodule declaration for
recoup-research-plugin in .gitmodules so the gitlink can be initialized in a
clean clone. Update the .gitmodules entries alongside the existing
music-catalog-diligence declaration, matching the submodule path and URL used by
the gitlink, so the marketplace source path no longer depends on a local
checkout.
There was a problem hiding this comment.
6 issues found across 7 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="recoup-research-plugin">
<violation number="1" location="recoup-research-plugin:1">
P1: `recoup-research-plugin` is tracked as a gitlink tree object but has no `.gitmodules` entry and the submodule's origin is the marketplace repo, not the actual research plugin repo. Anyone cloning with `--recurse-submodules` won't fetch this plugin. Add a `.gitmodules` entry pointing to `https://github.com/recoupable/recoup-research-plugin.git`.</violation>
</file>
<file name="README.md">
<violation number="1" location="README.md:108">
P3: Structure directory tree is misleading — `plugins/` wrapper dir doesn't exist and all items shown are at the repo root. The tree should either drop the `plugins/` heading or restructure to show actual nesting (e.g. `.claude-plugin/marketplace.json` is two levels deep under the hidden `.claude-plugin/` dir, not a direct child). New contributors will misread the repo layout.</violation>
</file>
<file name="recoup-platform-plugin">
<violation number="1" location="recoup-platform-plugin:1">
P0: Submodule `recoup-platform-plugin` is added to the git tree but not registered in `.gitmodules`. Without a `.gitmodules` entry, `git submodule init` won't register it and `git submodule update` won't clone the content — anyone cloning this repo fresh will get an empty `recoup-platform-plugin/` directory. Add a `.gitmodules` entry for this submodule with its URL (`https://github.com/recoupable/recoup-platform-plugin.git`) so the marketplace path `./recoup-platform-plugin` resolves at install time.</violation>
</file>
<file name="recoup-catalogs-plugin">
<violation number="1" location="recoup-catalogs-plugin:1">
P1: `recoup-catalogs-plugin` is tracked as a submodule gitlink but has no `.gitmodules` entry and isn't referenced in any marketplace manifest or docs. Anyone cloning the repo won't get this submodule populated, and no marketplace UI can discover or install it. The 4 registered plugins are `recoup-platform-plugin`, `recoup-research-plugin`, `recoup-content-plugin`, and `music-catalog-diligence` — `recoup-catalogs-plugin` doesn't match any of them. Either remove this gitlink if it's a leftover, or add a `.gitmodules` entry and register it in the marketplace if it's an intended 5th plugin.</violation>
</file>
<file name="recoup-content-plugin">
<violation number="1" location="recoup-content-plugin:1">
P1: `recoup-content-plugin` submodule pointer is added to the git tree without a corresponding entry in `.gitmodules`. This means `git submodule update --init` (or `clone --recurse-submodules`) will not clone `recoup-content-plugin`, leaving the `./recoup-content-plugin` source path unresolvable in both marketplace manifests. Add a `.gitmodules` entry for `recoup-content-plugin` matching the pattern used for `music-catalog-diligence`.</violation>
</file>
<file name=".agents/plugins/marketplace.json">
<violation number="1" location=".agents/plugins/marketplace.json:11">
P2: The `recoup-catalogs-plugin` directory exists at the repository root but is not registered in either the Codex or Claude Code marketplace. Agents won't discover or be able to install it through the marketplace registries. Either register it in both marketplace JSON files (consistent with the other four plugins), or remove the directory if it is stale or not yet ready for publication.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| @@ -0,0 +1 @@ | |||
| Subproject commit 66c344db68bd475a62f39f0517e0f7779cce7148 | |||
There was a problem hiding this comment.
P0: Submodule recoup-platform-plugin is added to the git tree but not registered in .gitmodules. Without a .gitmodules entry, git submodule init won't register it and git submodule update won't clone the content — anyone cloning this repo fresh will get an empty recoup-platform-plugin/ directory. Add a .gitmodules entry for this submodule with its URL (https://github.com/recoupable/recoup-platform-plugin.git) so the marketplace path ./recoup-platform-plugin resolves at install time.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At recoup-platform-plugin, line 1:
<comment>Submodule `recoup-platform-plugin` is added to the git tree but not registered in `.gitmodules`. Without a `.gitmodules` entry, `git submodule init` won't register it and `git submodule update` won't clone the content — anyone cloning this repo fresh will get an empty `recoup-platform-plugin/` directory. Add a `.gitmodules` entry for this submodule with its URL (`https://github.com/recoupable/recoup-platform-plugin.git`) so the marketplace path `./recoup-platform-plugin` resolves at install time.</comment>
<file context>
@@ -0,0 +1 @@
+Subproject commit 66c344db68bd475a62f39f0517e0f7779cce7148
</file context>
| @@ -0,0 +1 @@ | |||
| Subproject commit 817b06145304374e88541606144d69b9327c93e4 | |||
There was a problem hiding this comment.
P1: recoup-research-plugin is tracked as a gitlink tree object but has no .gitmodules entry and the submodule's origin is the marketplace repo, not the actual research plugin repo. Anyone cloning with --recurse-submodules won't fetch this plugin. Add a .gitmodules entry pointing to https://github.com/recoupable/recoup-research-plugin.git.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At recoup-research-plugin, line 1:
<comment>`recoup-research-plugin` is tracked as a gitlink tree object but has no `.gitmodules` entry and the submodule's origin is the marketplace repo, not the actual research plugin repo. Anyone cloning with `--recurse-submodules` won't fetch this plugin. Add a `.gitmodules` entry pointing to `https://github.com/recoupable/recoup-research-plugin.git`.</comment>
<file context>
@@ -0,0 +1 @@
+Subproject commit 817b06145304374e88541606144d69b9327c93e4
</file context>
| @@ -0,0 +1 @@ | |||
| Subproject commit db8313878634ea3702878129c823b1db6fdaf874 | |||
There was a problem hiding this comment.
P1: recoup-catalogs-plugin is tracked as a submodule gitlink but has no .gitmodules entry and isn't referenced in any marketplace manifest or docs. Anyone cloning the repo won't get this submodule populated, and no marketplace UI can discover or install it. The 4 registered plugins are recoup-platform-plugin, recoup-research-plugin, recoup-content-plugin, and music-catalog-diligence — recoup-catalogs-plugin doesn't match any of them. Either remove this gitlink if it's a leftover, or add a .gitmodules entry and register it in the marketplace if it's an intended 5th plugin.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At recoup-catalogs-plugin, line 1:
<comment>`recoup-catalogs-plugin` is tracked as a submodule gitlink but has no `.gitmodules` entry and isn't referenced in any marketplace manifest or docs. Anyone cloning the repo won't get this submodule populated, and no marketplace UI can discover or install it. The 4 registered plugins are `recoup-platform-plugin`, `recoup-research-plugin`, `recoup-content-plugin`, and `music-catalog-diligence` — `recoup-catalogs-plugin` doesn't match any of them. Either remove this gitlink if it's a leftover, or add a `.gitmodules` entry and register it in the marketplace if it's an intended 5th plugin.</comment>
<file context>
@@ -0,0 +1 @@
+Subproject commit db8313878634ea3702878129c823b1db6fdaf874
</file context>
| @@ -0,0 +1 @@ | |||
| Subproject commit 00077595812cc7840837102c1c58626c0f4f40c6 | |||
There was a problem hiding this comment.
P1: recoup-content-plugin submodule pointer is added to the git tree without a corresponding entry in .gitmodules. This means git submodule update --init (or clone --recurse-submodules) will not clone recoup-content-plugin, leaving the ./recoup-content-plugin source path unresolvable in both marketplace manifests. Add a .gitmodules entry for recoup-content-plugin matching the pattern used for music-catalog-diligence.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At recoup-content-plugin, line 1:
<comment>`recoup-content-plugin` submodule pointer is added to the git tree without a corresponding entry in `.gitmodules`. This means `git submodule update --init` (or `clone --recurse-submodules`) will not clone `recoup-content-plugin`, leaving the `./recoup-content-plugin` source path unresolvable in both marketplace manifests. Add a `.gitmodules` entry for `recoup-content-plugin` matching the pattern used for `music-catalog-diligence`.</comment>
<file context>
@@ -0,0 +1 @@
+Subproject commit 00077595812cc7840837102c1c58626c0f4f40c6
</file context>
| @@ -1,46 +1,105 @@ | |||
| { | |||
There was a problem hiding this comment.
P2: The recoup-catalogs-plugin directory exists at the repository root but is not registered in either the Codex or Claude Code marketplace. Agents won't discover or be able to install it through the marketplace registries. Either register it in both marketplace JSON files (consistent with the other four plugins), or remove the directory if it is stale or not yet ready for publication.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .agents/plugins/marketplace.json, line 11:
<comment>The `recoup-catalogs-plugin` directory exists at the repository root but is not registered in either the Codex or Claude Code marketplace. Agents won't discover or be able to install it through the marketplace registries. Either register it in both marketplace JSON files (consistent with the other four plugins), or remove the directory if it is stale or not yet ready for publication.</comment>
<file context>
@@ -1,46 +1,105 @@
- "source": {
- "path": "./music-catalog-diligence"
+ "name": "recoup-platform-plugin",
+ "source": { "path": "./recoup-platform-plugin" },
+ "version": "0.2.0",
+ "description": "Onboarding, health checks, and cross-cutting helpers for working with the Recoup platform from inside Codex.",
</file context>
|
|
||
| ```text | ||
| plugins/ | ||
| ├── .claude-plugin/marketplace.json # Claude Code marketplace registry |
There was a problem hiding this comment.
P3: Structure directory tree is misleading — plugins/ wrapper dir doesn't exist and all items shown are at the repo root. The tree should either drop the plugins/ heading or restructure to show actual nesting (e.g. .claude-plugin/marketplace.json is two levels deep under the hidden .claude-plugin/ dir, not a direct child). New contributors will misread the repo layout.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At README.md, line 108:
<comment>Structure directory tree is misleading — `plugins/` wrapper dir doesn't exist and all items shown are at the repo root. The tree should either drop the `plugins/` heading or restructure to show actual nesting (e.g. `.claude-plugin/marketplace.json` is two levels deep under the hidden `.claude-plugin/` dir, not a direct child). New contributors will misread the repo layout.</comment>
<file context>
@@ -1,52 +1,127 @@
+
+```text
+plugins/
+├── .claude-plugin/marketplace.json # Claude Code marketplace registry
+├── .agents/plugins/marketplace.json # Codex marketplace registry
+├── recoup-platform-plugin/ # Platform onboarding + health
</file context>
What
Register the 3 new plugins (platform, research, content) alongside the existing music-catalog-diligence in both Claude Code and Codex marketplace registries.
Changes
.claude-plugin/marketplace.json): Added recoup-platform-plugin, recoup-research-plugin, recoup-content-plugin.agents/plugins/marketplace.json): Same 3 plugins with full interface metadataskillsandinterfacefieldsWhy
The marketplace only registered 1 of 4 available plugins. Customers' agents couldn't discover or install the platform, research, or content plugins through the marketplace — they had to know the direct GitHub URLs. Now all plugins are discoverable.
Impact
Summary by cubic
Registered the
recoup-platform-plugin,recoup-research-plugin, andrecoup-content-pluginin both Claude Code and Codex marketplaces so all four Recoup plugins are discoverable and installable. Updated README with the full catalog (4 plugins, 21 skills) and install steps for Claude Code, Codex, and Cursor; fixed the research plugin’s Codex manifest.New Features
.claude-plugin/marketplace.jsonand.agents/plugins/marketplace.jsonwith full interface metadata.recoup-platform-pluginas the recommended starting point.Bug Fixes
skillsandinterfacefields to therecoup-research-pluginCodex manifest.Written for commit 1386cfa. Summary will update on new commits.
Summary by CodeRabbit
New Features
Bug Fixes
Chores