shopify-architecture-variants
Choose between Shopify app architectures: embedded Remix app, headless storefront with Hydrogen, standalone integration, or theme app extension. Use when starting a new Shopify project and deciding which architecture pattern to follow. Trigger with phrases like "shopify architecture decision", "shopify embedded vs headless", "shopify Hydrogen", "shopify app types", "which shopify architecture".
What this skill does
# Shopify Architecture Variants ## Overview Four validated architecture patterns for building on Shopify. Choose based on your use case: embedded admin app, headless storefront, backend integration, or theme extension. ## Prerequisites - Clear understanding of what you're building - Knowledge of your target merchants - Understanding of Shopify's app ecosystem ## Instructions ### Variant A: Embedded Admin App (Remix) Admin panel apps, merchant tools, dashboards. Uses `@shopify/shopify-app-remix` with OAuth and Polaris UI inside the Shopify admin. See [Embedded Remix App](references/embedded-remix-app.md) for the project structure and authenticated loader pattern. ### Variant B: Headless Storefront (Hydrogen) Custom storefronts and unique shopping experiences. Uses the Storefront GraphQL API, hosted on Shopify Oxygen or any edge platform. See [Hydrogen Storefront](references/hydrogen-storefront.md) for the project structure and Storefront API loader. ### Variant C: Backend Integration (Standalone) ERP sync, warehouse management, analytics. Uses `@shopify/shopify-api` with a custom app access token -- no OAuth or merchant UI needed. See [Backend Integration](references/backend-integration.md) for the project structure and client setup. ### Variant D: Theme App Extension Only Storefront widgets, product reviews, badges. Runs entirely in the merchant's storefront using Liquid templates -- no server needed. See [Theme App Extension](references/theme-app-extension.md) for the project structure and Liquid block example. --- ## Decision Matrix | Factor | Embedded App | Hydrogen | Backend Integration | Theme Extension | |--------|-------------|----------|-------------------|-----------------| | **Use case** | Admin tools | Custom storefront | System sync | Storefront widgets | | **Merchant UI** | Yes (in admin) | Yes (storefront) | No | Yes (in theme) | | **API** | Admin GraphQL | Storefront GraphQL | Admin GraphQL | Liquid objects | | **Auth** | OAuth | Storefront token | Custom app token | None | | **Server needed** | Yes | Yes | Yes | No | | **Complexity** | Medium | High | Low-Medium | Low | | **App Store eligible** | Yes | N/A | Yes (custom apps) | Yes | | **Time to build** | 2-4 weeks | 4-8 weeks | 1-2 weeks | Days | ## Output - Architecture variant selected based on requirements - Project structure and key packages identified - Authentication strategy determined - Technology stack defined ## Error Handling | Issue | Cause | Solution | |-------|-------|----------| | "Should I use Hydrogen?" | Want custom storefront | Yes if replacing Online Store, no if adding to admin | | "Embedded vs standalone?" | Need merchant UI? | Embedded = yes. Standalone = backend-only | | "Theme extension limits?" | Too complex for Liquid | Combine: extension for UI + embedded app for logic | | Over-engineering | Started with microservices | Start with Variant A or C, evolve when needed | ## Examples ### Quick Start by Variant ```bash # Variant A: Embedded Remix App shopify app init --template remix # Variant B: Hydrogen Storefront npm create @shopify/hydrogen # Variant C: Backend Integration mkdir shopify-sync && cd shopify-sync npm init -y && npm install @shopify/shopify-api dotenv # Variant D: Theme Extension shopify app init shopify app generate extension --type theme ``` ## Resources - [Shopify App Types](https://shopify.dev/docs/apps/getting-started) - [Hydrogen Framework](https://shopify.dev/docs/storefronts/headless/hydrogen) - [Theme App Extensions](https://shopify.dev/docs/apps/build/online-store/theme-app-extensions) - [Custom Apps](https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/generate-app-access-tokens-admin)
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.