--- name: line-sticker-submit description: 完成済みLINEスタンプZIPをCodex in ChromeでLINE Creators Marketへ高速申請する。事前にローカル検証と入力値整理を済ませ、Chromeではフォーム入力、ZIP一括アップロード、軽量確認、審査リクエストだけを行い、操作時間とトークン消費を抑える。画像生成やZIP作成は対象外。 --- # LINE Sticker Submit 完成済みZIPをCreators Marketへ申請する高速版。Codex in Chrome固定。ブラウザ上の画面取得と判断を最小化する。 ## Context Recovery 作業中にコンテキスト圧縮、会話の再開、または長時間中断が発生した場合は、続行前に必ずこの `SKILL.md` を再読み込みし、現在の作業状態をスキル手順と照合する。 再読み込み後は、少なくとも以下を確認してから操作を再開する。 - 使用するブラウザ自動化手段 - 対象ZIPのパスと検証結果 - 現在のLINE Creators Market上の画面・ステータス - 未完了の必須手順 - 審査リクエスト前の注意事項 ## 対象外 - 画像生成、分割、ZIP作成。必要なら `line-sticker-generate` を使う。 - 素材作成だけ、プレビューだけの依頼。 - ログインID、パスワード、認証コードの聞き取りや入力代行。 ## 実行フロー 1. ZIPをローカル検証する。 - ZIP直下に `main.png`、`tab.png`、`01.png` から `32.png` があること。 - 原則 `scripts/validate_line_sticker_package.py ` を実行する。リポジトリ側に同名スクリプトがあればそれを使う。 - PNG、RGBA、偶数ピクセル、LINEサイズ上限、透過、端ゴミ、文字欠け、番号混入、隣接セル片を確認する。1pxから数pxの混入でもアップロードしない。 2. Chrome開始前に入力値を確定する。 - `metadata.txt` があれば、英語/日本語のタイトルと説明、セリフ一覧、検証結果を読む。 - コピーライト、AI使用有無、写真使用有無、公開範囲、価格、販売開始設定を短く整理する。 - Chrome中は原則 `metadata.txt` や画像一覧を読み直さない。エラー調査時だけ再確認する。 3. Codex in Chromeで新規アイテムを作る。 - LINE Creators Marketへ移動し、ログインが必要ならユーザーにChrome上で完了してもらう。 - 既存アイテムや下書きは流用しない。同一ページでは取得済み情報で入力と選択をまとめる。 4. 申請設定を入力する。 - タイトル、説明、タグ、コピーライトに本名、住所、学校名、会社名、個人を特定できるニックネーム、ペット名を入れない。 - コピーライトは `(c) Family Sticker Project`、`(c) Private Sticker Works` など匿名性のある表記。 - AI生成/編集を使った場合は `AIを使用しています`。実写写真ピクセルを使っていない似顔絵は `スタンプに写真を使用していません`。 - 家族、子ども、ペットなど個人利用寄りは基本 `非公開`。価格は最安。販売開始設定は `自動で販売を開始`。 5. ZIPをアップロードして軽量確認する。 - スタンプ個数を32個にしてからZIP一括アップロードする。 - 登録成功はDOMで確認し、見た目は軽量プレビューで `main`、`tab`、32個の欠落、順番ズレ、真っ白、切れ、明らかな崩れだけ確認する。 6. 問題がなければ審査リクエストする。 - 対象アイテムとステータスを確認し、同意チェックを入れて確定する。 - アイテムIDと最終ステータスを記録する。 ## 固定操作 ### 保存 - 基本情報保存では `[data-test="btn-save"]` が0pxの非表示submitになることがある。まず表示中の `保存` ラベル/ボタン本体を押す。 - 確認ダイアログが出たら表示中の `[data-test="dialog-btn-ok"]` を押す。 - 3秒ほど待っても詳細ページへ移動しない場合は、画面下部の表示中 `保存` ボタン中心を押し直す。 ### 32個へ変更 - 画像ページ `/sticker/{item_id}/image` で `select[data-test="select-image-amount"]` を `32` にする。 - 「スタンプの個数を変更します。よろしいですか?」が出たら、その表示中ダイアログ内の `[data-test="dialog-btn-ok"]` を押す。 - `[data-test="dialog-btn-ok"]` と `[data-test="dialog-btn-cancel"]` は非表示要素もあるため、必ず表示中を選ぶ。 ### ZIP一括アップロード - `filechooser` の待機Promiseをクリック前に作り、表示中の `ZIPファイル アップロード` ラベル(補助: `label.mdBtnLabel`)をクリックし、`setFiles` にZIPの絶対パスを渡す。 - Finder/ネイティブダイアログは操作しない。`label.mdBtnLabel input[type="file"]` も直接クリックしない。 - 個別PNG入力は復旧時だけ使う。 - アップロード後は `main`、`tab`、`01` から `32` の各キーごとに、画像URL付き `input[type="image"]` または削除ボタンが少なくとも1つあることを確認する。枠名だけで判定しない。 ### 審査リクエスト - 詳細ページでステータスが `編集中`、表示中の `リクエスト` が有効なら押す。 - 確認モーダルで表示中の `同意します` ラベルを押し、表示中の `OK` を押す。 - `OK` は `button.cm-confirm-button-primary` 優先。`キャンセル` と並ぶため、表示テキストが `OK` のものだけ押す。 - 確定後は `審査はリクエスト済みです` とステータス `審査待ち` を確認する。 ## 高速化ルール - 画面状態取得は、ページ表示直後、保存後、アップロード後、エラー時、想定外表示時だけ。 - 入力欄1つごとに画面状態を再取得しない。 - ログイン画面は操作しない。ユーザーのログイン完了後に再開する。 - ファイルアップロード失敗時は、Codex Chrome Extensionのファイルアクセス許可を確認するよう案内する。 - 申請完了まで依頼済みなら、審査リクエスト直前の追加確認は挟まない。 ## 停止条件 - ZIP構成、画像形式、サイズ、透過、文字、端ゴミに問題がある。 - LINE側プレビューで欠落、順番ズレ、真っ白、切れ、明らかな異常がある。 - 権利、ライセンス、公開設定を判断できない。 - ログイン情報や認証情報の入力が必要。 停止した場合は申請せず、理由と次に必要な作業を簡潔に伝える。 ## 例外対応 - タイトル重複時は、エラーが出ている言語のタイトルに匿名性のある短い識別語や日付由来の数字を追加する。 - `送金先が登録されていません` は審査リクエストを止めない場合がある。残っていれば最終報告に書く。 - 申請後に画像異常を見つけた場合は、`編集に戻す` で取り下げ、修正版ZIPを再アップロードして再リクエストする。 ## 最終報告 - 申請完了の有無 - アイテムID - 最終的に使った英語タイトル/日本語タイトル - LINE側で `main`、`tab`、32個のスタンプサムネイルを確認したこと - 残っている警告、特に送金先登録の警告