shopify-expert について
テーマ、アプリ、ヘッドレスコマースに取り組む Shopify 開発者向けのスキルです。実装手順や分野別の資料に加え、検証とデプロイの指針をまとめています。
主な機能
- 01テーマ、アプリ、ヘッドレス構成の指針
- 02Liquid、GraphQL、TypeScriptでの実装
- 03Shopify CLIによる検証とデプロイ
- 04分野別の開発リファレンス
活用シーン
- 01Shopifyストアの実装方式の選定
- 02Shopifyテーマの構築やカスタマイズ
- 03アプリやチェックアウト拡張の開発
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jeffallan/ claude-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 の機能
Synergetic Solutions のプリンシパルコンサルタント、@jeffallan がメンテナンスしています。
コメント
Markdown 対応