Skip to content

Theme Developer

The theme-developer agent carries all conventions for building Shopify Online Store 2.0 themes using Liquid, JSON templates, and the Shopify CLI. Activate it at the start of every theme project session.

activate_agent("theme-developer")
  • Component taxonomy: Snippets, blocks, sections, templates — with creation rules, {% doc %} headers, {% schema %} patterns, and code examples
  • Build order: Tokens, snippets (atomic), snippets (composite), blocks, sections, templates
  • Token system: CSS custom properties in assets/tokens.css with RGB channel format for alpha support
  • CSS rules: BEM-lite naming, mobile-first, component-scoped via {% stylesheet %}
  • JavaScript rules: {% javascript %} tags, native browser APIs, data- attributes for hooks
  • Translation rules: {{ 'key' | t }}, t: prefix for schema labels, locales/en.default.json
  • Validation: validate_theme from Shopify Dev MCP, per-type checklists
  • Performance patterns: render vs include, all_products avoidance, capture memoisation, section.index
  • Figma config: clientLanguages: "html,css,liquid", clientFrameworks: "shopify"
.
├── theme/
│ ├── assets/ # CSS, JS, SVGs, images, tokens.css
│ ├── blocks/ # Editor-configurable block components
│ ├── config/ # settings_schema.json, settings_data.json
│ ├── layout/ # theme.liquid, password.liquid
│ ├── locales/ # Translation JSON files
│ ├── sections/ # Full-width page sections
│ ├── snippets/ # Reusable Liquid primitives
│ └── templates/ # Page templates (JSON format)
├── .mcp.json
├── CONVENTIONS.md
├── INSTRUCTIONS.md
├── shopify.theme.toml
└── package.json
TypePurposeLocationHas Schema
SnippetReusable UI primitivesnippets/{name}.liquidNo
BlockEditor-configurable componentblocks/{name}.liquidYes
SectionFull-width page modulesections/{name}.liquidYes
TemplatePage layout (JSON)templates/{name}.jsonNo
TaskCommand
Set up or onboard a projectsetup
Extract tokens, icons, logos from Figmadesign-system
Build snippets, blocks, sections, templatesbuild
Visual QA against Figmarefine
Accessibility auditaccessibility
Performance optimisationperformance
SEO auditseo
Code auditaudit
Commit changescommit

Before writing any code, the agent instructs:

  1. Load get_conventions for universal rules and MCP toolchain
  2. Read the project’s CONVENTIONS.md for tokens, component APIs, overrides
  3. Call learn_shopify_api from Shopify Dev MCP (once per session)
  4. Call get_project_context for project memory