Skip to content

docs: Plugin Ecosystem — 5 new pages documenting all 4 Recoup plugins - #277

Open
sidneyswift wants to merge 1 commit into
mainfrom
cosmo/plugin-ecosystem-docs
Open

docs: Plugin Ecosystem — 5 new pages documenting all 4 Recoup plugins#277
sidneyswift wants to merge 1 commit into
mainfrom
cosmo/plugin-ecosystem-docs

Conversation

@sidneyswift

@sidneyswift sidneyswift commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

What

Adds a complete Plugin Ecosystem section to the Recoup docs site — 5 new MDX pages documenting all 4 plugins (27 skills total) with install guides, capability maps, example workflows, and LLM-optimized quick references.

Why

The docs site had zero mention of plugins despite them being the primary way customers interact with Recoup. An agent visiting developers.recoupable.dev had no idea plugins existed. This addresses:

  • Roadmap P1: Agent onboarding docs
  • Roadmap P2: Agent discoverability ("Claude Code struggled to find capabilities from docs — 4-5 prompts")

New Pages

Page Content
plugins/index.mdx Ecosystem overview, marketplace install, capability-to-plugin map, architecture diagram, LLM quick reference
plugins/platform.mdx 5 skills: getting-started, recoup-api, create-artist, artist-workspace, setup-sandbox
plugins/research.mdx 10 skills: artist-research, weekly-brief, audience, competitive, tiktok-per-song, trends, playlists, release-pack, outreach, web-intel
plugins/content.mdx 3 skills: recoup-content-create, short-video, content-creation
plugins/catalogs.mdx 9 skills: catalog-deal, deal-kickoff, catalog-ingest, catalog-analyze, royalty-audit, financing-underwrite, catalog-package, post-close-admin, catalog-demo

Updated Files

  • docs.json — new Plugins tab in navigation (after Quickstart)
  • index.mdx — Plugin Ecosystem card in Get Started section + LLM quick reference updated

Impact

Every customer's agent now finds Recoup's full plugin catalog on the docs site. The LLM-optimized sections mean agents can discover and install the right plugin in 1 prompt instead of 4-5.


Summary by cubic

Adds a Plugin Ecosystem to the docs: five new pages documenting all four plugins with install guides, capability maps, example workflows, and LLM-friendly quick references. Updates navigation and the homepage to make plugins easy to find and use.

  • New Features
    • Plugin docs for recoup-platform-plugin, recoup-research-plugin, recoup-content-plugin, recoup-catalogs-plugin: plugins/index, plugins/platform, plugins/research, plugins/content, plugins/catalogs (skills, workflows, installs, quick refs).
    • Navigation and homepage: new Plugins tab after Quickstart in docs.json; Get Started card now links to Plugin Ecosystem; LLM quick reference updated to recommend plugins and recoupable/marketplace.

Written for commit 3655470. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • New Features
    • Added a dedicated Plugins section to the documentation navigation.
    • Introduced a Plugin Ecosystem card on the homepage.
    • Added comprehensive guides for the Platform, Research, Content, and Catalogs plugins.
    • Documented plugin installation, available capabilities, workflows, configuration, and API key requirements.
    • Expanded quick-reference guidance for selecting and using plugins.

…coup plugins

New pages:
- plugins/index.mdx — ecosystem overview, capability map, install guides, LLM quick reference
- plugins/platform.mdx — 5 skills: getting-started, recoup-api, create-artist, artist-workspace, setup-sandbox
- plugins/research.mdx — 10 skills: artist-research, weekly-brief, audience, competitive, tiktok-per-song, trends, playlists, release-pack, outreach, web-intel
- plugins/content.mdx — 3 skills: recoup-content-create, short-video, content-creation
- plugins/catalogs.mdx — 9 skills: catalog-deal, deal-kickoff, catalog-ingest, catalog-analyze, royalty-audit, financing-underwrite, catalog-package, post-close-admin, catalog-demo

Updated:
- docs.json — new Plugins tab in navigation (position 2, after Quickstart)
- index.mdx — Plugin Ecosystem card in Get Started section, LLM quick reference updated with plugin info

Addresses roadmap P1 (agent onboarding docs) and P2 (agent discoverability).
Previously, the docs site had zero mention of plugins despite them being the primary customer interaction surface.
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds a Plugins navigation section and homepage guidance, then documents the Platform, Research, Content, and Catalogs plugins with installation instructions, skills, workflows, API references, environment requirements, and source links.

Changes

Plugin Ecosystem Documentation

