name: codex-skill-review
| 場所 | 役割 | 同期方法 |
|---|---|---|
~/.openclaw/skills/ | 正本(実体を置く) | — |
.claude/skills/ (リポジトリ内) | Claude Code 用 | symlink → openclaw |
~/.agents/skills/ | Codex CLI 用 | symlink → openclaw |
~/.openclaw/skills/ の実体を編集.claude/skills/ に実体ファイルがあったら symlink に置き換える.git/index.lock の作成が禁止されるため git commit は Codex 内ではできないCodex に渡す依頼文を /tmp/codex-review-*.md に書く。以下を含める:
コンテキストには 「古くて間違ってるものは大胆に削除」 の方針を明記する。 曖昧な「非推奨」より、Do Not Use セクションや実体削除のほうが誤解を防ぐ。
cd /path/to/repo && codex exec --full-auto "$(cat /tmp/codex-review-*.md)
上記を踏まえて以下を実行してください:
1. [具体的な修正指示]
2. [具体的な修正指示]
3. 変更内容をまとめてサマリーを出力(commit はしない)
完了したら、変更したファイルと内容のサマリーを出力してください。"
実行パラメータ:
pty: true(Codex は TTY 必須)background: true(長時間になる場合)timeout: 300(5分目安)workdir: 対象リポジトリのルートCodex 完了後:
git diff --stat で変更ファイルを確認git diff <file> で内容確認# サムネイル関連の変更だけ、など対象を絞ってコミット
git add <対象ファイル>
git commit -m "<適切なコミットメッセージ>"
git push origin main
余計な変更(Codex が触った無関係ファイル)は git checkout -- <file> で戻す。
リポジトリの .claude/skills/ に実体ファイルが残っていないか確認:
find /path/to/repo/.claude/skills/ -type f -name "*.md" ! -type l
実体があれば:
rm .claude/skills/[file].md
ln -s ~/.openclaw/skills/[skill-name]/SKILL.md .claude/skills/[file].md
git add .claude/skills/[file].md
git commit -m "fix: .claude/skills/[file].md → symlink to openclaw canonical"
Slack に以下を含めて報告:
.claude/skills/ に実体ファイルが残っていないか確認した「正しい方法」を記述したファイルが複数箇所に散在し、エージェントがどれを信じるか迷った:
| ファイル | 書いてあったこと | 実際の正解 |
|---|---|---|
~/.openclaw/skills/thumbnail-generator/SKILL.md | Pollinations.ai 直叩き | 部分的に正しい(背景生成は使う) |
.claude/skills/thumbnail-generation.md | SVGキャラクター + Sharp | ❌ 古い |
scripts/generate-thumbnail.mjs --no-ai | SVG gradient フォールバック | ❌ 古い |
.git/index.lock の作成が禁止されているため commit できない。コンテキストドキュメントに「commit はしない」を明記し、commit は呼び出し側(tifa 等)が行うことgit diff --stat で変更ファイル一覧を確認し、対象ファイルだけ git add する.claude/skills/ に実体ファイルを残す: 正本は ~/.openclaw/skills/ にある。.claude/skills/ には symlink を置くのがルール。実体が残っていると二重管理になり、どちらが正しいか混乱する