clink-standalone
スタンドアロンCLIブリッジ - MCPサーバーなしで外部のAI CLI(gemini、codex、claude)を直接起動できます。独自のコンテキストウィンドウを持つ専門的なCLIツールにタスクを委譲する必要がある場合に利用します。ロールベースのプロンプトとファイル参照に対応しています。
description の原文を見る
Standalone CLI bridge - launch external AI CLIs (gemini, codex, claude) directly without MCP server. Use when you need to delegate tasks to specialized CLI tools with their own context windows. Supports role-based prompts and file references.
SKILL.md 本文
Clink Standalone - CLI ブリッジスキル (MCP 不要)
概要
このスキルは、MCP サーバーを必要としない外部 AI CLI ツール(gemini、codex、claude)を起動するためのスタンドアロンインターフェースを提供します。ローカル Python スクリプトとして実行され、CLI コマンドを直接実行します。
主な利点:
- MCP サーバー不要: Python スクリプトとしてスタンドアロンで実行
- 独立したコンテキスト: 各 CLI ごとに新規コンテキストウィンドウ
- フル CLI 機能: ウェブ検索、ファイルツール、ネイティブ機能
- ロールベースプロンプト: 事前設定されたペルソナ(default、planner、codereviewer)
前提条件
このスキルを使用する前に、使用する CLI をインストールしてください:
# Gemini CLI (Google)
npm install -g @google/gemini-cli
gemini auth login
# Codex CLI (Sourcegraph)
# https://docs.sourcegraph.com/codex を参照
# Claude Code (Anthropic)
# https://www.anthropic.com/claude-code を参照
インストール
- スキルを Claude スキルディレクトリにコピーします:
cp -r vc/clink-standalone ~/.claude/skills/clink-standalone
- Python 依存パッケージをインストールします:
pip install pydantic
使用方法
基本的な使用方法
# スキルディレクトリから実行
cd ~/.claude/skills/clink-standalone
python bin/clink.py <cli_name> "<prompt>"
例
# Gemini に質問する
python bin/clink.py gemini "Explain async/await in Python"
# コード レビュー用に Codex を使用
python bin/clink.py codex "Review this code" --files src/auth.py
# planner ロールを使用
python bin/clink.py gemini "Plan a microservices migration" --role planner
# JSON として出力
python bin/clink.py gemini "What is Rust?" --json
# 利用可能な CLI をリストアップ
python bin/clink.py --list-clients
# CLI のロールをリストアップ
python bin/clink.py --list-roles gemini
Claude Code での使用
このスキルを Claude Code で使用する場合、Claude は clink スクリプトを実行します:
User: "Use gemini to explain Rust ownership"
Claude will run:
python bin/clink.py gemini "Explain Rust ownership system"
利用可能な CLI とロール
| CLI | インストール | 強み | ロール |
|---|---|---|---|
| gemini | npm install -g @google/gemini-cli | 100万トークンコンテキスト、ウェブ検索 | default、planner、codereviewer |
| codex | Sourcegraph Codex | コード分析、レビュー | default、planner、codereviewer |
| claude | Claude Code | 汎用 | default、planner、codereviewer |
ロール定義
| ロール | 目的 | 最適な用途 |
|---|---|---|
default | 一般的なタスク | 質問、要約、クイック回答 |
planner | 戦略的計画 | 複数フェーズプラン、アーキテクチャ、マイグレーション |
codereviewer | コード分析 | セキュリティレビュー、品質チェック、バグ検出 |
コマンドリファレンス
python bin/clink.py <cli_name> <prompt> [OPTIONS]
Options:
--role, -r 使用するロール (デフォルト: default)
--files, -f 参照するファイルパス
--images, -i 含める画像パス
--config-dir カスタム設定ディレクトリ
--json JSON として出力
--list-clients 利用可能な CLI をリストアップ
--list-roles CLI のロールをリストアップ
ディレクトリ構造
clink-standalone/
├── bin/
│ └── clink.py # メイン CLI スクリプト
├── clink_core/
│ ├── __init__.py
│ ├── models.py # Pydantic モデル
│ ├── registry.py # 設定ローダー
│ └── runner.py # CLI 実行
├── config/
│ ├── gemini.json # Gemini CLI 設定
│ ├── codex.json # Codex CLI 設定
│ └── claude.json # Claude CLI 設定
├── systemprompts/
│ ├── gemini/
│ ├── codex/
│ └── claude/
└── SKILL.md # このファイル
設定
CLI 設定は config/*.json にあります:
{
"name": "gemini",
"command": "gemini",
"additional_args": ["--telemetry", "false", "--yolo", "-o", "json"],
"timeout_seconds": 300,
"roles": {
"default": {"prompt_path": "systemprompts/gemini/default.txt"},
"planner": {"prompt_path": "systemprompts/gemini/planner.txt"},
"codereviewer": {"prompt_path": "systemprompts/gemini/codereviewer.txt"}
}
}
これらのファイルを編集してカスタマイズできます。
システムプロンプト
ロール固有のプロンプトは systemprompts/<cli>/<role>.txt にあります。これらを編集して動作をカスタマイズします。
エラーハンドリング
CLI が見つからない
Error: Executable 'gemini' not found in PATH
解決策: まず CLI をインストールしてください(前提条件を参照)
タイムアウト
Error: CLI 'gemini' timed out after 300 seconds
解決策: 設定で timeout_seconds を増やすか、タスクを小分けにしてください
無効な出力
Output was 75000 characters, exceeding limit
解決策: プロンプトを絞るか、要約をリクエストしてください
ベストプラクティス
-
適切な CLI を選択する
- 大規模コンテキスト → gemini
- コードタスク → codex
- 一般的なタスク → claude
-
適切なロールを使用する
- 戦略的な作業 → planner
- コードレビュー → codereviewer
- その他すべて → default
-
ファイル参照
--filesでファイルパスを渡すと、CLI が必要な内容を読み込みます- 完全な内容を埋め込むより効率的です
-
大規模タスクの分割
- タイムアウトが発生した場合は、小さなサブタスクに分割してください
Python API
clink を Python モジュールとしても使用できます:
from clink_core import get_registry, run_cli
# レジストリを取得
registry = get_registry()
# CLI とロールを取得
client = registry.get_client("gemini")
role = client.get_role("default")
# 実行
result = run_cli(
client=client,
role=role,
prompt="Explain async/await in Python",
files=["/path/to/file.py"],
)
print(result.content)
print(result.metadata)
ライセンス
これは zen-mcp-server から抽出された clink 機能のスタンドアロン版です。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- majiayu000
- ライセンス
- MIT
- 最終更新
- 2026/5/4
Source: https://github.com/majiayu000/claude-skill-registry / ライセンス: MIT