install 編では、実際に端末へ載せる
設計から手元の操作へ移る
前回 は、persona-skills-core の Bootstrap CLI が Codex 側と Claude Code 側の登録先の違いを吸収する構造を書きました。skill 本体は 1 repository に書いて、Codex 側と Claude Code 側にはそれぞれの作法で symlink を張る、という整理です。
今回は、その Bootstrap CLI を実際に手元の端末で叩く側の話です。自作の persona-skills-core を git clone してから、Codex の $ メンション候補と Claude Code の / スラッシュ候補に同じ skill が並ぶ状態まで、段階を踏んで確認できるようにしてあります。
いきなり apply せず、まず状態を見るところから始めます。この一手間があると、自分のホームディレクトリを触る作業でも落ち着いて進められます。
同じ skill を両方で呼びたい人へ
1 台 2 エージェントの人向け
前回までを読んで「自分も 1 台の端末で両エージェントに同じ skill を揃えてみたい」と思った人を想定しています。普段から dotfiles や symlink で開発環境を組んでいる中級者にも馴染みやすい構成です。
逆に、1 つのエージェントしか使っていなかったり、既存の skill registry の使い方が体に馴染んでいる人には、わざわざ乗り換える必要性は薄いと思います。自分と同じように「両方で同じ skill を呼びたい」が出てきたときに見るくらいで十分です。
install は status → dry-run → apply で進める
覚えるコマンドは 4 つ
persona-skills-core の Bootstrap CLI は scripts/persona-skills.py 1 本にまとまっていて、サブコマンドを切り替えて使います。Codex と Claude Code の両方をまとめて扱うエントリポイントは 4 つだけ覚えれば十分です。
python3 scripts/persona-skills.py status
python3 scripts/persona-skills.py install --dry-run
python3 scripts/persona-skills.py install --apply
python3 scripts/persona-skills.py uninstall --apply
流れは、status で現状を確認 → install --dry-run で差分を見る → install --apply で本番反映 → 戻したくなったら uninstall --apply、という素直な並びです。まず見る、次に差分を見る、最後に反映する。ここを分けておくと、初回セットアップでも落ち着いて進められます。
dry-run で差分を見る
status は何も書き換えず、現在の登録状態を読み取って表示するだけのコマンドです。manifest や symlink が張られているか、参照 block が global instruction 側に入っているかを確認します。
--dry-run は、何が書き換わるかを先に見るためのものです。本番反映に使うのは --apply の方で、--apply を明示しない限り書き換えない設計にしてあります。新しい端末で初めて叩くときも、いきなり apply せずに差分を見てから進められます。
Codex 側は plugin として登録する
plugin marketplace 側へ登録する
Codex 側は、plugin marketplace 経由で登録します。サブコマンドは Codex 専用のものが別に用意されていて、状態確認と install の --dry-run / --apply 切り替えは同じ構造です。
python3 scripts/persona-skills.py codex-plugin-status
python3 scripts/persona-skills.py install-codex-plugin --dry-run
python3 scripts/persona-skills.py install-codex-plugin --apply
install-codex-plugin --apply を叩くと、persona-skills-core の plugin 用 manifest を Codex 側から見える位置に置き、marketplace entry を登録し、plugin の symlink を張ります。登録が終わったあと、新規セッションで $ を押すと persona-skills:technical-writing のような候補が出るようになります。
予備経路として skills symlink も残す
互換性のために ~/.codex/skills/ 側へ symlink を張る経路も別途あり、必要なら install-codex-skills --apply を叩きます。普段は plugin marketplace 側で揃うので、こちらは「他の skill registry とのつなぎ込みで ~/.codex/skills/ を直接見たい」ようなときの予備経路として見ています。
Claude Code 側は skill directory として登録する
~/.claude/skills へ symlink する
Claude Code 側は、~/.claude/skills/ 配下に skill directory として symlink します。サブコマンド名だけが違って、流れは Codex 側と同じです。
python3 scripts/persona-skills.py claude-skills-status
python3 scripts/persona-skills.py install-claude-skills --dry-run
python3 scripts/persona-skills.py install-claude-skills --apply
install-claude-skills --apply で persona-skills-core/skills/ 配下の各 skill directory が ~/.claude/skills/<skill-name> として symlink されます。すでに同名の directory がある場合は CLI が conflict として検出するので、上書きで既存の中身を消してしまうことは避ける設計にしてあります。
候補表示で確認する
登録が終わったあと、新規セッションで / を押すと /technical-writing のような候補が並びます。Codex 側の $ と Claude Code 側の / で同じ skill を見られる状態です。
最後は実際の候補表示で見るのが一番分かりやすいです。CLI の状態表示が通っていても、セッションを立ち上げ直さないと候補に反映されないことがあります。
まず試すなら
最小手順
ここまで読んで「同じ流れを自分の手元でも試したい」と思った方向けに、最小手順だけ並べておきます。
cd /path/to/persona-skills-core
python3 scripts/persona-skills.py status
python3 scripts/persona-skills.py install-codex-plugin --apply
python3 scripts/persona-skills.py install-claude-skills --apply
これで Codex 側に plugin が登録され、Claude Code 側の ~/.claude/skills/ 配下に skill directory が symlink されます。新規セッションで Codex の $ から開く skill 候補に persona-skills:technical-writing などが出てくれば、Codex 側の登録は完了です。同じく Claude Code の / スラッシュで /technical-writing が出てくれば、Claude Code 側も入っています。
続きはこちら
次の記事では、agent-config-core の deploy.sh と組み合わせる場合や、複数端末で使う場合に気をつける順番を書きます。初回 install の次は、運用中にズレないようにする話です。