The Marketplace tab gains an Add marketplace dialog (GitHub repo or
URL, validated server-side before saving) and a Marketplace sources
list showing each configured catalog with display name, repo, plugin
and skill counts, a Built-in badge, an unreachable state, and confirmed
removal for user-added sources. Store plumbing mirrors the plugin and
skill patterns with a marketplace mutation domain whose pending keys
clear via the server's catalog refresh events. Skill install and
preview failures now surface the server's actual error message instead
of a generic fallback.
Co-authored-by: Cursor <cursoragent@cursor.com>