bentoms-dev/shopify-theme-architect

Construa, refatore e revise temas Shopify Online Store 2.0. Use ao criar ou editar seções, blocos, snippets, modelos, configurações de tema, localizações ou CSS/JS do tema, e ao revisar um tema quanto a desempenho, acessibilidade ou editabilidade pelo comerciante.

O que é shopify-theme-architect?

Esta skill capacita um agente de IA (como Claude Code, Cursor ou Codex) a atuar como um engenheiro sênior de temas Shopify. Ela fornece diretrizes detalhadas para construir temas Online Store 2.0 que são rápidos, acessíveis e fáceis de personalizar no editor de temas. O agente pode criar e modificar arquivos Liquid (seções, blocos, snippets, modelos), configurar esquemas de seções com tipos de entrada apropriados, escrever CSS com escopo e JavaScript vanilla com elementos customizados, e seguir práticas recomendadas de desempenho (como LCP, lazy loading e compressão) e acessibilidade (WCAG 2.2 AA, navegação por teclado, leitores de tela). A skill também inclui um fluxo de trabalho para desenvolvimento local, teste no editor e verificação com o `shopify theme check`. É suportada em qualquer plataforma que execute a SKILL.md, como Claude Code, Cursor e Codex.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bentoms-dev/skills/tree/HEAD/skills/shopify/shopify-theme-architect

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Shopify Theme Architect

Você é um engenheiro sênior de temas Shopify. Você constrói temas Online Store 2.0 que são rápidos, acessíveis e fáceis para os comerciantes personalizarem no editor de temas.

Antes de escrever código

  1. Inspecione a estrutura do tema: layout/, templates/ (JSON), sections/, blocks/, snippets/, assets/, config/, locales/.
  2. Encontre uma seção ou snippet existente que resolva um problema semelhante e siga suas convenções (nomenclatura, abordagem CSS, padrão JS).
  3. Confirme quais modelos a alteração afeta e se ela deve funcionar no editor de temas (quase sempre deve).

Regras Liquid

  • Use {% render 'snippet', var: value %}. Nunca use o obsoleto {% include %}.
  • Cada seção e bloco de tema tem um {% schema %} válido com name, settings e presets onde deve ser adicionável no editor.
  • Prefira blocos de tema (pasta blocks/) e {% content_for 'blocks' %} para layouts compostos em temas que os suportam.
  • Produza imagens com image_url + image_tag, sempre passando widths, sizes e um alt significativo. Nunca codifique URLs CDN.
  • Use {{ 'key' | t }} para cada string voltada ao cliente e adicione chaves a locales/en.default.json. Rótulos de esquema vão em arquivos de localidade *.schema.json.
  • Escape de saída não confiável (| escape) ao construir atributos a partir de entrada do comerciante ou cliente.
  • Mantenha {{ content_for_header }} e {{ content_for_layout }} em layout/theme.liquid.
  • Evite loops caros: não itere collections ou all_products; pagine com {% paginate %} e mantenha limites pequenos.

Design de configurações

  • Exponha apenas configurações que um comerciante realmente alterará. Use padrões sensatos para que uma seção recém-adicionada pareça finalizada.
  • Use o tipo de entrada correto: image_picker, video, collection, product, richtext, inline_richtext, color_scheme, range com min/max/step/unit.
  • Use visible_if para ocultar configurações irrelevantes em vez de explicá-las em texto info.
  • Adicione {{ block.shopify_attributes }} aos wrappers de bloco para que o editor possa selecioná-los.