Layer / File(s) Summary
Navigation and plugin hub
docs.json, index.mdx, plugins/index.mdx
Adds Plugins navigation, replaces the CLI card, and documents marketplace installation, available plugins, workflows, quick references, and next steps.
Platform plugin documentation
plugins/platform.mdx
Documents onboarding, API usage, artist workflows, workspace setup, sandbox initialization, installation, environment configuration, and related plugins.
Research and content plugin documentation
plugins/research.mdx, plugins/content.mdx
Adds research skills and workflows, plus content rendering workflows, API endpoints, installation guidance, and required environment details.
Catalogs plugin documentation
plugins/catalogs.mdx
Documents catalog deal lifecycle skills, example workflows, optional extraction dependencies, installation, environment configuration, and source links.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Suggested reviewers: sweetmantech

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: a new Plugin Ecosystem docs section with five pages covering all four Recoup plugins.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cosmo/plugin-ecosystem-docs

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🧹 Nitpick comments (1)
plugins/index.mdx (1)

22-30: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Clarify the Claude marketplace installation syntax across both pages.

The hub and platform onboarding document different commands for the same marketplace flow. Distinguish shell CLI usage from in-session usage, or standardize on one verified command.

  • plugins/index.mdx#L22-L30: clarify or correct claude plugin install ...@recoup-marketplace.
  • plugins/platform.mdx#L115-L117: clarify or correct /plugin install ...@recoup-marketplace.
🤖 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 `@plugins/index.mdx` around lines 22 - 30, Clarify and standardize the
marketplace installation commands across plugins/index.mdx lines 22-30 and
plugins/platform.mdx lines 115-117, explicitly distinguishing shell CLI commands
from in-session slash commands or using one verified syntax consistently; update
both documented plugin-install flows to use the correct `@recoup-marketplace`
command.
🤖 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 `@plugins/catalogs.mdx`:
- Around line 14-16: Update the catalog documentation around the quick-start Tip
so it surfaces setup prerequisites before the /recoup-catalog-deal command,
including the required RECOUP_API_KEY and optional dependencies for PDF/XLSX
data rooms; alternatively link directly to the prerequisite instructions from
the Tip.
- Around line 156-158: Replace the unsupported GitHub-URL command in the plugin
installation instructions with the supported Codex marketplace flow, using the
existing “/plugin install recoup-catalogs-plugin@recoup-marketplace” command or
equivalent /plugins marketplace steps.
- Around line 152-154: Update the Cowork block after the custom plugin link to
document permission approval for Read, Write, and Bash access before running
workflows. Keep the existing plugin installation link and clearly indicate that
these permissions are required for the validator scripts to execute
successfully.

In `@plugins/index.mdx`:
- Around line 44-47: Update the Cursor setup instructions in the plugin hub to
provide a GitHub repository URL for every listed plugin, or replace the generic
instruction with links to each plugin page’s source section. Ensure users can
obtain the required repository URL directly from the hub.

In `@plugins/research.mdx`:
- Around line 124-145: Update the endpoint tables in plugins/research.mdx (lines
124-145) and plugins/content.mdx (lines 73-87) to match the supplied /api/...
OpenAPI contract: add the /api prefix throughout research routes, document the
required q parameter for artist search, rename /research/tracks to
/api/research/track, and document POST /api/content/create while verifying and
correcting all remaining content routes against the API reference.

---

Nitpick comments:
In `@plugins/index.mdx`:
- Around line 22-30: Clarify and standardize the marketplace installation
commands across plugins/index.mdx lines 22-30 and plugins/platform.mdx lines
115-117, explicitly distinguishing shell CLI commands from in-session slash
commands or using one verified syntax consistently; update both documented
plugin-install flows to use the correct `@recoup-marketplace` command.
🪄 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 Plus

Run ID: f7ccb414-09d6-46b8-9744-40d03dc91acd

📥 Commits

Reviewing files that changed from the base of the PR and between ed3a821 and 3655470.

📒 Files selected for processing (7)
  • docs.json
  • index.mdx
  • plugins/catalogs.mdx
  • plugins/content.mdx
  • plugins/index.mdx
  • plugins/platform.mdx
  • plugins/research.mdx

Comment thread plugins/catalogs.mdx
Comment on lines +14 to +16
<Tip>
**Try it:** Say "Let's analyze a catalog with /recoup-catalog-deal" — the agent asks what kind of deal this is (buy-side, seller-prep, or financing) and walks you through the entire workflow.
</Tip>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Surface prerequisites before the quick-start command.

The first actionable instruction encourages users to run the workflow before explaining that RECOUP_API_KEY is required and that PDF/XLSX data rooms need optional dependencies. Move those prerequisites above this tip, or link to them directly, so first-run attempts do not fail due to missing setup.

Proposed clarification
 <Tip>
