ec-product-master-cleaner-jp
EC商品マスタCSV/Excelの表記揺れ・空欄・重複・SKU不整合・禁止文字・エンコーディング崩れを一括チェック&クレンジングするスキル。「商品マスタが汚い」「CSVを整理して」「表記揺れを統一」「全角半角を直して」「文字化けが起きた」「ShiftJISで弾かれる」「重複SKU」「機種依存文字」「商品名がモールでエラー」「マスタクレンジング」など、商品マスタデータの品質改善・正規化に対応。楽天/Amazon/Yahoo!ショッピング/Shopify/ネクストエンジンの主要列に対応。※JANのチェックデジット検証は別スキル `jan-code-checker`、SKU命名規則の設計は `sku-naming-rule-generator`、商品属性(カラー・サイズ等)の値正規化は `product-attribute-normalizer`、楽天ジャンルID選定は `rakuten-genre-id-selector`。 【ALSEL独自スキル】株式会社ALSEL が、19年・5,000社超の EC 支援で得たノウハウをもとに開発したオリジナルスキルです。
SKILL.md 本文
商品マスタクレンジングスキル
概要
EC商品マスタCSV/Excelデータの品質を一括チェック・クレンジングする。表記揺れ統一(カラー・サイズ・素材・単位・数値)、禁止文字・機種依存文字・絵文字検出、エンコーディング不整合、空欄・重複・モール別文字数違反などを段階的に検出し、修正案を提示する。
汚れた商品マスタはモール側エラー(アップロード弾き)・検索性低下・表示崩れ・在庫連動失敗の主要因。マスタ正規化は「自社管理マスタを軸に、モール別マスタを派生で持つ」設計を推奨する。
★最重要原則
「修正してから出す」のではなく「修正前後の差分を必ず提示する」。 商品マスタの自動置換は元の意図(例:「キャメル」は厳密にはブラウンと別色)を破壊するリスクがあるため、必ず変更前後・置換ルール・件数・例外候補を一覧で出し、最終判断はユーザーに委ねる。
知識ベース
| トピック | 参照先 |
|---|---|
| カラー/サイズ/素材/単位/数値/空白の統一ルール | references/normalization-rules.md |
| モール別の必須列・推奨列・文字数制限(楽天/Amazon/Yahoo/Shopify/ネクストエンジン他) | references/mall-required-columns.md |
| エンコーディング(UTF-8/Shift_JIS/BOM/改行コード)変換手順 | references/encoding-notes.md |
| 機種依存文字・絵文字・モール別禁止文字一覧 | references/forbidden-chars.md |
| クレンジング前後の差分提示例 | references/examples.md |
主要な要点のみ本ファイルに記載。詳細は references/ を参照。
処理フロー
Step 1:データ受領と前提確認
確認項目:
- ファイル形式(CSV/TSV/Excel)
- エンコーディング(UTF-8 BOM有無/Shift_JIS/その他)
- 改行コード(CRLF/LF/混在)
- 対象モール(楽天/Amazon/Yahoo/Shopify/ネクストエンジン等)
- 列の意味(商品コード/商品名/カラー/サイズ/JAN/価格/在庫…)
Step 2:構造的問題の検出
- エンコーディング不一致:文字化け、Shift_JIS非対応文字(〜・−・①等)
- 改行コードの混在:CRLF/LF混在
- BOM混入:先頭3バイトに
EF BB BF - CSV末尾の改行漏れ:最終行が読み込まれない
- フィールド内改行のクォート漏れ:商品説明文の改行が崩れる
Step 3:文字レベルの問題検出
references/forbidden-chars.md 参照:
- 機種依存文字:①〜⑳/㈱/ⅠⅡⅢ/㎏㎜/℃/髙﨑德 等
- 絵文字:🌟✨💯🌸☀️⭐🔥 等
- モール別禁止文字:Amazon
! $ ? _ { } ^等 - 全大文字タイトル:Amazonで禁止
- HTML文字:
< > &等のエスケープ漏れ
Step 4:表記揺れの検出(カラー・サイズ・素材・単位)
references/normalization-rules.md の置換表に従う:
- カラー:「黒/クロ/BLACK/Black」→「ブラック」
- サイズ:「L L/2L/XL」→「LL」(運用ポリシーに従う)
- 素材:「コットン100%」→「綿 100%」(全角%→半角%)
- 単位:「100ml/100ミリリットル」→「100ml」
- 数字:全角数字→半角数字、全角ドット→半角ドット
「キャメル」「サックス」「クリムゾン」等の厳密に別色のものは別カラーとして保持する設定を確認。
Step 5:構造的データ問題の検出
- 商品コードに全角文字・スペース・特殊記号
- 価格列の税込/税抜混在
- JAN先頭0の欠落(Excel経由でよく発生)
- 画像URL切れ
- カテゴリ階層の不整合
- バリエーション軸の不整合
Step 6:モール別文字数・形式チェック
references/mall-required-columns.md 参照:
| モール | 商品名上限 |
|---|---|
| 楽天 | 255バイト(全角約127文字) |
| Amazon | 200文字(カテゴリ別細則あり) |
| Yahoo!ショッピング | 150文字 |
| Shopify | 制限緩いが推奨70文字以内 |
Step 7:差分提示と承認確認
修正候補を「現状値→修正後・件数・置換ルール・例外候補」の表で提示。 自動一括置換は絶対に実行せず、ユーザー承認後に実施する指示を明記。
Step 8:エンコーディング変換・出力
ターゲットモールに合わせた最終形式で出力:
| モール | 推奨エンコーディング | 改行コード |
|---|---|---|
| 楽天RMS | Shift_JIS/UTF-8 BOM無し(モジュールによる) | CRLF |
| Amazon | UTF-8 BOM無し | CRLF |
| Yahoo | UTF-8 | CRLF |
| Shopify | UTF-8 BOM無し | LF |
最新の対応エンコーディングは各モール公式ヘルプで確認を促す。
代表例(差分提示)
例:化粧品マスタCSVの正規化
現状サンプル:
| 商品コード | 商品名 | カラー | 容量 |
|---|---|---|---|
| ITEM001 | 化粧水①保湿タイプ | クロ | 100ml |
| item-002 | 美容液 ★人気★ | 黒 | 30ml |
| ITEM003 | 日焼け止め | BLACK | 50cc |
検出された問題:
| 行 | 項目 | 検出内容 | 修正候補 |
|---|---|---|---|
| 1 | 商品名 | 機種依存文字 ① | (1) または削除 |
| 1 | 容量 | 全角 ml | ml |
| 2 | 商品コード | 大文字/小文字+ハイフン混在 | 命名ルール統一推奨(別スキル sku-naming-rule-generator) |
| 2 | 商品名 | 装飾文字 ★、全角スペース | 装飾文字削除、全角スペース→半角 |
| 1,2,3 | カラー | 表記揺れ クロ/黒/BLACK | ブラック に統一(要確認) |
| 3 | 容量 | 単位混在 cc | ml に統一(1cc = 1ml) |
修正後サンプル:
| 商品コード | 商品名 | カラー | 容量 |
|---|---|---|---|
| ITEM001 | 化粧水 (1) 保湿タイプ | ブラック | 100ml |
| ITEM002 | 美容液 人気 | ブラック | 30ml |
| ITEM003 | 日焼け止め | ブラック | 50ml |
詳細な差分提示パターンは references/examples.md 参照。
出力フォーマット
# 商品マスタクレンジング結果
## 1. ファイル基本情報
- ファイル名:
- 行数(ヘッダ除く):
- エンコーディング検出:(UTF-8 BOM有無/Shift_JIS/混在)
- 改行コード検出:(CRLF/LF/混在)
- 対象モール:
## 2. 構造的問題
| 問題 | 件数 | 影響 | 修正案 |
|---|---:|---|---|
## 3. 文字レベルの問題
| 列 | 問題種別 | 件数 | 該当値(一部抜粋) | 修正案 |
|---|---|---:|---|---|
## 4. 表記揺れ
| 列 | 統一前 | 統一後候補 | 件数 | 例外候補 |
|---|---|---|---:|---|
## 5. データ問題(空欄・重複・形式違反)
| 列 | 問題 | 件数 | 該当行例 | 修正案 |
|---|---|---:|---|---|
## 6. モール別形式チェック
| モール | チェック項目 | NG件数 | 修正案 |
|---|---|---:|---|
## 7. 推奨される修正手順
1. バックアップ作成
2. ステップA:エンコーディング統一
3. ステップB:機種依存文字・絵文字の置換
4. ステップC:表記揺れの統一(例外確認後)
5. ステップD:モール別形式チェック
6. ステップE:差分検証
## 8. 最終確認チェックリスト
- [ ] バックアップを作成した
- [ ] 表記揺れ統一の例外候補を全件確認した
- [ ] エンコーディング・改行コードをターゲットモールに合わせた
- [ ] テストアップロードで構造エラーが出ないことを確認する手順を示した
品質ゲート
- 修正は「現状値→修正後・件数・置換ルール・例外候補」の表で必ず差分提示した
- 自動一括置換ではなくユーザー承認フローを明記した
- エンコーディング・改行コードをターゲットモール仕様に合わせて指定した
- 機種依存文字・絵文字・モール禁止文字の検出を漏らさなかった
- 表記揺れ統一で「厳密に別の値(キャメル/サックス/クリムゾン等)」を保持する例外候補を提示した
- JAN先頭0欠落チェック(Excel経由)を含めた
- バックアップ作成を必ず促した
エッジケース
- 「キャメル」「サックス」を一律ブラウン/ブルーに置換 → 厳密には別色。ブランド方針を確認。例外候補リストに必ず入れる。
- 人名・地名の旧字体(髙﨑德等) → 顧客名・店舗名は旧字体保持が必要な場合あり。商品マスタ本文のみ新字体に。
- Excel経由でJAN先頭0が落ちる → CSVをテキストエディタで開いて確認するか、Excel側で列を文字列形式に。
- 税込/税抜の混在 → 列名で明示(
price_tax_in/price_tax_out)して分離。0円・マイナス価格はエラー扱い。 - バリエーション項目の階層が深い → モールにより最大階層数が異なる(Shopifyは3軸まで等)。事前確認。
注意事項
- 表記揺れ統一は元データの意図を破壊する可能性があるため、必ずバックアップ取得+差分確認を促す。
- モール仕様(必須列・文字数・エンコーディング)は変更されるため、最新の公式ヘルプで確認すること。
- 機種依存文字をどう代替するかはブランド・カテゴリで判断(伝統工芸品など漢字色名を残すケースあり)。
- 「No.1」「最安」「日本一」等の最上級表現は景表法の根拠5項目(主体・期間・対象・方法・出典)必須。マスタクレンジングとは別に表現チェック(別スキル
yakki-keihyo-expression-check)推奨。
references/ 一覧
references/normalization-rules.md— カラー/サイズ/素材/単位の統一ルールreferences/mall-required-columns.md— モール別 必須列・文字数制限references/encoding-notes.md— エンコーディング・改行コード変換手順references/forbidden-chars.md— 機種依存文字・絵文字・モール禁止文字references/examples.md— 差分提示パターン例
参考公式情報源
- 楽天市場 RMS 商品登録ヘルプ
- Amazon Seller Central(フラットファイル仕様)
- Yahoo!ショッピング ストア出店者向けマニュアル
- Shopify Help Center
- ネクストエンジン ヘルプセンター
ライセンス: MIT
詳細情報
- 作者
- 株式会社ALSEL
- ライセンス
- MIT
- 最終更新
- 2026/5/13