claude.ai/design: no indication that a project already has an uploaded component library before routing into the from-scratch "Generate" wizard

Open 💬 0 comments Opened Jul 3, 2026 by addisonlynch

Summary

A claude.ai/design project populated entirely through the /design-sync skill's DesignSync tool (API-based create_project + write_files, no browser interaction) routes every entry point to the "Set up your design system" from-scratch wizard, with no indication that a real, already-uploaded, already-verified component library exists. This is confusing/risky UX, not a data-integrity bug — clicking through to "Generate" turned out to correctly pick up and build on the real uploaded bundle rather than replacing it. But nothing in the flow told us that in advance, and the wizard's own copy actively suggests the opposite.

Steps to reproduce

  1. Use the DesignSync tool to create_project (type PROJECT_TYPE_DESIGN_SYSTEM).
  2. finalize_plan + write_files a full component bundle: _ds_bundle.js, _ds_bundle.css, styles.css, README.md, _vendor/react.js, _vendor/react-dom.js, several components/<group>/<Name>/{.html,.jsx,.d.ts,.prompt.md} directories (each .html has a leading <!-- @dsCard group="..." --> comment), _preview/<Name>.js files, and _ds_needs_recompile (written first, then re-written after all content writes, per the documented upload sequence).
  3. Confirm via DesignSync(list_files) that the project now contains all expected paths.
  4. Open the project in the browser: direct URL (https://claude.ai/design/p/<projectId>), the dashboard row, and the row's edit-pencil icon all lead to the same place.

What happens

Every entry point shows "Set up your design system" — a from-scratch onboarding form (company blurb, GitHub link, local folder, .fig upload, fonts/logos/assets, "any other notes"). Submitting it leads to a "Generate" screen: "It will take about 5 minutes to generate your design system. You can step away. Keep the tab open in the background."

Nothing on either screen acknowledges that ~100 real, compiled, render-verified components are already sitting in the project. The copy reads exactly like a from-scratch synthesis flow that will produce its own (fake/generic) design system, which is a reasonable thing to be wary of clicking — it's indistinguishable, from the UI alone, from a flow that might overwrite or compete with existing uploaded work.

Clicking "Generate" anyway turned out fine: it launched an agent session that correctly found and used the real uploaded components (Button, PriceBand, ListingCard rendering with the actual synced styling/data) and proceeded to build out foundation/brand documentation cards on top of them. So the self-check + build pipeline described in the skill docs does work — but the UI leading up to it gives a user (or an agent operating on a user's behalf) no way to know that without just trying it and hoping.

Suggested fix

For a design-system project that already has an uploaded, self-checked component bundle, either:

  • Skip the "Set up your design system" wizard entirely and land directly in the Design System pane, or
  • Clearly surface something like "N components already uploaded — Generate will build on your existing library" in the wizard/Generate screen, so it's explicit that existing work is being extended, not replaced.

Environment

  • Uploaded via DesignSync tool, write_files/finalize_plan/create_project methods
  • Project type: PROJECT_TYPE_DESIGN_SYSTEM
  • Source repo: React 19 + Vite + Tailwind CSS 4 app (shadcn-based component set), synced via the package (non-Storybook) shape of /design-sync

View original on GitHub ↗