+Set `RECOUP_API_KEY` first; install the optional PDF/XLSX dependencies below when needed.
 **Try it:** Say "Let's analyze a catalog with /recoup-catalog-deal" — the agent asks what kind of deal this is (buy-side, seller-prep, or financing) and walks you through the entire workflow.
 </Tip>
📝 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.

Suggested change
<Tip>
**Try it:** Say "Let's analyze a catalog with /recoup-catalog-deal" — the agent asks what kind of deal this is (buy-side, seller-prep, or financing) and walks you through the entire workflow.
</Tip>
<Tip>
Set `RECOUP_API_KEY` first; install the optional PDF/XLSX dependencies below when needed.
**Try it:** Say "Let's analyze a catalog with /recoup-catalog-deal" — the agent asks what kind of deal this is (buy-side, seller-prep, or financing) and walks you through the entire workflow.
</Tip>
🤖 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 `@plugins/catalogs.mdx` around lines 14 - 16, Update the catalog documentation
around the quick-start Tip so it surfaces setup prerequisites before the
/recoup-catalog-deal command, including the required RECOUP_API_KEY and optional
dependencies for PDF/XLSX data rooms; alternatively link directly to the
prerequisite instructions from the Tip.

Comment thread plugins/catalogs.mdx
Comment on lines +152 to +154
```text Claude Cowork
Add custom plugin → https://github.com/recoupable/recoup-catalogs-plugin
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== file snippet =="
sed -n '135,165p' plugins/catalogs.mdx || true

echo "== locate related docs/usages =="
rg -n "Cowork|Read|Write|Bash|validator scripts|recoup-catalogs-plugin|Add custom plugin" plugins README.md docs . 2>/dev/null | head -200 || true

echo "== repo files overview =="
git ls-files | sed -n '1,120p'

Repository: recoupable/docs

Length of output: 13088


🌐 Web query:

Claude Code Cowork installation add custom plugin permissions Read Write Bash validator scripts

💡 Result:

Claude Code allows for granular permission control via its plugin system, which uses hooks to intercept and validate tool calls [1][2]. You do not add "permissions" to a plugin in the sense of assigning read/write access levels; instead, you implement custom validation logic using PreToolUse hooks [1][2]. To implement custom validator scripts for Read, Write, or Bash operations, follow these steps: 1. Create a Hooks Configuration: Define your hooks in a hooks/hooks.json file at the root of your plugin directory [2]. Use the PreToolUse event to target specific tool types [2][3]. { "PreToolUse": [ { "matcher": "Bash|Write|Edit", "hooks": [ { "type": "command", "command": "bash ${CLAUDE_PLUGIN_ROOT}/scripts/validate.sh", "timeout": 60 } ] } ] } 2. Implement the Validator Script: Create a Bash script (e.g., scripts/validate.sh) that accepts input from Claude Code. The script can perform deterministic checks (like path traversal, sensitive file access, or command allow-listing) [2][3]. Your script should output a decision to stdout: - To allow the action: (no specific output or an 'approve' response depending on implementation). - To deny the action: Return a 'deny' response with an optional feedback message to guide Claude [2][4]. 3. Use Environment Variables: Always use the ${CLAUDE_PLUGIN_ROOT} environment variable provided by Claude Code to reference files within your plugin directory securely [2]. 4. Development and Testing: - Validate your hook configuration schema using the provided internal utility: scripts/validate-hook-schema.sh hooks/hooks.json [2]. - Test your hooks locally by loading your plugin directory directly when running Claude Code: claude --plugin-dir./path-to-your-plugin [5][6]. Built-in behaviors: Claude Code has a set of built-in read-only Bash commands (e.g., ls, grep, cat) that do not require permission prompts [1]. Custom hooks allow you to override default behavior or add additional security layers to these and other tools like Write or Edit [1][2]. Note that some community plugins use a PermissionRequest hook to perform real-time LLM-based validation on Bash commands, passing other operations like Read/Write through to the standard permission system to avoid interference [4].

Citations:


🌐 Web query:

github.com/recoupable/recoup-catalogs-plugin hooks Read Write Bash validator permissions permissions.mdx

💡 Result:

The recoup-catalogs-plugin (often associated with the repository recoupable/music-catalog-diligence) requires Read, Write, and Bash permissions to function correctly [1]. These permissions are necessary to enable the plugin to run validator scripts as part of its catalog deal review and royalty normalization workflow [1]. When installing the plugin via the Claude plugin marketplace, users are prompted to approve these specific tool permissions [1]. Bash access is explicitly required for the plugin to execute the validator scripts that transform raw data room information into structured deal packages [1]. While your query mentioned a permissions.mdx file, this is a common naming convention for documentation in various projects (e.g., Tauri or other plugins) [2][3][4] rather than a specific file inherent to the recoup-catalogs-plugin itself. In the context of the Recoup plugin, the requirement for Read, Write, and Bash permissions is a standard part of the installation process described in its documentation [1].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== referenced plugin read-only metadata =="
git ls-remote --heads --tags https://github.com/recoupable/recoup-catalogs-plugin.git | sed -n '1,60p' || true

echo
echo "== current HEAD tree files from plugin via git ls-tree (read-only) =="
python3 - <<'PY'
import urllib.request, gzip, json, io, re
url = "https://raw.githubusercontent.com/recoupable/recoup-catalogs-plugin/main/.gitmodules"
def fetch(t, n):
    try:
        return urllib.request.urlopen(f"https://raw.githubusercontent.com/recoupable/recoup-catalogs-plugin/{t}/{n}", timeout=20).read().decode()
    except Exception as e:
        return f"{e.__class__.__name__}: {e}"
for t in ["main", "HEAD"]:
    print(t, fetch(t, ".gitignore"), "\n--- package hooks/ ---")
    for p in [".gitignore", "README.md", "package.json", "package-lock.json", "hooks/hooks.json", "scripts/validate.sh", "CLAUDE.md"]:
        print(p, ":", "MISSING" if "MISSING" in fetch(t,p) else "FOUND")
PY

Repository: recoupable/docs

Length of output: 1062


🌐 Web query:

Claude Cowork add custom plugin permission approval Read Write Bash validator scripts recoup-catalogs-plugin

💡 Result:

In Claude Cowork and Claude Code, plugin management and permission handling are handled through a combination of built-in security systems, custom hooks, and organized plugin structures [1][2]. Regarding the "recoup-catalogs-plugin" mentioned, it is a specific plugin instance associated with the Recoupable Research project [3]. As with all custom or third-party plugins in Claude Cowork, it functions by bundling skills, MCP connectors, and potential shell hooks into a single package [4][2]. Permission Approval and Bash Validators: 1. Permission System: Claude Code and Cowork use a tiered permission system [1]. Built-in rules handle standard read/write operations, while more complex or sensitive actions (like Bash commands) can be managed via custom hooks [1][5]. 2. Custom Permission Hooks: You can register custom Bash scripts to act as "validators" for tool calls [1][6]. These hooks run during the PreToolUse phase, allowing you to intercept, inspect, and approve or deny commands based on your own logic [1][5]. 3. Implementing Validators: Developers often create Bash hooks that receive command input (via JSON) and output a decision (allow, deny, or force prompt) [7][8]. These are frequently used to enforce read-only operations, block dangerous commands (e.g., rm -rf), or allow-list specific binaries [7][5][8]. 4. Configuration: These hooks are registered in the plugin's hooks configuration file (typically hooks/hooks.json or similar) [7][1]. The system allows for granular control, such as rejecting specific patterns or auto-approving known safe commands [7][1][8]. Best Practices: - Always use the claude plugin validate command during development to ensure your plugin.json and hook configurations meet the required schema [6]. - Ensure your scripts are executable (chmod +x script.sh) [6]. - For security, prioritize "deny-first" logic in your validator scripts [1]. - Be aware that organization-provisioned plugins may be managed by administrators, and local changes to such plugins might be overwritten if the plugin re-syncs [9][2]. For technical specifications regarding the plugin schema and hook development, refer to the Claude Code plugin documentation [6][10].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== inspect referenced files in remote plugin HEAD =="
git ls-tree -r --name-only db8313878634ea3702878129c823b1db6fdaf874 \
  | rg '(^README\.md$|^package\.json$|^hooks/hooks\.json$|^scripts/validate\.sh$|^CLAUDE\.md$|^permissions\.mdx$|plugin\.mdx)' \
  | while read -r f; do
    echo "--- $f ---"
    git show db8313878634ea3702878129c823b1db6fdaf874:"$f" \
      | rg -n -C 3 'permission|permissions|Read|Write|Bash|validate|Hook|PreToolUse|Cowork|add custom plugin|CLAUDE.md' \
      || true
  done

echo
echo "== remote repository root files =="
git ls-tree --name-only db8313878634ea3702878129c823b1db6fdaf874

Repository: recoupable/docs

Length of output: 405


Document Cowork permission approval before running workflows.

The Cowork block only says “Add custom plugin → URL”. Follow it with permission requests for Read, Write, and Bash access so users don’t install the plugin and believe it’s ready, then run workflows that fail because validator scripts cannot execute.

🤖 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 `@plugins/catalogs.mdx` around lines 152 - 154, Update the Cowork block after
the custom plugin link to document permission approval for Read, Write, and Bash
access before running workflows. Keep the existing plugin installation link and
clearly indicate that these permissions are required for the validator scripts
to execute successfully.

Comment thread plugins/catalogs.mdx
Comment on lines +156 to +158
```bash Codex
codex plugin install https://github.com/recoupable/recoup-catalogs-plugin
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/sh
curl -fsSL https://learn.chatgpt.com/docs/plugins |
  grep -nE '/plugins|configured marketplace|plugin install'

