The Shopify skeleton-theme is a minimal starter theme maintained by Shopify. It provides a clean, bare-bones foundation for building custom Shopify themes. Instead of starting from a full-featured theme loaded with UI and design choices, the skeleton-theme helps you focus on the essentials: structure, performance, and best practices.
Why Use the Skeleton Theme?
- Lightweight and Unopinionated: It contains minimal styling, so it’s easier to build your design from the ground up.
- Modern Boilerplate: Uses Shopify’s best practices (Liquid, CSS/JS setup) so you don’t have to reinvent the wheel.
- Performance-Friendly: Fewer features out of the box means smaller CSS/JS payloads.
- Ideal for Developers: Perfect for agencies or developers who want a clean slate and maximum flexibility.
When & Who Should Use It
Use this theme when:
- You are building a custom storefront from scratch.
- You don’t want to remove a lot of unused code (as you might with a full-featured theme).
- You want to optimize performance and load speed.
- You are comfortable writing your own CSS, JavaScript, and Liquid templates.
It’s less useful if:
- You need a fast-to-launch storefront and prefer leveraging a feature-rich theme with UI components already built in.
- You don’t want to build the design yourself — skeleton-theme doesn’t give you pre-styled sections/components out of the box.
Tutorial: Getting Started with Skeleton Theme
Here’s how to set up and start building on the skeleton theme.
1. Clone the Repository
First, clone the theme from GitHub:
git clone https://github.com/Shopify/skeleton-theme.git
cd skeleton-theme
This gives you a local copy of the skeleton theme codebase.
2. Install Shopify CLI & Authenticate
Make sure you have the Shopify CLI installed. If you don’t yet:
npm install -g @shopify/cli @shopify/theme
Then log in to your Shopify partner account / store:
shopify login --store your-store.myshopify.com
3. Connect the Theme to Your Store
You’ll need to create a “development theme” in your store (or use an existing dev theme). Then run:
shopify theme init --clone-url=https://github.com/Shopify/skeleton-theme.git
Or, if you’ve already cloned, you can push your local code to Shopify:
shopify theme push --live
Or to a specific theme ID:
shopify theme push --theme-id=123456789
(“live” will overwrite the current published theme, so be careful — better to push to a draft or unpublished theme.)
4. Start Local Development
Run the Shopify theme server locally:
shopify theme serve
This spins up a local development server with hot-reloading, letting you preview your theme in real time at a URL like http://127.0.0.1:9292.
5. Understand the Folder Structure
When you open the repository, you’ll notice a clean structure. Here are some key parts:
skeleton-theme/
├── assets/ # CSS, JS, images, and other static files
├── config/ # theme settings schema
├── layout/ # theme.liquid and other layout files
├── locales/ # translation files
├── sections/ # Shopify “sections” (modular parts of pages)
├── snippets/ # reusable Liquid snippets
├── templates/ # page templates (index.liquid, product.liquid, etc)
└── .github/ # GitHub Actions or other config
- assets: Contains SCSS or CSS, JavaScript, and image assets.
- sections: Modular sections you can drop into Shopify pages.
- snippets: Small Liquid files you can include in multiple templates.
6. Customize Your Theme
From here, you can begin building out your design:
- Add Styles: Modify
assets/theme.css(or SCSS) to start styling. - Add JS: Use
assets/theme.jsto add your JavaScript behavior. - Sections: Build or modify section files in
sections/to add things like hero banners, product grids, or custom content blocks. - Templates: Use
templates/(andtemplates/customers,templates/articles, etc.) to define how each page type looks.
7. Use Theme Settings
In the config/ directory, there is a settings_schema.json file. This defines the options available in the Shopify Theme Editor (for merchants to change colors, content, etc).
- Open
config/settings_schema.json - Add or modify setting groups, fields (text, color picker, image picker, etc)
- In your Liquid files, reference
settings.MY_SETTING_HANDLEto make things dynamic
8. Test & Preview
- Use
shopify theme serveto preview your theme locally. - Push to a development theme on your store:
shopify theme push --unpublished - Check on Shopify admin → Online Store → Themes → (Your Theme) → “Preview as unlisted”
- Test different screen sizes, make sure sections work, and verify dynamic settings.
9. Deploy & Go Live
Once you’re satisfied:
- Push to your live/published theme using Shopify CLI.
- Or download the theme as a
.zipand upload via Shopify admin. - Make sure to test checkout, navigation, and all site functionality before publishing.
Tips & Best Practices
- Keep it modular: Use sections and snippets to keep your code organized and reusable.
- Use a CSS preprocessor: If you prefer SCSS, set up a build pipeline.
- Optimize assets: Minify JS and CSS, compress images, bundle smartly for performance.
- Use Git: Track your changes, use branches for features, and use meaningful commits.
- Lint & format: Use tools like Prettier or Stylelint for consistent code style.
- Accessibility: Use semantic HTML, ARIA labels, and test keyboard navigation.
- Performance: Lazy-load images, defer or asynchronously load JS, and avoid blocking render.
Why It’s a Great Choice for Developers & Agencies
- No bloat: No unnecessary features mean you’re not paying for or maintaining what you don’t need.
- Flexibility: Build exactly what the merchant needs.
- Clean Slate: Designers/developers aren’t constrained by preset design systems — they design from the ground up.
- Maintainability: Because the theme is minimal, it’s easier to understand and maintain.
- Scalable: Start small, then add features as the store grows.
Further Learning Resources
- Shopify Developer Documentation — theme development
- Liquid Reference — understanding how to use Shopify’s templating language
- CSS & JS tooling — Webpack / Vite / Parcel if you want to build a more advanced asset pipeline
- SEO & Performance guides — for optimizing storefront speed
- Accessibility guides — for making your theme inclusive
Summary
The Shopify skeleton-theme is a powerful starting point if you want to build a custom Shopify theme without the weight of a pre-built theme. It’s minimal, clean, and built with best practices in mind.
By cloning the repo, connecting it to your store via Shopify CLI, and building out your sections, templates, and styles, you can create a performant, maintainable, and tailor-made storefront.
Whether you’re building for a client or launching your own Shopify app store, skeleton-theme gives you the flexibility and control to do it right.