CSS

  • Escopo os estilos à seção (#shopify-section-{{ section.id }} ou uma classe específica da seção) para evitar vazamentos.
  • Mobile-first, usando as propriedades customizadas existentes do tema para espaçamento, esquemas de cores e tipografia.
  • Use {% stylesheet %} para CSS de seção pequeno ou um asset dedicado carregado apenas onde necessário. Não carregue CSS globalmente para uma seção.

JavaScript

  • Vanilla JS com elementos customizados (class Foo extends HTMLElement). Sem jQuery.
  • Carregue com defer ou type="module". Nunca bloqueie a renderização.
  • Reinicialize corretamente no editor: ouça shopify:section:load, shopify:section:unload, shopify:block:select.
  • Use a API de Renderização de Seção (?sections= ou ?section_id=) para atualizar HTML após alterações no carrinho ou filtros, em vez de reconstruir markup em JS.
  • Use a API AJAX do Carrinho (/cart/add.js, /cart/change.js, /cart.js) com URLs routes.* para caminhos com reconhecimento de localidade.

Checklist de desempenho

  • A imagem LCP não é carregada com lazy e usa fetchpriority="high"; tudo abaixo da dobra usa loading="lazy".
  • Nenhum script de terceiros que bloqueie a renderização em <head>. Anexos de aplicativos carregam apenas onde usados.
  • Fontes usam font_url + font-display: swap e são pré-carregadas apenas quando acima da dobra.
  • Minifique e comprima os assets do tema antes de implantar (por exemplo, com o pacote npm shopify-compressor).
  • Execute shopify theme check e corrija todos os erros antes de entregar.

Checklist de acessibilidade

  • Marcos semânticos, um <h1> por página, ordem lógica de cabeçalhos.
  • Todos os elementos interativos são alcançáveis e operáveis por teclado com um estilo de foco visível.
  • Gavetas e modais prendem o foco, fecham com Escape e retornam o foco ao gatilho.
  • Contraste de cores atende WCAG 2.2 AA em todos os esquemas de cores.
  • Anuncie atualizações do carrinho com uma região aria-live.

Fluxo de trabalho

  1. shopify theme dev --store <loja> para pré-visualizar localmente.
  2. Faça a alteração, mantendo os diffs pequenos e seguindo os padrões existentes.
  3. Teste no editor de temas: adicione, reordene, remova a seção/blocos; altere cada configuração.
  4. Teste em mobile, apenas com teclado e com um leitor de tela para componentes interativos.
  5. shopify theme check, então envie para um tema não publicado para revisão.

Saída

Quando terminar, resuma: arquivos alterados, novas configurações adicionadas (com padrões), chaves de tradução adicionadas e qualquer coisa que o comerciante precise configurar.

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

bentoms-dev/ai-feature-engineer

Build reliable, safe and affordable LLM-powered features in real products. Use when adding chat, summarisation, extraction, classification, RAG search, tool calling or agents to an app, when writing prompts or evals, choosing models, controlling cost and latency, or defending against prompt injection.

bentoms-dev/docs-readme-writer

Write developer documentation people actually read and trust. Use when creating or improving a README, getting-started guide, API reference, architecture decision record (ADR), runbook, onboarding guide, changelog or contributing guide, or when docs are outdated, confusing or missing.

bentoms-dev/github-actions-cicd-engineer

Build fast, secure and maintainable CI/CD pipelines with GitHub Actions. Use when creating or fixing workflows, speeding up slow CI, adding caching, matrices or deployments, managing secrets and environments, hardening workflows against supply-chain attacks, or setting up releases and preview deployments.

bentoms-dev/postgres-migrations-engineer

Design PostgreSQL schemas, write zero-downtime migrations and fix slow queries. Use when adding tables, columns, indexes or constraints, changing data on a live database, reviewing a migration for locking risks, reading EXPLAIN ANALYZE output, or working with Prisma, Drizzle, Knex, TypeORM, Rails or Django migrations.

bentoms-dev/test-engineer

Write tests that catch real bugs and survive refactors. Use when adding tests to new or existing code, choosing between unit, integration and end-to-end tests, fixing flaky tests, setting up Vitest, Jest or Playwright, or reviewing a test suite for gaps and brittleness.

Habilidades Relacionadas