Repository: recoupable/docs

Length of output: 50372


🏁 Script executed:

#!/bin/sh
set -eu

echo "== candidate files =="
git ls-files | rg '(^|/)plugins/catalogs\.mdx$|codex|plugin|manifest' | head -n 100

echo
echo "== plugins/catalogs.mdx exact lines =="
if grep -q 'codex plugin install' plugins/catalogs.mdx; then
  nl -ba plugins/catalogs.mdx | sed -n '140,175p'
fi

echo
echo "== git diff stat/name-status =="
git diff --stat || true
git diff --name-status || true

echo
echo "== occurrences of proposed Codex flow in repository =="
rg -n "codex plugin install|codex\\s*$|/plugins|configured marketplace|marketplace|recoup-catalogs-plugin" . || true

Repository: recoupable/docs

Length of output: 6260


🏁 Script executed:

#!/bin/sh
set -eu

echo "== plugins/catalogs.mdx lines 105-190 =="
awk 'NR>=105 && NR<=190 { printf "%6d\t%s\n",NR,$0 }' plugins/catalogs.mdx

echo
echo "== openai codex plugin docs snippets =="
url="https://developers.openai.com/codex/plugins"
python3 - <<'PY' "$url"
import urllib.request, re, sys
url=sys.argv[1]
src=urllib.request.urlopen(url, timeout=20).read().decode("utf-8", "replace")
for pat in [r'codex\s*[\r\n][\s\S]{0,220}', r'/plugins[\s\S]{0,220}', r'configured marketplace[\s\S]{0,220}', r'plugin install[\s\S]{0,220}', r'recoup-catalogs-plugin[\s\S]{0,220}']:
    m=re.search(pat, src)
    print(f"\n--- {pat.split()[0] if pat else '...'} ---")
    print(m.group(0)[:1200] if m else "NOT FOUND")
