Claude Code、Codex、OpenCode でプロンプトとスキルを同期する方法(コピー&ペーストのずれなし)
コンピューターをまたいで再利用する指示のための実践的なワークフロー。唯一の正となる情報源、安全なインストール、プロバイダーがディスク上のファイルを前提とする場合のずれの検出を解説します。
- CLI
- 0.2.17
- プレビュー ref
- a2c45c8
「スキル」や再利用できるプロンプトはよい考えです。
ただ、実際の管理のされ方はそれほどよくありません。
- あるマシンにフォルダーが1つ
- 別のマシンには別のフォルダー
- 少しずつ違うバージョンがたくさん
そしてセッションを始めても、実際にどの指示セットが使われているのかわかりません。
これがずれの問題です。
このガイドは、Claude Code、Codex、OpenCode でプロンプトとスキルを一貫させるワークフローについてです。
要点
- コンピューターをまたいで再現性のある動作が欲しいなら、プロンプトとスキルの唯一の正となる情報源が必要です。
- プロバイダーがディスク上のファイルを前提にしている場合は、インストール/エクスポートの手段も必要です。
- 失敗のパターンは、気づかないうちに起きるずれです(片方のコピーを変えて、もう片方を忘れる)。
- Happier は役立つ選択肢の1つです。ライブラリを正となる情報源として扱い、プロバイダー固有の場所にエクスポート/インストールでき、リンクとダイジェストを追跡するので、黙って上書きせずにずれを検出できます。
課題
再利用できる指示は、一貫していてこそ役に立ちます。
次の状況になると:
- マシンが2台以上、または
- プロバイダーが2つ以上
コピー&ペーストはリスクになります。
よくある方法とトレードオフ
- gist を1つ持っておき、必要なときにコピー&ペーストする: 使えますが、手作業で一貫しません。
- プロンプトの Git リポジトリ: よりましですが、プロバイダー固有の場所へのインストール/エクスポートは別途必要です。
- プロバイダーごとに別フォルダー: 1つのルールをすべてに適用したくなるまでは問題ありません。
Happier を初めて使う場合
Happier を初めて見る方へ。Happier は、Claude Code、Codex、OpenCode などのセッションをコンピューターをまたいで動かすためのオープンソースのコンパニオンアプリ(モバイル/Web/デスクトップ)です。
このガイドに関係するのは、プロンプトとスキルの単一のライブラリと、プロバイダー固有の場所に安全にエクスポート/インストールする方法を提供する点です。
セットアップ:
- スマホから Happier を使う方法
- GitHub: https://github.com/happier-dev/happier
- インストール/ダウンロード: https://github.com/happier-dev/happier#how-it-works
- Discord(コミュニティとサポート): https://discord.gg/W6Pb8KuHfg
動くワークフロー
1) ライブラリを正となる情報源として扱う
考え方の切り替えは次のとおりです。
.claude/skillsや.opencode/skillsをライブラリとして扱わない- それらはエクスポート先として扱う
2) 手早いコンポーザーのショートカットにはテンプレートを使う
「/review」や「/ship-check」のようなショートカットが欲しいなら、保存したプロンプトを挿入するテンプレート(Templates)を使います。
同期が保たれるので、コピー&ペーストよりも優れています。
3) エージェント自身のコマンドとスキルも使う
0.2.16 以降、新しいセッションのコンポーザーで / または $ を入力すると、対応している場合、選んだエージェントがそのコンピューター、プロジェクト、接続済みアカウントですでに提供しているコマンドやスキルが表示されます。ネイティブのスキルを選ぶとエージェント自身のコピーが直接使われるので、Happier のライブラリに重複は追加されません。検出には、そのコンピューターでエージェントとそのログインの準備ができている必要があります。
4) 永続的な動作にはシステムプロンプトの追加を使う
すべてのセッション(またはプロファイル)にルールを適用したいときは、システムプロンプトの追加(System prompt additions、アプリ上の表示は「スタック」)を使います。
こうすれば、「差分のレビューの仕方」を打ち直さずに一貫させられます。
5) プロバイダー固有の場所にエクスポート/インストールする(コピーかシンボリックリンクか)
ここが、多くの人がつまずく実務的な部分です。
ツール(やチーム)によっては、ディスク上の実ファイルを前提にしています。
.claude/skills.opencode/skills.agents/skills.claude/commands
そのため、エクスポートの手段が必要です。
Happier では、プロンプトとスキルをマシン上のエクスポート先に書き出せ、インストール方法を選べます。
- コピー(Copy): エクスポート先に独立したコピーを書き込みます。
- 完全に自己完結したフォルダーが必要なときに向いています。
- トレードオフ: 更新は手作業です。
- Symlink: Happier が管理する実体のコピーを1つ持ち、外部のエクスポート先からそれにリンクします。
- 更新を簡単にしたいときに向いています。
- トレードオフ: シンボリックリンクを嫌う環境があります(または完全に持ち運べるフォルダーが欲しい場合)。
複数のコンピューターでのワークフローでこれが重要なのは、ばらばらなコピーを複数持たずに、同じスキル一式を複数のコンピューターのプロバイダー固有の場所に置けるからです。
6) シークレットとプロバイダーのトークン: スキルファイルに埋め込まない
よくある間違いは、API キーをスキル一式の中に入れることです。
それで動きます。ただし次のことをするまでは:
- スキルを別のマシンにエクスポートする
- リポジトリを共有する
- スキルを issue に貼り付ける
スキルに認証情報が必要なら、スキルはコードとして、認証情報はシークレットとして扱います。
- スキルの内容は汎用的にしておく
- 認証情報は環境変数か保存済みシークレットの仕組みから取得する
- シークレットはプロファイルごと/マシンごとに紐づける
(Happier のプロファイルを使っている場合、CLI のシークレット解決の順序が重要です: 環境変数 → 保存済みシークレットの紐づけ → 対話型のプロンプト。)
7) 黙って上書きしない: ずれを検出する
ここで役立つのは、目立たない安全性です。
- 外部のコピーが変わると、Happier はダイジェストの不一致を検出する
- ファイルを黙って上書きしない
つまり、必要なときは意図的にローカルで編集でき、それでも同期がずれていることはわかります。