shopify_theme_builder
SKILL.md
Phase 1 – Setup checks
- Shopify CLI
- Run
shopify version. If missing, install globally:npm install -g @shopify/cli@latest.
- Run
- Auth + store
- Ask for
store_domain(e.g.,demo.myshopify.com). - Run
shopify theme list --store <store_domain>. - If the CLI prompts for login, run
shopify auth login --store <store_domain>(or follow the verification code URL) untiltheme listsucceeds.
- Ask for
- Workspace
- Create
~/shopify_theme_builder/<brand_name>_<YYYYMMDD>/. - All subsequent work (theme init, git, assets) happens inside this folder.
- Create
Phase 2 – Interview (collect all fields)
Capture the following structured data (store it in a JSON/YAML file for reuse):
- Store/deploy:
store_domain,deployment_mode(defaultstaging_only),github_mode(commit_localby default, options:none,commit_local,commit_and_push). - Brand: name, tagline, tone, primary color hex, secondary color hex, font preference, logo path/url, favicon path/url.
- Offer/product: product name, category, price, compare-at (optional), bundles (list), top benefits, detailed features, objection -> rebuttal pairs, guarantee copy, shipping promise, returns summary, CTA text.
- Proof: reviews/testimonials, press quotes/logos, social proof metrics.
- Assets: product image paths/URLs, lifestyle imagery. If none, note that placeholders will be inserted.
- SEO: primary keyword, secondary keywords list, meta title/description for home + product page, brand story paragraph, FAQ list (5–12 Q&A pairs).
- Compliance/support: business address, support email, optional phone, policy text (shipping/returns/privacy/terms). If a policy is missing, note that a template will be generated. Keep prompting until every required field is supplied (or explicitly marked “generate”).
Phase 3 – Scaffold theme
- If the user provides a base theme path/export, use it (unzip into workspace).
- If no theme files exist yet, ask: “Would you like to fork the customized HydroShell starter theme as your base?”
- If yes, clone
https://github.com/jaredjester/hydroshell-swimbuds.gitinto the workspace (or fork via GitHub first if they want their own remote), then rename the folder to the new project name. - If no, proceed with the vanilla Dawn init below.
- If yes, clone
- Otherwise run
shopify theme init <theme_dir>inside the workspace and choose Dawn/default. - Initialize git if absent:
git init && git checkout -b main. - Record the theme path for future commands.
Phase 4 – Generate theme content
Work inside the theme directory:
- Homepage sections: hero (headline + CTA), benefits grid, social proof carousel, “how it works”, featured product block, FAQ, final CTA strip.
- Product template: sticky ATC, shipping & returns block, benefits/features columns, optional comparison table, testimonials/reviews, FAQ, trust badges, guarantee highlight.
- Policies: ensure shipping, returns, privacy, and terms pages exist (create from templates when user lacks copy) and link them in the footer.
- Branding: apply colors/typography via
config/settings_data.jsonor theme settings. Update CSS variables / custom CSS if necessary. - Assets: copy logos/images into
assets/(download remote URLs). If placeholders are used, note it in alt text and comments. - Alt text: set meaningful
altattributes for every image. Document all generated content in the workspace (e.g.,content_map.md).
Phase 5 – SEO & schema
- Update meta tags for homepage + product template using interview data.
- Add JSON-LD Organization schema (sitewide) and Product schema on the product page.
- Ensure headings naturally include primary/secondary keywords (no stuffing).
- Verify structured data with
Rich Results Test(optional) or runshopify theme checkto catch schema mistakes.
Phase 6 – Preview
- Run
shopify theme dev --store <store_domain>from the theme directory. - Share the preview URL from the CLI output.
- Ask the user for edits. Do not proceed until they explicitly approve the preview.
Phase 7 – Safe deploy
- Create/push to an unpublished staging theme with a dated name:
shopify theme push \ --unpublished \ --store <store_domain> \ --theme-name "<brand_name> - Staging <YYYY-MM-DD>" - Capture the returned theme ID.
- Open it for quick inspection:
shopify theme open --store <store_domain> --theme <theme_id>. - Report the theme name + ID back to the user.
- Never publish unless the user says exactly
"PUBLISH APPROVED". - Never delete/overwrite the live theme.
Phase 8 – GitHub (optional)
- If
github_mode == none: skip. - If
github_mode == commit_local: rungit status, stage,git commit -am "feat: build <brand_name> theme". - If
commit_and_push: ensureoriginexists, thengit push origin main(or the current branch). Never push secrets—confirm.env(if any) is in.gitignore.
Output summary (always)
Provide a final report with:
- Workspace path
- Git status / latest commit hash
- Preview URL (from Phase 6)
- Staging theme name & ID (from Phase 7)
- Reminder that publishing requires the exact phrase
PUBLISH APPROVEDand must be done manually (or the agent can runshopify theme publishonly after explicit approval) - Guidance for linking the GitHub repo to Shopify (if applicable)
Safety rules (do not violate)
- Publishing: only run
shopify theme publishafter the user types exactlyPUBLISH APPROVED. - Theme deletion: never delete themes or overwrite the live theme.
- Secrets: do not commit/store Shopify tokens,
.env, or other credentials. Ensure.envis.gitignore’d.
Use this skill whenever someone wants a full theme build with structured inputs, SEO, and safe deployment. It enforces a repeatable process from interview → build → preview → staging push without risking production.
Weekly Installs
3
Repository
jaredjester/sho…er-skillGitHub Stars
1
First Seen
9 days ago
Installed on
opencode3
antigravity3
github-copilot3
codex3
kimi-cli3
gemini-cli3