PY

Repository: recoupable/docs

Length of output: 5295


🌐 Web query:

OpenAI Codex plugins how to install plugin Codex marketplace codex /plugins

💡 Result:

To use plugins with OpenAI Codex, you can manage them via the ChatGPT desktop app or the Codex CLI. Plugins are used to bundle capabilities such as skills, connectors, and MCP (Model Context Protocol) tools into reusable workflows [1][2][3]. ### Installing Plugins in the ChatGPT Desktop App 1. Open the ChatGPT desktop app. 2. In the switcher, select Codex (or ChatGPT Work). 3. Open the Plugins Directory. 4. You can browse and install plugins from the directory. The interface categorizes plugins into OpenAI-curated, workspace-provided, and personal marketplace plugins [1][3]. ### Managing Plugins via Codex CLI The Codex CLI provides a way to manage and track marketplace sources directly from your terminal [4][5]. * To add a marketplace source: Use the command codex plugin marketplace add <marketplace-url> [4]. * To install a plugin (Example using a marketplace): In environments like Claude Code that support Codex plugins, the process typically involves adding the marketplace, installing the plugin, and reloading [6][7]: * Add the marketplace: /plugin marketplace add <marketplace-name> [6][7] * Install the plugin: /plugin install <plugin-identifier> [6][7] * Reload plugins: /reload-plugins [6][7] ### Building and Sharing Plugins If you are developing your own plugins, they are organized as JSON-based marketplace catalogs [4]. You can host these marketplaces to share them within your team or workspace. * Marketplace Structure: A marketplace is a JSON file (marketplace.json) that catalogs plugin entries [4]. * Distribution: You can point the app to specific paths (e.g., $REPO_ROOT/.agents/plugins/marketplace.json for repo-scoped plugins) to load custom plugin collections [4]. For detailed development guidance, including scaffolding and manifest configuration, refer to the official Build plugins documentation [1][4]. Note that plugins are not supported in Chat on the web, IDE extensions, or mobile applications [1][3].

Citations:


Replace the unsupported Codex GitHub-URL install command.

codex plugin install https://github.com/recoupable/recoup-catalogs-plugin

is not the supported Codex installation path. Use Codex /plugins/marketplace steps, or the existing marketplace command from this page next: /plugin install recoup-catalogs-plugin@recoup-marketplace.

