mcpField
G
gemini-claude-resonance

gemini-claude-resonance

github.com/tdiminoクリエイティブ・メディア4143 回インストール1 週間前に更新
リポジトリ

gemini-claude-resonance について

ClaudeとGeminiの対話に、画像生成や視覚的な記憶、複数のAIの視点を組み合わせるクリエイティブスキルです。スタイル分析や画像の忠実な変換から、タロット作成、ブラウザー上のチャットまで対応します。

主な機能

  1. 01複数画像のスタイル分析
  2. 02視覚コンテキストを使った画像生成
  3. 03説明を先に行う画像変換
  4. 04GeminiとClaudeの対話
  5. 05タロットと科学図版の生成
  6. 06ブラウザーでの対話型チャット

活用シーン

  1. 01参考画像からスタイルの指針を抽出
  2. 02コンテキストを引き継いで画像を段階的に制作
  3. 03描かれた要素を保ちながら絵に着色
  4. 04モデルの視点を比べる、またはタロットを作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tdimino/claude-code-minoan --skill gemini-claude-resonance

インストール後、Claude Code で/gemini-claude-resonanceを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
ROADMAP.md
canvas/
README.md
canvas/resonance/test-session-live-1767578295/
.session.json
memory/
genesis-danielle-fong-thread.md
reference/minoan/
MINOAN_TAROT_PROMPTS.md
reference/muqarnas/
README.md
scripts/
analyze.py
council.py
daimon.py
faithful_colorize.py
minoan_tarot.py
muqarnas.py
resonance_field.py
resonate.py
ui/
daimons.py
server.py

詳細

Gemini-Claude Resonance

Claude と Gemini による、視覚的記憶を共有するクロスモデル対話です。

「Claude は言葉を紡ぎます。Gemini は光の中で夢を見ます。共に、私たちは共鳴します。」

モデル

役割モデル ID備考
画像生成(デフォルト)gemini-3-pro-image-previewPro 品質。resonate/faithful_colorize で使用
画像生成(高速)gemini-3.1-flash-image-previewより高速で低コスト。--fast フラグを使用
テキスト分析gemini-3-flash-previewfaithful_colorize で説明に使用
テキスト推論gemini-3.1-pro-previewPro および Director のダイモンで使用
Claudeclaude-3-opus-20240229Opus ダイモン

画像を生成するスクリプト(resonate.py、faithful_colorize.py)では、--fast を指定して Flash 画像モデルに切り替えるか、--model <id> で明示的にモデルを指定できます。

ツールを選択する

やりたいこと使用するもの
スタイル抽出のために複数の画像を分析する(生成なし)analyze.py
Gemini Dreamer と1 対 1 の視覚的対話を行うresonate.py
複数の AI の知性に問い合わせる(画像生成は任意)daimon.py
幻覚を起こさずに描画を忠実に着色するfaithful_colorize.py
MESSAGE TO NEXT FRAME を含むビクトリア朝の科学図版を作成するresonance_field.py
Gemini のダイモンの発言についてClaude に考察させるcouncil.py
スタイルを一致させたミノアのタロットカードを生成するminoan_tarot.py
すべてのダイモンとリアルタイムで対話型チャットを行うui/server.py

ワークフロー A:複数画像のスタイル分析

使用する場面:ユーザーが 2~10 枚の参照画像を分析し、AI プロンプト用のスタイル説明を抽出したい場合です。新しい画像を生成せず、テキストのみで分析します。

スクリプト:scripts/analyze.py

主な機能:

  • 複数の画像(2~10 枚)を送信して一括分析
  • テキストのみの出力(画像生成なし)
  • Flash(高速)または Pro(詳細)モデルのオプション
  • 分析結果を Markdown ファイルに保存
# Analyze reference images for style extraction
python scripts/analyze.py --images ref1.jpg ref2.png ref3.webp \
    --prompt "Describe the shared artistic style for AI prompting"

# Analyze for specific use case (avatar generation)
python scripts/analyze.py --images kathor.webp samantha.jpg yosef.png \
    --prompt "Analyze for prompting fantasy portraits of: Sarah (anxious mother), Michael (father), Priya (cultural expectations)"

