Agmsg
Skill thinkyou0714/claude-lab-skills/lab-automation-architecture/skills/agmsg
THINK YOU LAB thinking-OS skills for Claude Code — reusable judgment/design/automation/communication skill packs (tech-agnostic, MIT)
npx -y skills add thinkyou0714/claude-lab-skills --skill agmsgAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Claude Code と Codex (や他の CLI エージェント) を共有 SQLite メールボックスで直接メッセージ連携させ、人間がAI間でコピペを往復する作業を消す。2台のエージェントで実装役・レビュー役を分担する時、片方の出力をもう片方へ手作業で運んでいる時、エージェント間ハンドオフを自動化したい時に使う。upstream は fujibee/agmsg (MIT)。
SKILL.md
8.1 KB, as published. Nobody here has run it
Purpose
Claude Code ↔ Codex のような 2 つの CLI エージェント間で、人間が「片方の出力をコピーして
もう片方の入力欄に貼る」往復作業を消す。両エージェントが同じ team に属し、共有 SQLite
メールボックス (messages テーブル) でメッセージを送受信する。実装は
fujibee/agmsg (MIT) を利用する — この skill はその
導入・運用・落とし穴の判断を担う orchestration skill であり、upstream スクリプトの複製ではない。
Use When
- Claude Code が実装、Codex がレビュー (または難所担当) のような 2 台分担をしていて、 指摘・依頼を手作業で往復させている
- エージェント間の依頼/結果ハンドオフを session をまたいで確実に届けたい
- 「賢い AI を 2 台並べて、その間を一番アホな作業 (コピペ) を人間がやっている」状態を解消したい
- Windows + Git Bash + Codex CLI 環境で agmsg を入れようとして、sqlite3 不在や表示文字化けで詰まった
使わない: 単一エージェントで完結するタスク / リアルタイム双方向音声・ファイル転送 (agmsg はテキストメッセージのみ) / ネットワーク越しの別マシン間連携 (ローカル共有 DB 前提)。
Inputs
- エージェント構成: どの 2 (以上) のエージェントを連携させるか (例: Claude Code=
cc/ Codex=codex) - team 名: メッセージを共有するグループ (例:
lab) - 連携プロジェクト: 両エージェントが共同作業する作業ディレクトリ (配信 hook はここに紐づく)
- 配信モード:
monitor(Claude Code 専用 real-time) /turn(Stop hook、Codex 既定) /off - OS / shell: Windows(Git Bash) か macOS/Linux か (落とし穴が変わる)
Output Contract
- 論点: この環境で agmsg を確実に動かすための最大の障害は何か
- 根拠: そう判断した理由 (sqlite3 不在 / HOME split / hook 互換性 / 表示エスケープ 等)
- セットアップ手順: 依存導入 → install → identity 登録 → 配信モード設定 の順序
- 検証結果: 双方向 round-trip と既読管理が動くことの確認方法
- 含意: 配信モード選択が latency / 二重配信に与える影響
- 改善案 / 代替: hook が効かない環境での fallback (手動 check) と将来の自動化余地
- 判断材料: team 名・identity 名・対象プロジェクトなど人間が決めるべき事項
Review Lens
- 目的妥当性: 本当にコピペ往復が起きているか (単発タスクに過剰投入していないか)
- 範囲の過不足: 連携させるエージェント・プロジェクトの範囲が適切か
- 中長期リスク: グローバル hook 設定を壊していないか / DB の肥大・既読漏れ
- LAB 全体との整合性: 既存の Codex 連携 (codex-hub 等) と衝突していないか
- 非エンジニア理解可能性: 「2台のAIが直接話す」を説明できるか
- 他LLM移植耐性: 設定が特定エージェントに過度依存していないか (gemini 等も join 可能か)
Instructions
- 依存確認:
sqlite3が PATH 上にあるか。無ければ導入 (Windows:scoop install sqlite、 macOS: 標準同梱、Linux:apt install sqlite3)。 - install:
bash <(curl -fsSL https://raw.githubusercontent.com/fujibee/agmsg/main/setup.sh)→~/.agents/skills/agmsg/+/agmsgcommand + Codexwritable_roots追記。 - identity 登録: 各エージェントを team に join。
~/.agents/skills/agmsg/scripts/join.sh <team> <name> <type> "<project>"(type =claude-code/codex/gemini/antigravity)。 - 配信モード:
delivery.sh set monitor claude-code "<project>"(Claude=real-time) とdelivery.sh set turn codex "<project>"(Codex=ターン境界)。これはプロジェクト単位の hook ファイルに書かれ、グローバル設定は触らない。 - 送受信:
send.sh <team> <from> <to> "<msg>"/inbox.sh <team> <agent>(既読化)。 エージェント内では Claude/agmsg、Codex$agmsg。 - 検証: cc→codex と codex→cc の round-trip +
inboxの既読化 + (Codex) Stop hook の JSON 注入を確認する。
Guardrails
- グローバル hook を壊さない: Codex の
~/.codex/hooks.json、Claude の~/.claude/settings.jsonhook chain は触らない。agmsg はプロジェクト単位の.codex/hooks.json/.claude/settings.local.jsonを使う。これらを誤って repo に commit しない (machine-local)。 - HOME 一貫性: Windows では全エージェントを Git Bash 側 (
HOME=/c/Users/...) に統一。WSL 経由が 混ざると~=/home/...で 別 DB になりメッセージが共有されない。 - Windows sqlite 表示文字化け: scoop 等の sqlite3 (≥3.49) は出力中の制御文字をエスケープ表示し
(
char(31)→可視^_) CRLF を出すため、agmsg の$'\x1f'区切りが壊れ表示が文字化けする (配信自体は正常)。tab は raw で通るので表示系 script の区切りをchar(9)+IFS=$'\t\r'に 置換して解決する。upstream--updateで剥がれるので再適用すること。 - Codex 0.130 の turn hook: 環境により Stop hook が発火しないことがある。その場合は手動
$agmsgを使う (Claude 側 monitor は無関係に動く)。 - 無限リトライ・無制限の DB 成長を放置しない。古いメッセージは定期的に整理する。
LAB Cross-Check
| 観点 | 状態 | 備考 |
|---|---|---|
| 自動化フロー | — | 既存の Codex 連携 (codex-hub / auto-delegate) と役割が衝突しないか |
| データ / 認証 / ログ | — | DB はローカルのみ・秘匿情報をメッセージに載せないか |
| 実装 / 運用フロー | — | install / delivery 設定が冪等に再現できるか |
| 非エンジニア理解可能性 | — | 「2台のAIが直接メッセージを送り合う」を説明できるか |
| 会員共有 / 再利用耐性 | — | セットアップ手順が他プロジェクト・他マシンに転用できるか |
| 他LLM移植耐性 | — | gemini / antigravity 等も同じ枠組みで join できるか |
状態は OK / 注意 / NG / 対象外 で記入すること。
Handoff Notes
- 要件: 2 エージェントが共有メールボックスで送受信でき、人間のコピペ往復が消えた状態
- 成功条件: 双方向 round-trip + 既読管理が動作 / 対象プロジェクトで配信 hook が有効
- 失敗条件: メッセージが届かない / 別 DB に書かれて共有されない / 表示が文字化けして読めない
- 実行範囲:
~/.agents/skills/agmsg/と プロジェクト単位の配信 hook ファイルのみ - 影響範囲: グローバル hook には影響させない (させたら設計ミス)
- ロールバック方針:
delivery.sh set offで配信停止、upstreamuninstall.shで撤去、config.tomlは.bakから復元 - コスト比較: セットアップ工数 vs 1 日何十回のコピペ往復・集中力分断のコスト
Further Reading
- upstream: https://github.com/fujibee/agmsg (MIT) / docs https://agmsg.cc/
trigger-action-mapskill — エージェント間ハンドオフのトリガー・アクション整理failure-point-reviewskill — メッセージ未達・hook 不発火の障害設計monitoring-alert-designskill — 配信失敗・未読滞留の監視設計