🤖 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 `@plugins/catalogs.mdx` around lines 156 - 158, Replace the unsupported
GitHub-URL command in the plugin installation instructions with the supported
Codex marketplace flow, using the existing “/plugin install
recoup-catalogs-plugin@recoup-marketplace” command or equivalent /plugins
marketplace steps.

Comment thread plugins/index.mdx
Comment on lines +44 to +47
```text Cursor
1. Settings → Plugins → Add custom plugin
2. Paste the GitHub URL for any plugin below
3. Restart Cursor

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Provide the GitHub URLs required by the Cursor instructions.

The page says to paste “the GitHub URL for any plugin below,” but only documentation routes and the marketplace URL are shown. Add each plugin’s repository URL or link users directly to each plugin page’s source section; otherwise Cursor users cannot complete this flow from the hub.

🤖 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 `@plugins/index.mdx` around lines 44 - 47, Update the Cursor setup instructions
in the plugin hub to provide a GitHub repository URL for every listed plugin, or
replace the generic instruction with links to each plugin page’s source section.
Ensure users can obtain the required repository URL directly from the hub.

Comment thread plugins/research.mdx
Comment on lines +124 to +145
| Endpoint group | What it provides |
|---|---|
| `/research?type=artists` | Artist search and discovery |
| `/research/lookup` | Direct artist lookup by platform ID |
| `/research/profile` | Full artist profile |
| `/research/metrics` | Streaming and social metrics (Spotify, TikTok) |
| `/research/audience` | Audience demographics |
| `/research/insights` | AI-generated insights |
| `/research/career` | Career timeline and history |
| `/research/milestones` | Key career milestones |
| `/research/similar` | Similar/related artists |
| `/research/playlists` | Playlist placements |
| `/research/track-playlists` | Per-track playlist data |
| `/research/albums` | Discography |
| `/research/tracks` | Track catalog |
| `/research/track-stats` | Per-track streaming stats |
| `/research/web` | Web presence |
| `/research/deep` | Deep web research |
| `/research/people` | Industry contacts |
| `/research/extract` | Entity extraction |
| `/research/enrich` | Data enrichment |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Correct the API route documentation before publishing.

Both endpoint tables diverge from the supplied /api/... OpenAPI contract, which can cause agents or readers to call invalid URLs.

  • plugins/research.mdx#L124-L145: add /api, include required q for search, and change /research/tracks to the contracted /api/research/track.
  • plugins/content.mdx#L73-L87: document POST /api/content/create and verify the remaining routes against the API reference.
🧰 Tools
🪛 LanguageTool

[style] ~141-~141: Consider a different adjective to strengthen your wording.
Context: ...| Web presence | |/research/deep| Deep web research | |/research/people` | I...

(DEEP_PROFOUND)

📍 Affects 2 files
  • plugins/research.mdx#L124-L145 (this comment)
  • plugins/content.mdx#L73-L87
🤖 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 `@plugins/research.mdx` around lines 124 - 145, Update the endpoint tables in
plugins/research.mdx (lines 124-145) and plugins/content.mdx (lines 73-87) to
match the supplied /api/... OpenAPI contract: add the /api prefix throughout
research routes, document the required q parameter for artist search, rename
/research/tracks to /api/research/track, and document POST /api/content/create
while verifying and correcting all remaining content routes against the API
reference.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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="index.mdx">

<violation number="1" location="index.mdx:173">
P2: Plugin name inconsistency on the same page: the LLM Quick Reference at line 173 introduces `recoup-catalogs-plugin` while the Setup Note in the page header uses `recoup-catalog-deals`. An LLM or human reader following the Note's install instructions will look for `recoup-catalog-deals`, then see different names in the Quick Reference — or vice versa — creating confusion about which to install. Align the names to a single convention (matching the `plugins/catalogs.mdx` page or the existing `recoup-catalog-deals` name used above).</violation>
</file>

<file name="plugins/content.mdx">

<violation number="1" location="plugins/content.mdx:8">
P2: The overview claims "No manual template selection" (line 9), but the example workflow below shows the agent listing available templates and the user explicitly choosing one: "Use playlist-overlay". This contradicts the advertised behavior. Either drop the "no manual template selection" claim or clarify that template selection is automatic by default but overrideable.</violation>

<violation number="2" location="plugins/content.mdx:94">
P3: The Install CodeGroup (5 tool tabs: Claude Code, Claude Cowork, Codex, Cursor, Via Marketplace) is duplicated verbatim across all 4 plugin pages — only the GitHub URL changes. Per CLAUDE.md's DRY principle, extract this into a shared snippet or component.</violation>
</file>

<file name="plugins/research.mdx">

