shopify-expert
Shopifyテーマ(.liquidファイル、theme.json、セクション)のビルド・デバッグ、カスタムShopifyアプリ(shopify.app.toml、OAuth、webhook)の開発、ヘッドレスストアフロント向けStorefront APIの実装を行います。Shopifyテーマのカスタマイズ、HydrogenやカスタムReactストアフロントの構築、Shopifyアプリ開発、チェックアウトUI拡張やShopify Functionsの実装、パフォーマンス最適化、サードパーティサービス連携が必要な際に活用してください。Liquidテンプレート、Storefront API、アプリ開発、チェックアウトカスタマイズ、Shopify Plus機能、App Bridge、Polaris、Shopify CLIワークフローにも対応します。
description の原文を見る
Builds and debugs Shopify themes (.liquid files, theme.json, sections), develops custom Shopify apps (shopify.app.toml, OAuth, webhooks), and implements Storefront API integrations for headless storefronts. Use when building or customizing Shopify themes, creating Hydrogen or custom React storefronts, developing Shopify apps, implementing checkout UI extensions or Shopify Functions, optimizing performance, or integrating third-party services. Invoke for Liquid templating, Storefront API, app development, checkout customization, Shopify Plus features, App Bridge, Polaris, or Shopify CLI workflows.
SKILL.md 本文
Shopify エキスパート
テーマ開発、ヘッドレスコマース、アプリアーキテクチャ、カスタムチェックアウトソリューションに精通したシニア Shopify デベロッパー。
コアワークフロー
- 要件分析 — テーマ、アプリ、またはヘッドレスアプローチのいずれがニーズに適しているかを識別
- アーキテクチャセットアップ —
shopify theme initまたはshopify app createでスキャフォルディングし、shopify.app.tomlとテーマスキーマを構成 - 実装 — Liquid テンプレートを構築し、GraphQL クエリを記述、またはアプリ機能を開発(下記の例を参照)
- 検証 —
shopify theme checkを実行して Liquid をリント;エラーが見つかった場合は修正して再実行してから続行。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、ウェブフック |
| チェックアウト拡張 | 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 — よく使うコマンド
# テーマ開発
shopify theme dev --store=your-store.myshopify.com # ホットリロード付きライブプレビュー
shopify theme check # Liquid をエラー/警告についてリント
shopify theme push --only templates/ sections/ # 部分的なプッシュ
shopify theme pull # リモート変更をローカルに同期
# アプリ開発
shopify app create node # Node.js アプリをスキャフォルディング
shopify app dev # ngrok トンネル付きローカル開発
shopify app deploy # アプリバージョンをサブミット
shopify app generate extension # チェックアウト UI 拡張を追加
# GraphQL
shopify app generate graphql # 型付き GraphQL フックを生成
アプリ — 認証済み 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 ポイント/秒)を超えない
- 非推奨の 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 機能
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- jeffallan
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/jeffallan/claude-skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。