clink-standalone
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.
Best use case
clink-standalone is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using clink-standalone should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/clink-standalone-vcnoc/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How clink-standalone Compares
| Feature / Agent | clink-standalone | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Clink Standalone - CLI Bridge Skill (No MCP Required)
## Overview
This skill provides a **standalone** interface to launch external AI CLI tools (gemini, codex, claude) **without requiring an MCP server**. It runs as a local Python script that directly executes CLI commands.
**Key Benefits:**
- **No MCP Server Needed**: Runs standalone as a Python script
- **Isolated Context**: Fresh context window for each CLI
- **Full CLI Capabilities**: Web search, file tools, native features
- **Role-based Prompts**: Pre-configured personas (default, planner, codereviewer)
## Prerequisites
Before using this skill, install the CLIs you want to use:
```bash
# Gemini CLI (Google)
npm install -g @google/gemini-cli
gemini auth login
# Codex CLI (Sourcegraph)
# Visit https://docs.sourcegraph.com/codex
# Claude Code (Anthropic)
# Visit https://www.anthropic.com/claude-code
```
## Installation
1. **Copy the skill to your Claude skills directory:**
```bash
cp -r vc/clink-standalone ~/.claude/skills/clink-standalone
```
2. **Install Python dependencies:**
```bash
pip install pydantic
```
## Usage
### Basic Usage
```bash
# Run from the skill directory
cd ~/.claude/skills/clink-standalone
python bin/clink.py <cli_name> "<prompt>"
```
### Examples
```bash
# Ask Gemini a question
python bin/clink.py gemini "Explain async/await in Python"
# Use Codex for code review
python bin/clink.py codex "Review this code" --files src/auth.py
# Use planner role
python bin/clink.py gemini "Plan a microservices migration" --role planner
# Output as JSON
python bin/clink.py gemini "What is Rust?" --json
# List available CLIs
python bin/clink.py --list-clients
# List roles for a CLI
python bin/clink.py --list-roles gemini
```
### In Claude Code
When using this skill in Claude Code, Claude will execute the clink script:
```
User: "Use gemini to explain Rust ownership"
Claude will run:
python bin/clink.py gemini "Explain Rust ownership system"
```
## Available CLIs and Roles
| CLI | Install | Strengths | Roles |
|-----|---------|-----------|-------|
| **gemini** | `npm install -g @google/gemini-cli` | 1M context, web search | default, planner, codereviewer |
| **codex** | Sourcegraph Codex | Code analysis, review | default, planner, codereviewer |
| **claude** | Claude Code | General purpose | default, planner, codereviewer |
## Role Definitions
| Role | Purpose | Best For |
|------|---------|----------|
| `default` | General tasks | Questions, summaries, quick answers |
| `planner` | Strategic planning | Multi-phase plans, architecture, migrations |
| `codereviewer` | Code analysis | Security review, quality checks, bug hunting |
## Command Reference
```
python bin/clink.py <cli_name> <prompt> [OPTIONS]
Options:
--role, -r Role to use (default: default)
--files, -f File paths to reference
--images, -i Image paths to include
--config-dir Custom config directory
--json Output as JSON
--list-clients List available CLIs
--list-roles List roles for a CLI
```
## Directory Structure
```
clink-standalone/
├── bin/
│ └── clink.py # Main CLI script
├── clink_core/
│ ├── __init__.py
│ ├── models.py # Pydantic models
│ ├── registry.py # Config loader
│ └── runner.py # CLI execution
├── config/
│ ├── gemini.json # Gemini CLI config
│ ├── codex.json # Codex CLI config
│ └── claude.json # Claude CLI config
├── systemprompts/
│ ├── gemini/
│ ├── codex/
│ └── claude/
└── SKILL.md # This file
```
## Configuration
CLI configurations are in `config/*.json`:
```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"}
}
}
```
Customize by editing these files.
## System Prompts
Role-specific prompts are in `systemprompts/<cli>/<role>.txt`. Edit these to customize behavior.
## Error Handling
### CLI Not Found
```
Error: Executable 'gemini' not found in PATH
```
**Solution**: Install the CLI first (see Prerequisites)
### Timeout
```
Error: CLI 'gemini' timed out after 300 seconds
```
**Solution**: Increase `timeout_seconds` in config or break into smaller tasks
### Invalid Output
```
Output was 75000 characters, exceeding limit
```
**Solution**: Narrow your prompt or request a summary
## Best Practices
1. **Choose the Right CLI**
- Large context → gemini
- Code tasks → codex
- General tasks → claude
2. **Use Appropriate Roles**
- Strategic work → planner
- Code review → codereviewer
- Everything else → default
3. **File References**
- Pass file paths via `--files`, CLI reads what it needs
- More efficient than embedding full content
4. **Break Down Large Tasks**
- If timeout occurs, split into smaller subtasks
## Python API
You can also use clink as a Python module:
```python
from clink_core import get_registry, run_cli
# Get registry
registry = get_registry()
# Get CLI and role
client = registry.get_client("gemini")
role = client.get_role("default")
# Run
result = run_cli(
client=client,
role=role,
prompt="Explain async/await in Python",
files=["/path/to/file.py"],
)
print(result.content)
print(result.metadata)
```
## License
This is a standalone extraction of the clink functionality from zen-mcp-server.Related Skills
standalone-developer-agent
Expert developer in 24+ programming languages that generates production-ready code leveraging unique language features and idiomatic patterns.
bgo
Automated Blender build-go workflow. Automatically builds, removes old version, installs, enables, and launches Blender with your extension/add-on. Use when you want to quickly test changes, execute complete build-to-launch cycle, or run custom packaging scripts with automatic Blender launch.
conversion-tools-automation
Automate Conversion Tools tasks via Rube MCP (Composio). Always search tools first for current schemas.
conventional-commits
Writes and reviews Conventional Commits commit messages (v1.0.0) to support semantic versioning and automated changelogs. Use when drafting git commit messages, PR titles, release notes, or when enforcing a conventional commit format (type(scope): subject, BREAKING CHANGE, footers, revert).
Conventional Commit Generator
This skill should be used when the user asks to "create a conventional commit", "generate conventional commits", "commit with conventional format", "group my changes for commits", "make a conventional commit message", or mentions "semantic commits", "commitizen", "commit conventions". Analyzes staged and unstaged changes, groups related modifications, and generates properly formatted conventional commit messages with interactive commit grouping options.
control-d-automation
Automate Control D tasks via Rube MCP (Composio). Always search tools first for current schemas.
context-session-end
AI behavioral guideline for autonomously detecting work session boundaries and proposing updates to current_focus.md. The AI monitors conversation flow for natural breakpoints and acts without explicit invocation.
consensus-persona-generator
Generate and persist reusable persona panels (persona_set artifacts) for consensus decision workflows. This skill initializes lightweight multi-agent disagreement with weighted reputations so downstream guards can make auditable, policy-governed decisions.
connecteam-automation
Automate Connecteam tasks via Rube MCP (Composio). Always search tools first for current schemas.
confluence-cli
Use confluence-cli (NPM package) to manage Confluence content, pages, and spaces from the command line. Ideal for documentation workflows, bulk content operations, page migration, and when users request CLI-based Confluence interactions. Trigger on requests like "use Confluence CLI", "create Confluence pages via CLI", "migrate Confluence content", "automate documentation workflows", or when users want to script Confluence operations.
configuring-devenv
Initializes and configures devenv development environments. Searches packages, sets up languages, services, scripts, git hooks, and processes. Use when setting up devenv, adding packages to devenv.nix, configuring languages, services, git hooks, or searching for devenv options.
configure
Sets up or edits the plugin configuration file interactively. Use on first-time setup, when config is missing, or when the user wants to change settings.