コンテンツ制作・デザイン納品・素材ガバナンスを規模化するチーム向けに、OpenClaw とリモート Mac上で PNG 品質検証(透明ピクセル・ファイル体積・寸法・命名)をバッチ検証として回す手順をまとめます。指標定義、タスク編成、スクリプトの考え方、不合格の差し戻し、FAQまで一気通貫です。
① 品質検証指標の定義(ファイルサイズ/透明度/寸法)
「目視」から脱却するには、数値閾値を先に合意します。PNG 品質検証では最低限、(1) バイト数上限、(2) アルファの要否と透過の期待、(3) ピクセル寸法または長辺、(4) ファイル名パターン、の 4 点を表にします。
| 指標 | 例(しきい値) | 備考 |
|---|---|---|
| ファイル体積 | UI PNG ≤512KB、ヒーロー ≤2.5MB | 用途別に上限を分け、超過は圧縮または再書き出し |
| 透明度 | アイコンはアルファ必須/OG は不透明のみ | 半透明ピクセル比率の上限を決めるとブレが減る |
| 寸法 | 長辺 2048px 以下、@2x は幅の偶数 | sips または identify -format で取得 |
| 命名 | ^[a-z0-9]+_[0-9]+x[0-9]+\.png$ |
連番・解像度サフィックスをルール化 |
② OpenClaw タスクオーケストレーション手順
OpenClawは「いつ・何を・どのツールで実行するか」を束ねる層として使い、ピクセル走査や閾値比較はシェル/Python に寄せると再現性が高いです。
- フォルダ約束:
inbox(投入)→staging(検証中)→out(合格)/failed(要修正)。 - 監視:
fswatchで inbox を見てデバウンス後にバッチ ID を発行、またはlaunchdで 5 分毎にキューを消化。 - OpenClaw スキル:バッチ ID・パス・manifest パスを受け取り、検証コマンドを順実行し、ログを
logs/qa_*.jsonlに追記。 - ゲート:終了コード 0 のみ
outへ移動。失敗時は理由コード(SIZE/ALPHA/DIM/NAME)を CSV に 1 行追加。
リモート Mac ではユーザーと絶対パスを固定し、同じ Brewfile/ImageMagick 版でチーム間の差分を潰します。
③ スクリプトテンプレートとパラメータ例
以下は「透明チャネルの有無」と「バイト数」「寸法」を一括で見る最小テンプレです。閾値は環境変数で外だしします。
# 例:閾値(バイト・長辺)
export MAX_BYTES=524288
export MAX_EDGE=2048
for f in staging/*.png; do
bytes=$(stat -f%z "$f")
wh=$(sips -g pixelWidth -g pixelHeight "$f" 2>/dev/null)
alpha=$(magick identify -format "%[channels]" "$f" 2>/dev/null | grep -c alpha || true)
# 擬似:alpha==0 なら不合格、bytes>MAX も不合格 など
done
パラメータ例:MAX_BYTES=512000(512KB)、REQUIRE_ALPHA=1(アイコンセット)、ALLOW_SEMI_TRANSPARENT_RATIO=0.02(半透明ピクセル 2% まで)。比率検査は Pillow でアルファヒストグラムを取ると実装しやすいです。
④ 不合格サンプルの差し戻しと再実行
failed には PNG 本体に加え、report.csv(ファイル名, 理由コード, 実測値)を必ず同梱します。デザイナー修正後は同名で inbox に戻し、OpenClaw 側は入力の SHA256 をログに残して冪等に再検証します。再実行は「前回と同じバッチ ID で上書き禁止」「新バッチ ID で履歴を分ける」のどちらかを運用で固定してください。
トラブルシュート:監視が二重発火する場合はデバウンスとロックファイル(.qa.lock)を入れる。Permission denied は staging の所有者と umask を確認。identify が遅い場合はサムネ段階で寸法だけ先に見る 2 段ゲートに分割します。
⑤ FAQ
Q. 透明ピクセル検証は ImageMagick だけで足りますか?
A. アルファの有無とチャネル構成の確認は多くのケースで十分です。透過率や半透明比率まで必要なら Pillow や専用スクリプトを追加し、閾値を manifest に書きます。
Q. OpenClaw とフォルダ監視はどうつなぐ?
A. 監視プロセスはイベント検知まで。実処理は OpenClaw がスキル経由でシェルを起動する形にすると、プロンプトで「今回のバッチ方針」を変えつつコマンドは固定できます。
Q. リモート Mac でパスが変わると壊れませんか?
A. BASE_DIR 環境変数と相対パス運用、ログへの絶対パス記録をセットにしてください。
リモート Mac で OpenClaw 素材 QA を 24h 近く回す
バッチ検証は CPU・ディスク I/O とツールチェインの安定が効きます。専用ノードならローカル PC を占有せず、同じ macOS 上で再現可能な PNG 品質検証パイプラインを維持できます。