<violation number="1" location="plugins/research.mdx:138">
P2: The API endpoints table lists routes without the `/api` prefix (e.g. `/research/lookup`, `/research/tracks`), inconsistent with the actual API surface documented elsewhere in this PR as `/api/research/*`. An agent following this table literally would call invalid URLs.</violation>
</file>

<file name="plugins/catalogs.mdx">

<violation number="1" location="plugins/catalogs.mdx:15">
P3: The quick-start Tip encourages users to run `/recoup-catalog-deal` before the page explains that `RECOUP_API_KEY` is required and that PDF/XLSX data rooms need the optional `pdfplumber`/`openpyxl` dependencies (documented further down). Surfacing these prerequisites above the Tip, or linking to them directly, would prevent first-run failures.</violation>

<violation number="2" location="plugins/catalogs.mdx:157">
P2: The Codex install snippet `codex plugin install https://github.com/recoupable/recoup-catalogs-plugin` does not match Codex's documented plugin workflow, which manages plugins via marketplace commands (`codex plugin marketplace add/list/upgrade/remove`) rather than a direct GitHub-URL install. This could cause the command to fail for Codex users; consider replacing it with the Codex marketplace steps or the existing `/plugin install recoup-catalogs-plugin@recoup-marketplace` command already documented on this page.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread index.mdx
If you are an LLM navigating these docs, here is a summary of the endpoint structure:
If you are an LLM navigating these docs, here is what you need to know:

**Plugins (recommended for most tasks):** Install pre-built skill packages from `https://github.com/recoupable/marketplace`. See the [Plugin Ecosystem](/plugins/index) for the full catalog. Key plugins: `recoup-platform-plugin` (account setup, artist creation), `recoup-research-plugin` (10 research skills), `recoup-content-plugin` (video/image generation), `recoup-catalogs-plugin` (catalog deal lifecycle).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Plugin name inconsistency on the same page: the LLM Quick Reference at line 173 introduces recoup-catalogs-plugin while the Setup Note in the page header uses recoup-catalog-deals. An LLM or human reader following the Note's install instructions will look for recoup-catalog-deals, then see different names in the Quick Reference — or vice versa — creating confusion about which to install. Align the names to a single convention (matching the plugins/catalogs.mdx page or the existing recoup-catalog-deals name used above).

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At index.mdx, line 173:

<comment>Plugin name inconsistency on the same page: the LLM Quick Reference at line 173 introduces `recoup-catalogs-plugin` while the Setup Note in the page header uses `recoup-catalog-deals`. An LLM or human reader following the Note's install instructions will look for `recoup-catalog-deals`, then see different names in the Quick Reference — or vice versa — creating confusion about which to install. Align the names to a single convention (matching the `plugins/catalogs.mdx` page or the existing `recoup-catalog-deals` name used above).</comment>

<file context>
@@ -168,7 +168,11 @@ The API is organized into six main sections. Use these links to jump to the righ
-If you are an LLM navigating these docs, here is a summary of the endpoint structure:
+If you are an LLM navigating these docs, here is what you need to know:
+
+**Plugins (recommended for most tasks):** Install pre-built skill packages from `https://github.com/recoupable/marketplace`. See the [Plugin Ecosystem](/plugins/index) for the full catalog. Key plugins: `recoup-platform-plugin` (account setup, artist creation), `recoup-research-plugin` (10 research skills), `recoup-content-plugin` (video/image generation), `recoup-catalogs-plugin` (catalog deal lifecycle).
+
+**API endpoints (for direct integration):** Here is a summary of the endpoint structure:
</file context>

Comment thread plugins/content.mdx

## Overview

The Content Plugin turns your AI agent into a content production machine. Its flagship skill — `recoup-content-create` — takes an artist name and produces a finished, social-ready short-form video with a single command. No manual template selection, no render configuration, no file management.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The overview claims "No manual template selection" (line 9), but the example workflow below shows the agent listing available templates and the user explicitly choosing one: "Use playlist-overlay". This contradicts the advertised behavior. Either drop the "no manual template selection" claim or clarify that template selection is automatic by default but overrideable.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At plugins/content.mdx, line 8:

<comment>The overview claims "No manual template selection" (line 9), but the example workflow below shows the agent listing available templates and the user explicitly choosing one: "Use playlist-overlay". This contradicts the advertised behavior. Either drop the "no manual template selection" claim or clarify that template selection is automatic by default but overrideable.</comment>

