HANDOFF v1.3: Lightroom Classic 環境設定の自動実装¶
Chat Claude → Code Claude
作成日:2026-05-25
前のHANDOFF:HANDOFF_lightroom_preset_v1.2_2026-05-25.md(v1.2実装・完了)
プロジェクト:写真集『MARKET / Plus-Sum』(仮)
1. 背景¶
Plus-Sum v1 プリセット集(9ファイル + Lens Corrections + お気に入り)は v1.0 + v1.2 で確定済み。本HANDOFFは Lightroom Classic アプリ全体の運用環境を整備するタスク。
工藤拓真が出先のためモニター情報未取得 → Soft Proofing 関連は本HANDOFFから除外。
2. ゴール¶
- Preferences 設定の自動化(XMP自動書込・Cache拡張・ヒストグラム警告)
- メタデータプリセット「Plus-Sum_Metadata」生成
- 書き出しプリセット2種(写真集印刷用・SNS共有用)生成
- Catalog DB へキーワード追加(MARKET / Plus-Sum候補 / シーン別 / 機材別)
- スマートコレクション「MARKET_Plus-Sum_候補_2026」をCatalog DBに作成
- レーティング運用ルールを README に追記
- Catalog バックアップ頻度を「Once a week」に設定
- 完了レポートを
~/working/_claude_workspace_global/reports/MARKET_lightroom_environment_setup_2026-05-25.mdに保存
3. 前提条件・制約¶
3.1 必須:Lightroom Classic 完全終了¶
Catalog DB(lrcat)と plist がロックされるため、Lightroom Classic は起動していないこと。Code Claude は起動中なら作業中止して工藤さんに通知。
3.2 バックアップ最優先¶
~/working/_claude_workspace_global/backups/lr-environment-2026-05-25/ に以下を退避:
~/Library/Preferences/com.adobe.LightroomClassicCC7.plist(Preferences)- 主要な lrcat ファイル全体(Lightroom Catalog-v13-3.lrcat の最新版)
- 既存のメタデータプリセット全体(
~/Library/Application Support/Adobe/Lightroom/Metadata Presets/) - 既存の書き出しプリセット全体(
~/Library/Application Support/Adobe/Lightroom/Export Presets/User Presets/)
バックアップ完了確認後にのみ次フェーズへ進む。
3.3 既存物との衝突回避¶
工藤さんは既存のメタデータプリセット・書き出しプリセット・キーワードリストを持っている可能性が高い。
- 名前衝突:「Plus-Sum_」プレフィックスで新規作成、既存と被らないように
- 既存削除禁止:既存プリセット・キーワード・コレクションは一切削除しない
- 既存スキャン:既存物の一覧を完了レポートに記載
4. 実行手順¶
Phase 1:環境調査・バックアップ¶
# Lightroom 起動チェック
pgrep -fl "Lightroom Classic" && echo "起動中:作業中止" && exit 1
# バックアップディレクトリ作成
mkdir -p ~/working/_claude_workspace_global/backups/lr-environment-2026-05-25
# 主要ファイルをバックアップ
cp -p ~/Library/Preferences/com.adobe.LightroomClassicCC7.plist \
~/working/_claude_workspace_global/backups/lr-environment-2026-05-25/
# Catalog ファイルの場所を特定(環境依存)
find ~/Pictures -name "*.lrcat" -type f 2>/dev/null | head -5
# 最新Catalogをバックアップ(容量大きいので別ディレクトリにシンボリックリンクでも可)
LATEST_LRCAT=$(find ~/Pictures -name "*.lrcat" -type f -exec stat -f "%m %N" {} \; 2>/dev/null | sort -rn | head -1 | cut -d' ' -f2-)
cp -p "$LATEST_LRCAT" ~/working/_claude_workspace_global/backups/lr-environment-2026-05-25/
# 既存プリセットフォルダもバックアップ(軽量)
cp -rp ~/Library/Application\ Support/Adobe/Lightroom/Metadata\ Presets \
~/working/_claude_workspace_global/backups/lr-environment-2026-05-25/Metadata_Presets_backup 2>/dev/null
cp -rp ~/Library/Application\ Support/Adobe/Lightroom/Export\ Presets \
~/working/_claude_workspace_global/backups/lr-environment-2026-05-25/Export_Presets_backup 2>/dev/null
Phase 2:Preferences 設定(plist 編集)¶
com.adobe.LightroomClassicCC7.plist を defaults コマンドで編集:
# Camera Raw Cache を 100GB に設定
defaults write com.adobe.LightroomClassicCC7 \
"AgPrefs.maximumDevelopMRUCacheSize" -int 107374182400
# ヒストグラム警告を両方ON
defaults write com.adobe.LightroomClassicCC7 \
"AgDevelopHistogram.showHighlightClippingIndicator" -bool true
defaults write com.adobe.LightroomClassicCC7 \
"AgDevelopHistogram.showShadowClippingIndicator" -bool true
# Catalog バックアップ頻度を「Once a week」に
defaults write com.adobe.LightroomClassicCC7 \
"AgPrefs.backupCatalogFrequency" -string "weekly"
注意:Adobe の plist キー名は バージョンによって変動する可能性。Code Claude は事前に既存plistを defaults read で確認してから書き込み。実際のキー名が違う場合は、ログに記録してスキップ。
Phase 3:Catalog Settings(XMP自動書き込み)¶
これは Catalog 内部の SQLite で管理される設定。
Lightroom Classic の Catalog Settings の「Automatically write changes into XMP」は、Adobe_namedIdentityPlate 系のテーブルではなく、SystemSetting系のテーブルに格納される。
import sqlite3
import shutil
# Catalog バックアップ
catalog_path = "/Users/kudotakuma/Pictures/Lightroom/Lightroom Catalog-v13-3.lrcat" # 要確認
backup_path = f"{catalog_path}.backup-2026-05-25"
shutil.copy2(catalog_path, backup_path)
# DB接続
conn = sqlite3.connect(catalog_path)
cur = conn.cursor()
# AgPrefs テーブルから現状確認
cur.execute("SELECT value FROM AgPrefs WHERE id = 'Adobe.lightroom.catalog.autoXmpUpdate'")
current = cur.fetchone()
print(f"現状: {current}")
# 自動XMP書き込みをON(値の正確な形式は調査が必要)
# Lightroom のスキーマは複雑なので、安全のため Code Claude は実装前に
# Catalog DB のスキーマを調査してから書き込む
conn.close()
重要:Catalog DB の正確なスキーマは Lightroom バージョンによって変動。Code Claude は 書き込み前に該当テーブル・カラムの存在を確認し、不明な場合は README に手動手順を記載してスキップする。
Phase 4:メタデータプリセット作成¶
~/Library/Application Support/Adobe/Lightroom/Metadata Presets/ に以下のファイルを作成:
ファイル名:Plus-Sum_Metadata.lrtemplate
s = {
id = "PLUS-SUM-METADATA-2026",
internalName = "Plus-Sum_Metadata",
title = "Plus-Sum_Metadata",
type = "MetadataPreset",
value = {
creator = "工藤拓真 / Takuma Kudo",
creatorJobTitle = "Photographer",
creatorWebsite = "ichiba.market",
copyright = "© 2026 Takuma Kudo. All rights reserved.",
copyrightState = "copyrighted",
rightsUsageTerms = "All rights reserved. No reproduction without written permission.",
},
version = 0,
}
注意:実際の .lrtemplate フォーマットは Lua の Lightroom 内部API依存。Code Claude は既存のメタデータプリセットファイル(あれば)を雛形として参照することを推奨。
Phase 5:書き出しプリセット作成¶
~/Library/Application Support/Adobe/Lightroom/Export Presets/User Presets/ に以下を作成:
5.1 Plus-Sum_写真集印刷用.lrtemplate¶
s = {
id = "PLUS-SUM-EXPORT-PRINT-2026",
internalName = "Plus-Sum_写真集印刷用",
title = "Plus-Sum_写真集印刷用",
type = "ExportPreset",
value = {
LR_format = "TIFF",
LR_export_bitDepth = 16,
LR_export_colorSpace = "AdobeRGB",
LR_size_resolution = 350,
LR_size_resolutionUnits = "inch",
LR_export_useSubfolder = false,
LR_outputSharpeningMedia = "matte",
LR_outputSharpeningLevel = 2, -- Standard
LR_metadata_keywordOptions = "lightroomHierarchical",
LR_includeFaceTagsAsKeywords = false,
LR_metadata_writeHierarchicalKeywords = false,
LR_minimizeEmbeddedMetadata = false,
},
version = 0,
}
5.2 Plus-Sum_SNS共有用.lrtemplate¶
s = {
id = "PLUS-SUM-EXPORT-SNS-2026",
internalName = "Plus-Sum_SNS共有用",
title = "Plus-Sum_SNS共有用",
type = "ExportPreset",
value = {
LR_format = "JPEG",
LR_jpeg_quality = 0.85,
LR_export_colorSpace = "sRGB",
LR_size_resize = true,
LR_size_maxDimension = 2048,
LR_size_resolution = 144,
LR_size_resolutionUnits = "inch",
LR_outputSharpeningMedia = "screen",
LR_outputSharpeningLevel = 2, -- Standard
LR_minimizeEmbeddedMetadata = true,
LR_removeLocationMetadata = true,
LR_metadata_keywordOptions = "lightroom",
},
version = 0,
}
注意:lrtemplate フォーマットの正確な仕様は Lightroom バージョン依存。Code Claude は既存の書き出しプリセットファイルを雛形として読み込み、上記の値を上書きする方が安全。
Phase 6:Catalog DB へキーワード追加¶
Catalog DB の AgLibraryKeyword テーブルに以下を SQL で挿入:
# Lightroom 起動中チェック後、Catalog DB に接続
conn = sqlite3.connect(catalog_path)
cur = conn.cursor()
# 既存キーワード確認
cur.execute("SELECT id_local, name, parent FROM AgLibraryKeyword WHERE name IN ('MARKET', 'Plus-Sum候補', 'Plus-Sum-Scene', 'Plus-Sum-Camera')")
existing = cur.fetchall()
print(f"既存キーワード: {existing}")
# AgLibraryKeyword のスキーマ確認
cur.execute("PRAGMA table_info(AgLibraryKeyword)")
columns = cur.fetchall()
print(f"AgLibraryKeyword スキーマ: {columns}")
追加すべきキーワードのツリー構造:
MARKET(親)
├── Plus-Sum候補(子)
├── Plus-Sum確定(子)
└── ボツ(子)
Plus-Sum-Scene(親)
├── 朝コーヒー(子)
├── 昼カフェ街中(子)
├── 市場(子)
├── 夜机上(子)
└── 濃密モード(子)
Plus-Sum-Camera(親)
├── M10-R_APO35(子)
├── M10-R_APO50(子)
├── M10-R_Nokton40(子)
├── M10-R_Noctilux50(子)
├── Q3-43(子)
├── GR4(子)
└── α7V(子)
注意:AgLibraryKeyword のスキーマには id_local(自動採番)/ name / parent(親キーワードのid_local)/ genealogy(ツリー構造の文字列)/ keywordType("keyword")等が含まれる。挿入時はトランザクション内で実行。
Phase 7:スマートコレクション作成¶
Catalog DB の AgLibraryCollection テーブルに「MARKET_Plus-Sum_候補_2026」を追加:
# AgLibraryCollection のスキーマ確認
cur.execute("PRAGMA table_info(AgLibraryCollection)")
print(cur.fetchall())
# AgLibrarySmartCollection 関連テーブルの確認
cur.execute("SELECT name FROM sqlite_master WHERE type='table' AND name LIKE '%Collection%'")
print(cur.fetchall())
スマートコレクションの条件:
名前: MARKET_Plus-Sum_候補_2026
条件:
- Rating: ≥ 3
- Keywords contains: Plus-Sum候補
- Capture Date: in range 2026/01/01 - 2026/12/31
スマートコレクションの定義は Catalog DB の AgLibraryCollection.smartObject カラム(XML形式)に格納される。XMLの正確なスキーマは要調査。
フォールバック:もし XML スキーマが複雑すぎて自動化困難なら、Lightroom 起動後の手動手順を README に詳細記載してスキップ。
Phase 8:レーティング運用ルールを README に追記¶
Plus-Sum v1 - 02シーン別ベース/README_運用ガイド.md に以下を追記:
## 9. レーティング・フラグ運用ルール(v1.3 追加)
### 星評価(Rating)の意味づけ
| 星 | 意味 | スマートコレクション対象 |
|---|---|---|
| 0(未評価) | デフォルト | × |
| ★1 | 残す価値あり(ボツ予備) | × |
| ★2 | 保留 | × |
| ★3 | **Plus-Sum候補** | ✅ |
| ★4 | 強い候補(写真集確定候補) | ✅ |
| ★5 | 確定(写真集ダミーに必ず入る) | ✅ |
### フラグ
- **Pick(白フラグ)**:今日のセレクト対象
- **Reject(X)**:廃棄候補
### キーワード運用
- 撮影シーン:Plus-Sum-Scene の子キーワードを必ず1つ付ける
- 使用機材:Plus-Sum-Camera の子キーワードを必ず1つ付ける
- 写真集候補化:MARKET > Plus-Sum候補 のキーワードを付ける
### スマートコレクション「MARKET_Plus-Sum_候補_2026」
- 自動条件:★3以上 AND Plus-Sum候補キーワード AND 2026年撮影
- これに入った写真が写真集ダミー編集の対象
### メタデータプリセット「Plus-Sum_Metadata」
- Import 時に自動適用推奨(著作権・連絡先情報)
### 書き出しプリセット
- **Plus-Sum_写真集印刷用**:TIFF 16-bit / AdobeRGB / 350dpi / Matte Paper Sharpening
- **Plus-Sum_SNS共有用**:JPEG 85% / sRGB / Long Edge 2048px / Screen Sharpening
Phase 9:完了レポート生成¶
~/working/_claude_workspace_global/reports/MARKET_lightroom_environment_setup_2026-05-25.md に:
# Plus-Sum Lightroom 環境設定完了レポート
## 実装結果サマリー
- バックアップ:✅
- Preferences 設定:✅ or ⚠️ (詳細)
- メタデータプリセット:✅ or ⚠️
- 書き出しプリセット:✅ or ⚠️
- Catalog DB キーワード追加:✅ or ⚠️
- スマートコレクション:✅ or ⚠️
- README v9 追記:✅
## 各 Phase の結果
### Phase 2: Preferences 設定
- Camera Raw Cache: 100GB に設定 ✅ or ⚠️(理由)
- ヒストグラム警告(白飛び・黒つぶれ): 両方ON ✅ or ⚠️
- Catalog バックアップ頻度: Weekly ✅ or ⚠️
### Phase 3: XMP 自動書き込み
- Catalog Settings での AutoXMP: ✅ or ⚠️
(成功した場合)自動的に XMP に書き込まれるように設定済み
(失敗した場合)手動手順を README §10 に記載
### Phase 4: メタデータプリセット
- Plus-Sum_Metadata: ✅ or ⚠️
- ファイルパス: ~/Library/Application Support/Adobe/Lightroom/Metadata Presets/Plus-Sum_Metadata.lrtemplate
### Phase 5: 書き出しプリセット
- Plus-Sum_写真集印刷用: ✅ or ⚠️
- Plus-Sum_SNS共有用: ✅ or ⚠️
### Phase 6: キーワード追加
- 親キーワード: MARKET / Plus-Sum-Scene / Plus-Sum-Camera を追加
- 子キーワード: 14個 を追加
- 既存キーワードとの衝突: なし or(衝突ありの場合詳細)
### Phase 7: スマートコレクション
- MARKET_Plus-Sum_候補_2026: ✅ or ⚠️
## Lightroom 起動時の確認チェックリスト
1. Library モジュール → Collections パネル → "MARKET_Plus-Sum_候補_2026" が存在
2. Library → Keyword List → "MARKET" / "Plus-Sum-Scene" / "Plus-Sum-Camera" のツリーが存在
3. Library → Metadata パネル → "Preset" ドロップダウンに "Plus-Sum_Metadata" が表示
4. File → Export → "User Presets" に "Plus-Sum_写真集印刷用" / "Plus-Sum_SNS共有用" が表示
5. Develop → Presets → "Favorites" に4プリセットが★マーク付き表示
## 工藤さんが手動でやるべき残りの作業(極小)
1. Develop パネルで Plus-Sum v1 フォルダ2つが表示されているか確認(1分)
2. 環境設定 → Presets → "Show Favorites" のチェック確認(30秒)
## 設定がスキップされた項目(フォールバック)
(自動化に失敗した項目がある場合、ここに詳細手動手順を記載)
5. エラー対応¶
Lightroom 起動中¶
作業中止。工藤さんに通知。
plist キー名がバージョン依存¶
defaults read で既存キーを確認してから書き込み。不明なキーはスキップして README に手動手順を記載。
Catalog DB スキーマ不明¶
書き込み前に PRAGMA table_info で構造確認。トランザクション内で実行、失敗時はロールバック。
lrtemplate フォーマット不明¶
既存ファイルがあれば雛形として読み込み、値だけ上書き。既存ファイルがない場合は最小限のフォーマットで作成し、README にLightroom 起動時の動作確認手順を記載。
既存プリセット名衝突¶
「Plus-Sum_」プレフィックスで衝突回避。それでも衝突したら接尾辞 "_v2" を追加。
6. 完了基準¶
以下が全て✅または ⚠️(理由明記)であれば完了:
- Lightroom Classic 完全終了確認
- バックアップ完了(plist + Catalog + プリセットフォルダ)
- Preferences 設定(Cache / ヒストグラム / Backup頻度)
- XMP 自動書き込み(または手動手順記載)
- メタデータプリセット作成
- 書き出しプリセット2種作成
- キーワード追加(3親 + 14子 = 17個)
- スマートコレクション作成(または手動手順記載)
- README v9 追記
- 完了レポート保存
末尾署名:Chat Claude(2026-05-25)作成。kudo-cowork-code-handoff-protocol v1.16 / kudo-shared-storage-protocol v1.3 §5.5 集中原則準拠。Lightroom Classic 環境設定の自動実装スコープ。Soft Proofing 関連は工藤さん帰宅後の手動対応とし、本HANDOFFのスコープ外。