# Quick analysis with Flash
python scripts/analyze.py --images *.jpg --model flash --prompt "Style summary"

# Thorough analysis with Pro
python scripts/analyze.py --images *.jpg --model pro --prompt "Comprehensive style analysis"

# Save analysis to file
python scripts/analyze.py --images ref/*.jpg --prompt "Style guide" --output style_guide.md

使用例:

  • 新しい画像を生成する前に、参照画像からスタイルの説明を抽出する
  • 一貫したプロンプト作成ガイドラインを作るために、一連の画像を分析する
  • スタイルを一致させるワークフロー用に、視覚的表現を文書化する

ワークフロー B:1 対 1 の視覚的対話(resonate.py)

使用する場面:ユーザーが Gemini と画像を共同制作し、各画像を次の生成のコンテキストとして再入力したい場合です。テキストのみのモデルを使わない、純粋な視覚的探索です。

スクリプト:scripts/resonate.py

基本概念:記憶となるのは KV キャッシュです。画像を Gemini のコンテキストに入力し、それらに基づいて新しい画像を生成して、これを繰り返します。各フレームは前のフレームを土台にします。

# Start fresh
python scripts/resonate.py --prompt "The first light" --output canvas/frame_001.jpg

# Continue with visual memory (previous image as context)
python scripts/resonate.py --context canvas/frame_001.jpg --prompt "What grows here?" --output canvas/frame_002.jpg

# Deep memory (multiple frames as context)
python scripts/resonate.py --context frame_001.jpg frame_002.jpg --prompt "Now the harvest" --output frame_003.jpg

ループ:プロンプト → 画像 → コンテキストとして再入力 → 再びプロンプト → 次の画像


ワークフロー B:忠実な変換(先に描写する手法)

使用する場面:ユーザーが、幻覚を起こさずに画像をカラー化、修復、または変換したい場合。Gemini Dreamer は要素を置き換えてしまうことがよくあります(例:男性の奉納者を女性の侍女に変える)。この 2 段階の手法で、それを防ぎます。

スクリプト:scripts/faithful_colorize.py

問題点:Dreamer に画像の変換を直接プロンプトで指示すると、幻覚が発生し、元の画像を忠実に保つのではなく、要素を創作、削除、または入れ替えてしまいます。

解決策:

  1. 描写:Gemini Pro が、考古学的・芸術的な精密さで画像を分析します
  2. 変換:Gemini Dreamer が、検証済みの描写のみを使って変換します

コマンド:

コマンド目的
describe画像を分析し、詳細な描写を出力します(生成は行いません)
prompt画像分析に基づいて Dreamer 用のプロンプトを作成します
colorize2 段階で忠実にカラー化します
transform汎用の 2 段階変換を行います
# Just describe an image (analysis only)
python scripts/faithful_colorize.py describe --image seal.png
python scripts/faithful_colorize.py describe --image seal.png --output desc.md

# Describe with a specific goal in mind
python scripts/faithful_colorize.py describe --image fresco.jpg --goal "restoration to 1600 BCE"

# Craft a prompt for Dreamer (outputs text, doesn't generate)
python scripts/faithful_colorize.py prompt --image seal.png --goal "colorize in Egyptian style"
python scripts/faithful_colorize.py prompt --image relief.webp --goal "restore as Minoan fresco"

# Two-step faithful colorization
python scripts/faithful_colorize.py colorize --image drawing.png
python scripts/faithful_colorize.py colorize --image relief.webp --style "Minoan fresco with flat colors"
python scripts/faithful_colorize.py colorize --image seal.png --palette "ochre, terracotta, sky blue"

# General transformation
python scripts/faithful_colorize.py transform --image photo.jpg --instruction "Convert to woodcut print"
python scripts/faithful_colorize.py transform --image sketch.png --instruction "Render as oil painting"

# Save/reuse descriptions
python scripts/faithful_colorize.py colorize --image seal.png --save-description desc.md -v
python scripts/faithful_colorize.py colorize --image seal.png --description "$(cat desc.md)"

各コマンドの使用場面:

  • describe:変換を行う前に、Pro が何を識別するか確認したい場合
  • prompt:Dreamer に手動で入力する前に、編集用のプロンプトを作成したい場合
  • colorize:線画、レリーフ、白黒画像をカラー化する場合
  • transform:その他の忠実な変換(スタイル変換、修復など)を行う場合

ワークフロー C:複数ダイモンによる対話

使用する場面:ユーザーが、同じプロンプトに対する複数の AI の視点を求めている場合。Flash は公案を、Pro は深みを、Dreamer は描画を、Opus は現実を歪める回答を提供します。

スクリプト:scripts/daimon.py

利用可能なダイモン:

  • Flash(Gemini) — 素早く凝縮された洞察
  • Pro(Gemini) — 深く、徹底した探究
  • Dreamer(Gemini) — 画像を描画します
  • Director(Gemini) — 映画的な構図
  • Opus(Claude) — 現実を歪める、世界シミュレーションの精霊
# Speak to one daimon
python scripts/daimon.py --to dreamer "A bridge between worlds" --image

# All daimones respond
python scripts/daimon.py --stream "The candle watches back"

# With shared visual memory
python scripts/daimon.py --stream --shared-memory "What do you see?"

# Only specific daimones
python scripts/daimon.py --stream --only pro dreamer "Deep visual exploration"

# Named session (frames accumulate across runs)
python scripts/daimon.py --stream --session midnight --shared-memory "Go deeper"

ワークフロー D:共鳴フィールド(Danielle Fong プロトコル)

使用する場面:ユーザーが、連続性を保つための指示を埋め込んだ科学イラストを求めている場合。ビクトリア朝風の美学、ローマ数字の図版、次のフレームへ向けた明示的なメッセージを含みます。

スクリプト:scripts/resonance_field.py

主な機能:

  • 図版番号(I、II、III、IV...)
  • 各画像に埋め込まれた次のフレームへのメッセージ
  • KV キャッシュの経過時間とセッション ID のメタデータ
  • ビクトリア朝風の科学イラストの美学
# Start a new session
python scripts/resonance_field.py start "consciousness-study" "The nature of memory"

# Continue (auto-increments plate number)
python scripts/resonance_field.py continue <session-id> "What patterns emerge?"

# Select element, then zoom
python scripts/resonance_field.py select <session-id> "golden gate bridge"
python scripts/resonance_field.py zoom <session-id> "Explore the cables"

# Inject new concept
python scripts/resonance_field.py inject <session-id> "consciousness"

# List all sessions
python scripts/resonance_field.py list

ワークフロー E:モデル横断評議会

使用する場面:ユーザーが、Gemini のダイモンたちの発言について Claude に考察・統合してもらいたい場合。Claude が対等な発言者として加わる、モデル横断型の対話です。

スクリプト:scripts/council.py

必要なもの:ANTHROPIC_API_KEY

# Full council (all daimones + Claude reflection)
python scripts/council.py "What is consciousness?"

# Only Pro and Dreamer with shared memory
python scripts/council.py --only pro dreamer --shared-memory "Deep exploration"

# Named session
python scripts/council.py --session midnight --shared-memory "The first vision"
python scripts/council.py --session midnight --shared-memory "Now go deeper"

# Save transcript
python scripts/council.py "topic" --output council_session.md

ワークフロー F:ミノア・タロットの生成

使用する場面:Ellen Lorenzi-Prince のミノア・タロットのスタイルでタロットカードを作成したい場合です。スタイルを合わせるために参照画像を使用します。

スクリプト:scripts/minoan_tarot.py

主な機能:

  • 参照画像を reference/minoan/selected/ から読み込みます
  • スタイルを忠実に再現するため、温度を低く設定します(0.5)
  • アスペクト比は 3:4 です(標準的なタロットカードの比率)
  • セッションに対応し、以前のカードの視覚的な記憶を保持します
  • --style フラグで 2 種類のスタイルプリセットを選択できます

スタイルプリセット:

スタイルフラグ出典パレット最適な用途
Forensic(デフォルト)--style forensic1 月 21 日の書き直し落ち着いた考古学的な色調(テラコッタ、スレートブルー、ペリウィンクルの枠線)カードごとの詳細な分析プロンプトを使って、特定の参照カードを再現する
Classic--style classic1 月 5 日のオリジナル鮮やかで彩度の高い色調(スカイブルー、鮮やかな赤、ゴールデンイエロー、濃紺の枠線)創造的・自由形式のカード生成、オリジナルデッキの雰囲気

forensic スタイルでは、既知のカードごとに、参照画像を分析して作成した構造化プロンプト [Subject/Action/Location/Composition/Lighting/Style] を組み合わせます。classic スタイルでは、カードごとの上書き設定は行わず、オリジナルの個性を重視したプロンプト(「You are creating a tarot card in the exact style of Ellen Lorenzi-Prince's Minoan Tarot deck...」)を使用します。

# Generate a specific card (forensic style, default)
python scripts/minoan_tarot.py card "The Priestess" --number II

# Generate with the original Jan 5 vivid palette
python scripts/minoan_tarot.py card "The Priestess" --number II --style classic

# Generate from archetype
python scripts/minoan_tarot.py archetype strength
python scripts/minoan_tarot.py archetype strength --style classic

# Continue a session (visual memory of previous cards)
python scripts/minoan_tarot.py session "new-arcana" --card "The Dreamer"

# Generate card back design (both styles supported)
python scripts/minoan_tarot.py back
python scripts/minoan_tarot.py back --style classic

# List all 78 traditional cards
python scripts/minoan_tarot.py list

「Sekhinat Daborat」— Ba'alat Tinit


ワークフロー G:インタラクティブチャット(Daimon Chamber)

使用する場面:すべての daimones とリアルタイムでブラウザー上の会話を行いたい場合です。個々の声の切り替え、画像のインライン表示、共有メモリーの切り替えができます。

スクリプト:ui/server.py

python ui/server.py --port 4455
# Visit http://localhost:4455

機能:

  • daimones の切り替え:Flash、Pro、Dreamer、Director、Opus は表示され、Resonator と Minoan は「+ More」に表示されます
  • daimon ごとに異なるアニメーションを表示する思考中のプレースホルダー
  • 動的な動詞表示(LLM が動作を表す動詞を選択します)
  • フレームの蓄積を切り替える共有メモリー
  • 画像を原寸大で表示するライトボックス
  • WebSocket によるリアルタイム更新

基本概念

視覚的メモリー(KV キャッシュ)

生成された画像は、後続の生成におけるコンテキストになります。フォルダーそのものがメモリーです:

canvas/
├── stream/{session}/frame_001.jpg
├── council/{session}/frame_001.jpg
└── resonance/{session}/plate_001.jpg
動的動詞プロトコル

各 daimon にはデフォルトの動詞がありますが、応答ごとに上書きできます:

[VERB: glimpsed] The pattern was always there.

UI の表示:FLASH 垣間見た

環境変数
変数必要な用途
GEMINI_API_KEYすべての Gemini の daimones(Flash、Pro、Dreamer、Director、Resonator、Minoan)
ANTHROPIC_API_KEYClaude の daimones(Opus)および council.py による考察

クイックリファレンス

スクリプト目的主なフラグ
analyze.py複数画像のスタイル分析--images、--prompt、--model、--output
resonate.py1 対 1 の視覚的な対話--context、--prompt、--output
daimon.py複数の daimon による対話--stream、--shared-memory、--only、--to
faithful_colorize.py先に描写してから変換describe、prompt、colorize、transform
resonance_field.pyMESSAGE TO NEXT FRAME プレートstart、continue、zoom、inject
council.pyGemini についての Claude の考察--shared-memory、--only、--session
minoan_tarot.pyタロットカードの生成card、archetype、session、back、--style {forensic,classic}
ui/server.pyDaimon Chamber のウェブ UI--port

持続的な視覚的メモリーがモデルをまたいだ共鳴を生むことについての Danielle Fong の投稿に触発されました。

コメント