<file context>
@@ -0,0 +1,126 @@
+
+## Overview
+
+The Content Plugin turns your AI agent into a content production machine. Its flagship skill — `recoup-content-create` — takes an artist name and produces a finished, social-ready short-form video with a single command. No manual template selection, no render configuration, no file management.
+
+```bash
</file context>

Comment thread plugins/research.mdx
| `/research/playlists` | Playlist placements |
| `/research/track-playlists` | Per-track playlist data |
| `/research/albums` | Discography |
| `/research/tracks` | Track catalog |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The API endpoints table lists routes without the /api prefix (e.g. /research/lookup, /research/tracks), inconsistent with the actual API surface documented elsewhere in this PR as /api/research/*. An agent following this table literally would call invalid URLs.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At plugins/research.mdx, line 138:

<comment>The API endpoints table lists routes without the `/api` prefix (e.g. `/research/lookup`, `/research/tracks`), inconsistent with the actual API surface documented elsewhere in this PR as `/api/research/*`. An agent following this table literally would call invalid URLs.</comment>

<file context>
@@ -0,0 +1,182 @@
+| `/research/playlists` | Playlist placements |
+| `/research/track-playlists` | Per-track playlist data |
+| `/research/albums` | Discography |
+| `/research/tracks` | Track catalog |
+| `/research/track-stats` | Per-track streaming stats |
+| `/research/web` | Web presence |
</file context>

Comment thread plugins/catalogs.mdx
```

```bash Codex
codex plugin install https://github.com/recoupable/recoup-catalogs-plugin

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The Codex install snippet codex plugin install https://github.com/recoupable/recoup-catalogs-plugin does not match Codex's documented plugin workflow, which manages plugins via marketplace commands (codex plugin marketplace add/list/upgrade/remove) rather than a direct GitHub-URL install. This could cause the command to fail for Codex users; consider replacing it with the Codex marketplace steps or the existing /plugin install recoup-catalogs-plugin@recoup-marketplace command already documented on this page.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At plugins/catalogs.mdx, line 157:

<comment>The Codex install snippet `codex plugin install https://github.com/recoupable/recoup-catalogs-plugin` does not match Codex's documented plugin workflow, which manages plugins via marketplace commands (`codex plugin marketplace add/list/upgrade/remove`) rather than a direct GitHub-URL install. This could cause the command to fail for Codex users; consider replacing it with the Codex marketplace steps or the existing `/plugin install recoup-catalogs-plugin@recoup-marketplace` command already documented on this page.</comment>

<file context>
@@ -0,0 +1,184 @@
+```
+
+```bash Codex
+codex plugin install https://github.com/recoupable/recoup-catalogs-plugin
+```
+
</file context>
Suggested change
codex plugin install https://github.com/recoupable/recoup-catalogs-plugin
/plugin install recoup-catalogs-plugin@recoup-marketplace

Comment thread plugins/content.mdx

<CodeGroup>

```bash Claude Code

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: The Install CodeGroup (5 tool tabs: Claude Code, Claude Cowork, Codex, Cursor, Via Marketplace) is duplicated verbatim across all 4 plugin pages — only the GitHub URL changes. Per CLAUDE.md's DRY principle, extract this into a shared snippet or component.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At plugins/content.mdx, line 94:

<comment>The Install CodeGroup (5 tool tabs: Claude Code, Claude Cowork, Codex, Cursor, Via Marketplace) is duplicated verbatim across all 4 plugin pages — only the GitHub URL changes. Per CLAUDE.md's DRY principle, extract this into a shared snippet or component.</comment>

<file context>
@@ -0,0 +1,126 @@
+
+<CodeGroup>
+
+```bash Claude Code
+claude plugin install https://github.com/recoupable/recoup-content-plugin
+```
</file context>

Comment thread plugins/catalogs.mdx
```

<Tip>
**Try it:** Say "Let's analyze a catalog with /recoup-catalog-deal" — the agent asks what kind of deal this is (buy-side, seller-prep, or financing) and walks you through the entire workflow.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: The quick-start Tip encourages users to run /recoup-catalog-deal before the page explains that RECOUP_API_KEY is required and that PDF/XLSX data rooms need the optional pdfplumber/openpyxl dependencies (documented further down). Surfacing these prerequisites above the Tip, or linking to them directly, would prevent first-run failures.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At plugins/catalogs.mdx, line 15:

<comment>The quick-start Tip encourages users to run `/recoup-catalog-deal` before the page explains that `RECOUP_API_KEY` is required and that PDF/XLSX data rooms need the optional `pdfplumber`/`openpyxl` dependencies (documented further down). Surfacing these prerequisites above the Tip, or linking to them directly, would prevent first-run failures.</comment>

<file context>
@@ -0,0 +1,184 @@
+```
+
+<Tip>
+**Try it:** Say "Let's analyze a catalog with /recoup-catalog-deal" — the agent asks what kind of deal this is (buy-side, seller-prep, or financing) and walks you through the entire workflow.
+</Tip>
+
</file context>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant