Skeleton vs Horizon

I’m building a custom Shopify theme using Skeleton as the base, but I’m now getting into functionality that Horizon already implements really well, such as product variants, media, quantity rules and cart drawer functionality.

Rather than rebuilding Shopify or Horizon functionality ourselves, I’m trying to understand what Shopify recommends and what other theme developers are actually doing in production.

For example, Horizon’s product functionality appears to involve files and dependencies such as:

  • component.js
  • events.js
  • morph.js
  • section-renderer.js
  • variant-picker.js
  • variant-resolution.js
  • product-form.js
  • media-gallery.js
  • component-quantity-selector.js
  • product-price.js
  • product-inventory.js

My questions are:

  1. When starting from Skeleton, is the recommended approach to bring across the relevant Horizon components and their dependencies rather than rebuilding equivalent functionality?

  2. Is this how Shopify expects Skeleton to be used? Start minimal and selectively add first party Horizon functionality as required?

  3. For developers already building production themes from Skeleton, what approach are you actually using?

    Copy or adapt Horizon components?

    Build your own components using Shopify’s documented patterns?

    Start from Horizon instead and strip or restyle it?

    Something else?

  4. For larger features such as the PDP/product form and cart drawer, are there known dependency groups that should be copied together rather than trying to extract individual files?

  5. Is there any downside to using Horizon’s actual implementations in a Skeleton theme, provided the full required dependency chain is included?

  6. If Shopify has an official recommendation or example showing the intended Skeleton to Horizon functionality workflow, I’d appreciate a link.

My main goal is to keep the theme visually bespoke while using as much first party Shopify commerce behaviour as possible. I’d rather not maintain our own variant resolution, product form, media or cart logic if Shopify has already solved those problems in Horizon.

I’d especially love to hear from anyone currently using Skeleton for real client or production stores. What are you doing in practice?