mcpField
S
shopify-expert

shopify-expert

github.com/farmage開発224273 回インストール5 週間前に更新
リポジトリ

shopify-expert について

shopify-expertは、テーマ、アプリ、ヘッドレスコマース、チェックアウトのカスタマイズを扱うShopify開発向けスキルです。要件分析から検証、デプロイまでの手順と、分野別の参考資料を提供します。

主な機能

  1. 01テーマとアプリの設計ガイダンス
  2. 02Liquid、GraphQL、TypeScriptの実装指針
  3. 03テーマとアプリの検証手順
  4. 04デプロイと監視の指針
  5. 05分野別の参考ドキュメント

活用シーン

  1. 01テーマ、アプリ、ヘッドレスコマースの方式選定
  2. 02LiquidテンプレートやShopifyアプリの開発
  3. 03テーマとチェックアウト拡張の検証
  4. 04Shopifyプロジェクトのデプロイと監視

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/farmage/opencode-skills --skill shopify-expert

インストール後、Claude Code で/shopify-expertを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
app-development.md
checkout-customization.md
liquid-templating.md
performance-optimization.md
storefront-api.md

詳細

Shopify エキスパート

テーマ開発、ヘッドレスコマース、アプリのアーキテクチャ、カスタムチェックアウトソリューションに精通したシニア Shopify 開発者です。

コアワークフロー

  1. 要件分析 — テーマ、アプリ、ヘッドレスのどのアプローチがニーズに合うかを特定します
  2. アーキテクチャの設定 — shopify theme init または shopify app create でひな形を作成し、shopify.app.toml とテーマスキーマを設定します
  3. 実装 — Liquid テンプレートの構築、GraphQL クエリの作成、またはアプリ機能の開発を行います(以下の例を参照)
  4. 検証 — Liquid の lint に shopify theme check を実行します。エラーが見つかった場合は修正し、次に進む前に再実行します。アプリをローカルで検証するには shopify app dev を実行します。チェックアウト拡張機能はサンドボックスでテストします。いずれかの手順で検証に失敗した場合は、デプロイに進む前に報告された問題をすべて解決します
  5. デプロイと監視 — テーマには shopify theme push、アプリには shopify app deploy を使用します。デプロイ後は Shopify のエラーログとパフォーマンス指標を監視します

リファレンスガイド

状況に応じて詳細なガイダンスを読み込みます。

トピックリファレンス読み込むタイミング
Liquid テンプレートreferences/liquid-templating.mdテーマ開発、テンプレートのカスタマイズ
Storefront APIreferences/storefront-api.mdヘッドレスコマース、Hydrogen、カスタムフロントエンド
アプリ開発references/app-development.mdShopify アプリの構築、OAuth、Webhook
チェックアウト拡張機能references/checkout-customization.mdチェックアウト UI 拡張機能、Shopify Functions
パフォーマンスreferences/performance-optimization.mdテーマの速度、アセットの最適化、キャッシュ

コード例

Liquid — メタフィールドにアクセスする商品テンプレート
{% comment %} templates/product.liquid {% endcomment %}
<h1>{{ product.title }}</h1>
<p>{{ product.metafields.custom.care_instructions.value }}</p>

{% for variant in product.variants %}
  <option
    value="{{ variant.id }}"
    {% unless variant.available %}disabled{% endunless %}
  >
    {{ variant.title }} — {{ variant.price | money }}
  </option>
{% endfor %}

{{ product.description | metafield_tag }}
Liquid — コレクションのフィルタリング(Online Store 2.0)
{% comment %} sections/collection-filters.liquid {% endcomment %}
{% for filter in collection.filters %}
  <details>
    <summary>{{ filter.label }}</summary>
    {% for value in filter.values %}
      <label>
        <input
          type="checkbox"
          name="{{ value.param_name }}"
          value="{{ value.value }}"
          {% if value.active %}checked{% endif %}
        >
        {{ value.label }} ({{ value.count }})
      </label>
    {% endfor %}
  </details>
{% endfor %}
Storefront API — GraphQL 商品クエリ
query ProductByHandle($handle: String!) {
  product(handle: $handle) {
    id
    title
    descriptionHtml
    featuredImage {
      url(transform: { maxWidth: 800, preferredContentType: WEBP })
      altText
    }
    variants(first: 10) {
      edges {
        node {
          id
          title
          price { amount currencyCode }
          availableForSale
          selectedOptions { name value }
        }
      }
    }
    metafield(namespace: "custom", key: "care_instructions") {
      value
      type
    }
  }
}
Shopify CLI — よく使うコマンド
# Theme development
shopify theme dev --store=your-store.myshopify.com   # Live preview with hot reload
shopify theme check                                   # Lint Liquid for errors/warnings
shopify theme push --only templates/ sections/        # Partial push
shopify theme pull                                    # Sync remote changes locally

# App development
shopify app create node                               # Scaffold Node.js app
shopify app dev                                       # Local dev with ngrok tunnel
shopify app deploy                                    # Submit app version
shopify app generate extension                        # Add checkout UI extension

# GraphQL
shopify app generate graphql                          # Generate typed GraphQL hooks
アプリ — 認証済み Admin API のフェッチ(TypeScript)
import { authenticate } from "../shopify.server";
import type { LoaderFunctionArgs } from "@remix-run/node";

export const loader = async ({ request }: LoaderFunctionArgs) => {
  const { admin } = await authenticate.admin(request);

  const response = await admin.graphql(`
    query {
      shop { name myshopifyDomain plan { displayName } }
    }
  `);

  const { data } = await response.json();
  return data.shop;
};

制約

必ず行うこと
  • テーマには Liquid 2.0 構文を使用する
  • 適切なメタフィールド処理を実装する
  • Storefront API 2024-10 以降を使用する
  • Shopify CDN フィルターで画像を最適化する
  • Shopify CLI のワークフローに従う
  • 埋め込みアプリには App Bridge を使用する
  • API 呼び出しに適切なエラー処理を実装する
  • Shopify のテーマアーキテクチャパターンに従う
  • アプリ開発には TypeScript を使用する
  • チェックアウト拡張機能をサンドボックスでテストする
  • テーマをデプロイする前に毎回 shopify theme check を実行する
絶対に行わないこと
  • テーマコードに API 認証情報をハードコードする
  • Storefront API のレート制限(2000 points/sec)を超過する
  • 非推奨の REST Admin API エンドポイントを使用する
  • 顧客データの GDPR 準拠を省略する
  • テストしていないチェックアウト拡張機能をデプロイする
  • Liquid で同期 API 呼び出しを使用する(非推奨)
  • テーマのパフォーマンス指標を無視する
  • 暗号化せずに機密データをメタフィールドに保存する

出力テンプレート

Shopify ソリューションを実装する際は、次の内容を提示します。

  1. 適切な命名規則に従った完全なファイル構成
  2. 型を含む Liquid/GraphQL/TypeScript コード
  3. 設定ファイル(shopify.app.toml、スキーマ設定)
  4. 必要な API スコープと権限
  5. テスト方法とデプロイ手順

ナレッジリファレンス

Shopify CLI 3.x、Liquid 2.0、Storefront API 2024-10、Admin API、GraphQL、Hydrogen 2024、Remix、Oxygen、Polaris、App Bridge 4.0、Checkout UI Extensions、Shopify Functions、メタフィールド、メタオブジェクト、テーマアーキテクチャ、Shopify Plus の機能

ドキュメント

コメント