feat(create-artist): replace deep research with structured endpoints#20
Conversation
POST /api/research/deep was hanging in the sandbox. Replace it with
a fan-out of structured Chartmetric endpoints + a web search:
- /research/lookup (Spotify ID → Chartmetric artist_id)
- /research/profile (bio, genres, label, career stage)
- /research/career (career timeline + notable milestones)
- /research/playlists (editorial + algorithmic + indie placements)
- /research/web (narrative / press / cultural context)
This swaps a single hang-prone synthesizer for five bounded calls
that return structured data — higher resolution, no paraphrasing
loss, faster to fail when something is wrong.
- artist-workspace SKILL.md:
- Step 4 line in the create-artist scaffold checklist updated
from "Deep research (artist biography + Spotify presence)" to
the new endpoint list (capture cmArtistId from /lookup, save
responses to ## Research).
- Frontmatter slots add `cmArtistId:` so step 4's first call
persists the Chartmetric ID for reuse by the rest of the
structured chain.
- "Tick + persist" rule now mentions cmArtistId and clarifies
that larger response payloads belong under headed body
sections, not in frontmatter.
- recoup-api SKILL.md: workflow row description updated from
"deep + web research" to "structured research via Chartmetric
profile/career/playlists + web".
Pairs with docs PR #166 fix-up.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughTwo documentation files updated to restructure the artist research workflow from generic "deep + web research" to a specific, multi-endpoint approach using Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Poem
✨ 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 |
Summary
POST /api/research/deephangs in the sandbox — verified by the user. Step 4 of the create-artist chain calls it twice, which means most create-artist runs stall mid-chain.Replacement chain
/api/research/lookup?spotifyId=$SPOTIFY_ARTIST_IDartist_idfor the artistcmArtistIdin frontmatter, every other call below uses it/api/research/profile?id=$CM_ARTIST_ID/api/research/career?id=$CM_ARTIST_ID/api/research/playlists?id=$CM_ARTIST_ID/api/research/webChanges
skills/artist-workspace/SKILL.mdDeep research (artist biography + Spotify presence)→Structured research — /research/lookup (capture cmArtistId) → /research/profile + /research/career + /research/playlists + /research/web. Save responses under ## Research in this file.cmArtistId:so step 4's first call persists the Chartmetric ID for reuse by the rest of the structured chain.cmArtistIdand clarifies that larger response payloads belong under headed body sections (e.g.## Research), not in frontmatter.recoup-api/SKILL.mddeep + web research→structured research via Chartmetric profile/career/playlists + web.Why this is a small change here
The doc-side rewrite of Step 4 (the actual curl blocks for the five replacement calls) lives in
recoupable/docsPR #166 — pushing alongside this PR. This PR only changes the skill content (description + scaffolded checklist line + frontmatter slots).Tradeoff
Five calls instead of two — but each is bounded (no hangs), structured (no paraphrasing loss), and higher resolution than what deep research returns since the agent gets exact playlist names, dates, metric values rather than synthesized prose. Acceptable IMO since a hanging endpoint is worse than slightly more doc surface.
Test plan
/research/lookupthen the four parallel structured calls (no/research/deepcall)cmArtistIdpopulates in frontmatter after/research/lookup$cmArtistIdrather than re-deriving it## Researchsection + Spotify catalog + web context🤖 Generated with Claude Code
Summary by cubic
Replaced hanging deep research in create-artist with structured endpoints to improve reliability and detail. Step 4 now uses Chartmetric lookup, profile, career, playlists, and a web search; adds
cmArtistIdto frontmatter and saves results under "## Research".skills/artist-workspace/SKILL.md: Step 4 now calls/research/lookup(capturecmArtistId) →/research/profile+/research/career+/research/playlists+/research/web; addcmArtistId:to frontmatter; clarify that large payloads go in body sections, not frontmatter.recoup-api/SKILL.md: Update workflow row from "deep + web research" to "structured research via Chartmetric profile/career/playlists + web".Written for commit 77a2e7d. Summary will update on new commits.
Summary by CodeRabbit