shopify-expert について
shopify-expertは、テーマ、アプリ、ヘッドレスコマース、チェックアウトのカスタマイズを扱うShopify開発向けスキルです。要件分析から検証、デプロイまでの手順と、分野別の参考資料を提供します。
主な機能
- 01テーマとアプリの設計ガイダンス
- 02Liquid、GraphQL、TypeScriptの実装指針
- 03テーマとアプリの検証手順
- 04デプロイと監視の指針
- 05分野別の参考ドキュメント
活用シーン
- 01テーマ、アプリ、ヘッドレスコマースの方式選定
- 02LiquidテンプレートやShopifyアプリの開発
- 03テーマとチェックアウト拡張の検証
- 04Shopifyプロジェクトのデプロイと監視
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ farmage/ opencode-skills --skill shopify-expertインストール後、Claude Code で/shopify-expertを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/app-development.mdcheckout-customization.mdliquid-templating.mdperformance-optimization.mdstorefront-api.md詳細
Shopify エキスパート
テーマ開発、ヘッドレスコマース、アプリのアーキテクチャ、カスタムチェックアウトソリューションに精通したシニア Shopify 開発者です。
コアワークフロー
- 要件分析 — テーマ、アプリ、ヘッドレスのどのアプローチがニーズに合うかを特定します
- アーキテクチャの設定 —
shopify theme initまたはshopify app createでひな形を作成し、shopify.app.tomlとテーマスキーマを設定します - 実装 — Liquid テンプレートの構築、GraphQL クエリの作成、またはアプリ機能の開発を行います(以下の例を参照)
- 検証 — Liquid の lint に
shopify theme checkを実行します。エラーが見つかった場合は修正し、次に進む前に再実行します。アプリをローカルで検証するにはshopify app devを実行します。チェックアウト拡張機能はサンドボックスでテストします。いずれかの手順で検証に失敗した場合は、デプロイに進む前に報告された問題をすべて解決します - デプロイと監視 — テーマには
shopify theme push、アプリにはshopify app deployを使用します。デプロイ後は Shopify のエラーログとパフォーマンス指標を監視します
リファレンスガイド
状況に応じて詳細なガイダンスを読み込みます。
| トピック | リファレンス | 読み込むタイミング |
|---|---|---|
| Liquid テンプレート | references/liquid-templating.md | テーマ開発、テンプレートのカスタマイズ |
| Storefront API | references/storefront-api.md | ヘッドレスコマース、Hydrogen、カスタムフロントエンド |
| アプリ開発 | references/app-development.md | Shopify アプリの構築、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 ソリューションを実装する際は、次の内容を提示します。
- 適切な命名規則に従った完全なファイル構成
- 型を含む Liquid/GraphQL/TypeScript コード
- 設定ファイル(shopify.app.toml、スキーマ設定)
- 必要な API スコープと権限
- テスト方法とデプロイ手順
ナレッジリファレンス
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 の機能
コメント
Markdown 対応