一键导入
data-importer
// Transforms external product data into Saleor config.yml format. Use whenever importing, migrating, or converting data from CSV, Excel, Shopify, or any external source. Not for manual config editing (use configurator-schema).
// Transforms external product data into Saleor config.yml format. Use whenever importing, migrating, or converting data from CSV, Excel, Shopify, or any external source. Not for manual config editing (use configurator-schema).
Parsing JSON envelope output from Configurator CLI commands. Use whenever processing exit codes, JSON envelopes, drill-down workflows, or building automation around the CLI.
CLI commands for deploying, diffing, and introspecting Saleor stores. Use this skill whenever running ANY configurator CLI command or debugging CLI output. Covers deploy, introspect, diff, validate, --plan, CI/CD setup, and CLI flags.
Pre-built store configuration templates for common business types. Use whenever user asks for templates, examples, starting points, or mentions fashion/electronics/subscription store setup. Not for custom product type design (use product-modeling).
Config.yml schema, entity structure, and validation rules. Use whenever writing, reading, or validating any part of config.yml, or when asking about YAML format, required fields, entity identification, or config validation errors. Do NOT use for general YAML questions unrelated to Saleor Configurator.
Deployment failure diagnosis for Saleor Configurator. Use whenever any CLI command fails, when analyzing error messages, exit codes, or deployment reports, or when debugging partial failures.
End-to-end deployment workflow for Saleor Configurator: validate, diff, plan, deploy. Use whenever deploying, syncing, or debugging store configuration, or when building automation that chains CLI commands.
| name | data-importer |
| description | Transforms external product data into Saleor config.yml format. Use whenever importing, migrating, or converting data from CSV, Excel, Shopify, or any external source. Not for manual config editing (use configurator-schema). |
| license | MIT |
| metadata | {"author":"saleor","version":"2.0.0","requires":"@saleor/configurator CLI"} |
This skill helps you convert product data from external sources (CSV files, spreadsheets, Shopify exports) into Saleor's config.yml format. It walks through format detection, column mapping, and validation before generating output.
configurator-schema insteadproduct-modeling firstExcel files need conversion. Export as CSV from Excel/Sheets, or:
python3 -c "import pandas as pd; pd.read_excel('$FILE').to_csv('${FILE%.xlsx}.csv', index=False)"
Read directly to inspect headers and sample rows.
Don't assume column names. The importer will:
| Saleor Field | Typical Source Columns |
|---|---|
product.name | "name", "title", or any descriptive column |
product.slug | Generated from name, or "handle"/"ID" column |
variant.sku | "SKU", "External ID", "Code" |
productType | "type" column or you specify it |
| Field | Notes |
|---|---|
price | If missing, imports as catalog-only |
quantity | If missing, skips stock tracking |
category | From category/region column |
description | If present in source data |
| Other columns | Become product attributes |
productTypes:
- name: "[from type column or your input]"
productAttributes: [unmapped columns become attributes]
categories:
- name: "[from category column]"
slug: "[generated]"
products:
- name: "[from name column]"
slug: "[generated or from ID]"
productType: "[reference]"
variants:
- sku: "[from SKU column]"
channelListings: [if price exists]
stocks: [if quantity exists]
| Mistake | Fix |
|---|---|
| Assuming column names without checking | Always inspect headers first -- column names vary wildly between sources |
| Not handling missing SKUs | Generate SKUs from product name + variant attributes, or use a unique ID column |
| Importing without validating first | Review the generated YAML before deploying -- check for duplicates and missing fields |
| Duplicate products from multi-row variants | Ensure rows sharing a product name are grouped as variants, not separate products |
| Forgetting to create product types first | Design your product types before importing -- use product-modeling skill |
Before generating output, verify:
references/csv-patterns.md -- CSV/Excel parsing techniquesreferences/field-mapping.md -- Mapping strategies for various data shapesreferences/shopify-format.md -- Shopify-specific handlingreferences/transformations.md -- Data transformation rulesconfigurator-schema - Config.yml structure and field requirementsproduct-modeling - Product type design before importingsaleor-domain - Entity relationships and identifier rules