Skip to content

domain-skills: distrokid — artwork edit request flow - #566

Open
sasa426 wants to merge 1 commit into
browser-use:mainfrom
sasa426:domain-skills/distrokid-artwork-edit
Open

domain-skills: distrokid — artwork edit request flow#566
sasa426 wants to merge 1 commit into
browser-use:mainfrom
sasa426:domain-skills/distrokid-artwork-edit

Conversation

@sasa426

@sasa426 sasa426 commented Jul 29, 2026

Copy link
Copy Markdown

Adds agent-workspace/domain-skills/distrokid/artwork-edit.md.

Replacing the cover on a delivered DistroKid release is not an in-place write. It opens an edit request that a human reviews (~1 business day) before anything reaches the stores, and the resulting state lives on the account rather than in your tab — which is what makes this surface easy to get wrong.

What the skill captures:

  • Form map for /dashboard/album/edit/ — the page is the whole release, not just the cover: artist, label, release date as a <select>, preorder radios, the Choose new image dropzone backed by input#artwork, per-track title/version/explicit bands, and #doneButton ("Submit Edit Request"). Everything posts together, so the skill says to read back the fields you are not changing before submitting.
  • Artwork injection — the dropzone opens the OS picker and blocks the main thread; use upload_file("#artwork", path) and verify via #artwork.files.
  • Server-side lock as proof of submission — re-opening the edit URL while a request is queued returns a Review pending stub with #artwork and #doneButton absent from the DOM. js("!!document.querySelector('#doneButton')") is a submission check that survives tab loss, and it explains why only one edit request per release can be in flight.
  • Cover URL signature — cover CDN URLs embed the uploaded original's byte size, so you can tell an approved swap from a cached old cover without eyeballing thumbnails (confirmed against three releases).

Traps included: the query param flips case between the edit form (?albumuuid=) and its success page (?albumUUID=); a pending edit's contents are exposed on no page at all, so the server confirms that an edit is queued but never what it changes; and two destructive controls live on these pages ("Remove this release from all stores", "cancel the current edit request") that an agent should report rather than click.

Selectors and page copy were read off a live logged-in account. No coordinates, account identifiers, or release UUIDs in the file — patterns and selectors only.

🤖 Generated with Claude Code


Summary by cubic

Adds agent-workspace/domain-skills/distrokid/artwork-edit.md documenting the DistroKid artwork edit request flow for replacing cover art on delivered releases. It maps the full edit form, shows safe file injection via upload_file('#artwork', ...), explains confirming submission by re-opening the page (pending stub with no #doneButton), verifies approvals via the cover URL byte-size signature, and highlights key gotchas (param-case flip, destructive links, one pending request, and reading back unchanged fields before submit).

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

Review in cubic

Editing a delivered release's cover is not an in-place write — it opens an
edit request that a human reviews before anything reaches the stores, and
the resulting state lives on the account rather than in your tab.

- Full form map for /dashboard/album/edit/ (artist, label, release date as
  a <select>, preorder, the artwork dropzone backed by input#artwork, the
  per-track bands, and #doneButton "Submit Edit Request")
- The dropzone opens the OS file picker and blocks the main thread; inject
  with upload_file("#artwork", path) instead
- Everything on the page posts together, so read back the fields you are
  not changing before submitting
- Confirming a submission: re-opening the edit URL while a request is queued
  returns a "Review pending" stub with #artwork and #doneButton absent from
  the DOM — proof that survives tab loss, and the reason only one edit
  request per release can be in flight
- Cover CDN URLs embed the uploaded original's byte size, which is how you
  tell an approved swap from a cached old cover (confirmed on three releases)

Traps: the query param flips case between the edit form (?albumuuid=) and
its success page (?albumUUID=); a pending edit's contents are exposed on no
page at all, so the server confirms that an edit is queued but never what it
changes; and two destructive controls sit on these pages ("Remove this
release from all stores", "cancel the current edit request") that agents
should report rather than click.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 1 file

Re-trigger cubic

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