Conversation
Multi-source research pipeline for music artists — produces intelligence reports with bio, metrics, fan personas, competitive positioning, and revenue opportunities. Uses WebSearch as the backbone, Chartmetric for verified analytics, last30days for social pulse, and MCP tools when available in sandbox. Made-with: Cursor
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 14 minutes and 50 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughA submodule Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 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.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@artist-research/references/report-template.md`:
- Around line 120-122: Two fenced code blocks in the template (the one
containing "[Artist's primary scene] ↔ [Adjacent scene] — Overlap signal: [what
connects them]" and the block starting with "### artist.md" / "### audience.md")
are unlabeled; change their opening fences from ``` to ```text so markdownlint
MD040 is satisfied and the snippets are explicitly treated as plain text. Locate
the fences around those exact snippet contents and replace the fence tokens
accordingly, keeping the internal content unchanged.
In `@artist-research/SKILL.md`:
- Line 91: The example command in SKILL.md contains XML angle brackets around
the placeholder "<path>" which violates the rule forbidding angle brackets;
update the command example in SKILL.md (the last30days.py invocation example) to
remove the angle brackets and use a safe placeholder such as
/path/to/last30days.py or {path} (e.g., python3 /path/to/last30days.py
"{ARTIST_NAME} music" --emit=compact) so the example no longer includes < or >.
- Around line 125-127: The fenced code block containing
"research/artist-intel-YYYY-MM-DD.md" lacks a language tag and violates MD040;
update that fenced block in SKILL.md by adding an explicit language identifier
(e.g., change ``` to ```text) so the block reads ```text followed by the
filename and closing ```, ensuring markdownlint compliance for the fenced block
where "research/artist-intel-YYYY-MM-DD.md" appears.
🪄 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: 630ccdcf-f62a-451c-ac11-9f8cfa6cc2a0
📒 Files selected for processing (4)
artist-research/SKILL.mdartist-research/references/report-template.mdartist-research/references/research-queries.mdsetup-sandbox
| ``` | ||
| [Artist's primary scene] ↔ [Adjacent scene] — Overlap signal: [what connects them] | ||
| ``` |
There was a problem hiding this comment.
Add languages to fenced code blocks to satisfy markdownlint (MD040).
Line 120 and Line 172 use unlabeled fences. Add a language hint (for example text) to avoid lint noise.
Proposed fix
-```
+```text
[Artist's primary scene] ↔ [Adjacent scene] — Overlap signal: [what connects them]@@
- +text
artist.md
- [Section]: [What to update] — Source: [where this info came from]
audience.md
- [Section]: [What to update] — Source: [where this info came from]
Also applies to: 172-178
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@artist-research/references/report-template.md` around lines 120 - 122, Two
fenced code blocks in the template (the one containing "[Artist's primary scene]
↔ [Adjacent scene] — Overlap signal: [what connects them]" and the block
starting with "### artist.md" / "### audience.md") are unlabeled; change their
opening fences from ``` to ```text so markdownlint MD040 is satisfied and the
snippets are explicitly treated as plain text. Locate the fences around those
exact snippet contents and replace the fence tokens accordingly, keeping the
internal content unchanged.
artist-research/SKILL.md
Outdated
| If the last30days skill is installed, run it for the artist name: | ||
|
|
||
| ```bash | ||
| python3 <path>/last30days.py "{ARTIST_NAME} music" --emit=compact |
There was a problem hiding this comment.
Remove XML angle brackets from the SKILL file command example.
Line 91 uses <path>, which violates the SKILL.md rule forbidding XML angle brackets in this file.
Proposed fix
-python3 <path>/last30days.py "{ARTIST_NAME} music" --emit=compact
+python3 /path/to/last30days.py "{ARTIST_NAME} music" --emit=compactAs per coding guidelines, "Write skill descriptions without XML angle brackets (< >) anywhere in the skill file".
📝 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.
| python3 <path>/last30days.py "{ARTIST_NAME} music" --emit=compact | |
| python3 /path/to/last30days.py "{ARTIST_NAME} music" --emit=compact |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@artist-research/SKILL.md` at line 91, The example command in SKILL.md
contains XML angle brackets around the placeholder "<path>" which violates the
rule forbidding angle brackets; update the command example in SKILL.md (the
last30days.py invocation example) to remove the angle brackets and use a safe
placeholder such as /path/to/last30days.py or {path} (e.g., python3
/path/to/last30days.py "{ARTIST_NAME} music" --emit=compact) so the example no
longer includes < or >.
artist-research/SKILL.md
Outdated
| ``` | ||
| research/artist-intel-YYYY-MM-DD.md | ||
| ``` |
There was a problem hiding this comment.
Add a language tag to this fenced block for markdownlint compliance.
Use an explicit fence language (for example text) to satisfy MD040 and keep docs lint-clean.
Proposed fix
-```
+```text
research/artist-intel-YYYY-MM-DD.md</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
Verify each finding against the current code and only fix it if needed.
In @artist-research/SKILL.md around lines 125 - 127, The fenced code block
containing "research/artist-intel-YYYY-MM-DD.md" lacks a language tag and
violates MD040; update that fenced block in SKILL.md by adding an explicit
language identifier (e.g., change totext) so the block reads text followed by the filename and closing , ensuring markdownlint compliance for
the fenced block where "research/artist-intel-YYYY-MM-DD.md" appears.
</details>
<!-- fingerprinting:phantom:triton:hawk:68df909c-7275-4e42-8b2a-6e2042ee5e92 -->
<!-- This is an auto-generated comment by CodeRabbit -->
The skill now covers all 25 recoup research CLI commands, not just artist research. Renamed because the research tools handle artists, people, URLs, structured enrichment, and general web intelligence — not just artist data. - SKILL.md: full command reference with when-to-use guide - references/workflows.md: 10 strategic workflow chains - Removed old Python/Chartmetric references (report-template, research-queries) Made-with: Cursor
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
recoup-research/SKILL.md (1)
8-29: Move critical usage rules higher in the file.Key operational guidance (for example, “Always use
--json”) appears late at Line 124. Consider promoting a short “Critical Rules” list near the top (right after the title/intro) to match the SKILL.md structure guideline.As per coding guidelines: “Prefer bullet points and numbered lists over prose in SKILL.md files; place critical instructions at the top of the file”.
Also applies to: 122-127
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@recoup-research/SKILL.md` around lines 8 - 29, Move the critical operational guidance (notably the "Always use `--json`" rule and any other essential usage rules) up near the top of SKILL.md right after the title/intro: create a short "Critical Rules" bullet list and include the `--json` rule there, then keep the existing Quick Start examples (the recoup research commands) below; ensure the new section follows the documented SKILL.md guideline to prefer bullet points and numbered lists over prose and references the example commands shown (e.g., the Quick Start artist-scoped commands).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@recoup-research/SKILL.md`:
- Line 98: Replace the XML angle brackets in the command example for "Find
emerging artists in hip-hop" by changing the placeholder in `discover --genre
<id>` to a non-angle-bracket form such as `discover --genre [genre_id]` or
`discover --genre {genre_id}` so the SKILL.md rule forbidding '<' and '>' is
followed; update the `discover --genre <id>` instance accordingly.
---
Nitpick comments:
In `@recoup-research/SKILL.md`:
- Around line 8-29: Move the critical operational guidance (notably the "Always
use `--json`" rule and any other essential usage rules) up near the top of
SKILL.md right after the title/intro: create a short "Critical Rules" bullet
list and include the `--json` rule there, then keep the existing Quick Start
examples (the recoup research commands) below; ensure the new section follows
the documented SKILL.md guideline to prefer bullet points and numbered lists
over prose and references the example commands shown (e.g., the Quick Start
artist-scoped commands).
🪄 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: 5d799acc-44a8-4c2f-8511-4cd391ead8e8
📒 Files selected for processing (2)
recoup-research/SKILL.mdrecoup-research/references/workflows.md
✅ Files skipped from review due to trivial changes (1)
- recoup-research/references/workflows.md
Added: - Decision tree — routes user questions to the right commands - Response shapes — shows what each command returns as JSON - Data interpretation — what the numbers MEAN (ratios, thresholds) - Synthesis patterns — how to combine endpoints into insights - Workspace integration — where to save research results - Graceful degradation — what to do when Chartmetric has no data - What NOT to do — don't dump JSON, don't over-fetch, don't ignore existing context The skill now teaches agents HOW TO THINK about research, not just which commands to type. Made-with: Cursor
Made-with: Cursor
There was a problem hiding this comment.
Actionable comments posted: 2
♻️ Duplicate comments (1)
recoup-research/SKILL.md (1)
34-34:⚠️ Potential issue | 🟡 MinorReplace XML angle brackets in the genre placeholder.
Line 34 still uses
<id>, which violates the SKILL.md rule forbidding XML angle brackets anywhere in the file.Suggested fix
-**"Find emerging artists"** → `discover --country US --genre <id> --spotify-listeners 50000,200000` +**"Find emerging artists"** → `discover --country US --genre [genre_id] --spotify-listeners 50000,200000`As per coding guidelines, “Write skill descriptions without XML angle brackets (< >) anywhere in the skill file”.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@recoup-research/SKILL.md` at line 34, The "Find emerging artists" skill line in SKILL.md contains an XML-style placeholder (--genre <id>); remove the angle brackets and replace the placeholder with a non-XML token (for example GENRE_ID or genre_id) so the command no longer contains '<' or '>' (update the line containing --genre <id> accordingly and ensure no other XML angle brackets remain in the file).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@recoup-research/SKILL.md`:
- Around line 141-143: The fenced code block in SKILL.md (the triple-backtick
block showing "research/artist-intel-2026-03-27.md") is missing a language tag;
update that fence to include a language (e.g., add "text" after the opening
backticks) so the block becomes fenced with a language specifier to satisfy
MD040.
- Line 26: The command example uses the wrong YouTube source token; update the
example that shows `--platform youtube` to use the valid token `--platform
youtube_channel` so it matches the documented valid source on Line 86 and will
work when run; ensure any other occurrences of `--platform youtube` in SKILL.md
are changed to `--platform youtube_channel` for consistency.
---
Duplicate comments:
In `@recoup-research/SKILL.md`:
- Line 34: The "Find emerging artists" skill line in SKILL.md contains an
XML-style placeholder (--genre <id>); remove the angle brackets and replace the
placeholder with a non-XML token (for example GENRE_ID or genre_id) so the
command no longer contains '<' or '>' (update the line containing --genre <id>
accordingly and ensure no other XML angle brackets remain in the file).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
|
|
||
| **"Who should I pitch to?"** → `similar --audience high --genre high` → `playlists` on each peer → find playlists that have peers but not your artist | ||
|
|
||
| **"Where should we tour?"** → `cities` + `audience --platform youtube` + `festivals` |
There was a problem hiding this comment.
Use the correct YouTube source token in the command example.
Line 26 uses --platform youtube, but Line 86 says the valid source is youtube_channel. This can mislead users into a failing command.
Suggested fix
-**"Where should we tour?"** → `cities` + `audience --platform youtube` + `festivals`
+**"Where should we tour?"** → `cities` + `audience --platform youtube_channel` + `festivals`📝 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.
| **"Where should we tour?"** → `cities` + `audience --platform youtube` + `festivals` | |
| **"Where should we tour?"** → `cities` + `audience --platform youtube_channel` + `festivals` |
🧰 Tools
🪛 LanguageTool
[uncategorized] ~26-~26: The official name of this popular video platform is spelled with a capital “T”.
Context: ...*"Where should we tour?"** → cities + audience --platform youtube + festivals "Find me [people]" ...
(YOUTUBE)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@recoup-research/SKILL.md` at line 26, The command example uses the wrong
YouTube source token; update the example that shows `--platform youtube` to use
the valid token `--platform youtube_channel` so it matches the documented valid
source on Line 86 and will work when run; ensure any other occurrences of
`--platform youtube` in SKILL.md are changed to `--platform youtube_channel` for
consistency.
| ``` | ||
| research/artist-intel-2026-03-27.md | ||
| ``` |
There was a problem hiding this comment.
Add a language to the fenced code block.
The fenced block starting at Line 141 is missing a language tag (MD040).
Suggested fix
-```
+```text
research/artist-intel-2026-03-27.md</details>
<!-- suggestion_start -->
<details>
<summary>📝 Committable suggestion</summary>
> ‼️ **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.
```suggestion
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)
[warning] 141-141: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@recoup-research/SKILL.md` around lines 141 - 143, The fenced code block in
SKILL.md (the triple-backtick block showing
"research/artist-intel-2026-03-27.md") is missing a language tag; update that
fence to include a language (e.g., add "text" after the opening backticks) so
the block becomes fenced with a language specifier to satisfy MD040.
Made-with: Cursor
Summary
artist-researchskill for deep research on music artistsartist.md/audience.mdwhen missing, suggests updates when they existTest plan
Made with Cursor
Summary by CodeRabbit
Documentation
Chores