.claude/skills/ln-004-agent-sync/SKILL.md
Sync skills (symlinks) and MCP settings from Claude to Gemini CLI and Codex CLI
npx skillsauth add cbbkrd-tech/jl-finishes ln-004-agent-syncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Paths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.
Type: Standalone Utility Category: 0XX Shared
Synchronizes skills and MCP server configurations from Claude Code (source of truth) to Gemini CLI and Codex CLI. Creates symlinks for skills, copies/converts MCP settings.
| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| targets | No | both | gemini, codex, or both |
| mode | No | full | skills (symlinks only), mcp (MCP only), or full (both) |
| dry_run | No | false | Show planned actions without executing |
Detect OS → Discover Configs → Sync Skills → Sync MCP → Report
| Check | Result | Impact |
|-------|--------|--------|
| uname or platform | win32 / darwin / linux | Junction vs symlink |
| Home directory | $HOME or $USERPROFILE | Config paths |
Paths by OS:
| Agent | Windows | macOS / Linux |
|-------|---------|---------------|
| Claude | %USERPROFILE%\.claude\settings.json | ~/.claude/settings.json |
| Gemini | %USERPROFILE%\.gemini\settings.json | ~/.gemini/settings.json |
| Codex | %USERPROFILE%\.codex\config.toml | ~/.codex/config.toml |
Read Claude settings:
~/.claude/settings.json → extract mcpServers blockmcpServers → WARN "No MCP servers configured in Claude", skip MCP syncRead target configs (if exist):
~/.gemini/settings.json → extract existing mcpServers~/.codex/config.toml → extract existing [mcp_servers.*]Detect installed plugins:
~/.claude/plugins/*/plugin.json → list plugin directoriesCheck existing symlinks:
~/.gemini/skills → exists? points where?~/.codex/skills → exists? points where?Show current state:
Current State:
| Agent | Skills | MCP Servers | Config Exists |
|-------|--------|-------------|---------------|
| Claude (source) | 2 plugins | 4 servers | yes |
| Gemini | no link | 2 servers | yes |
| Codex | → ~/.claude/plugins | 4 servers | yes |
FOR EACH target IN (gemini, codex) WHERE target in targets:
Determine link path:
~/.gemini/skills~/.codex/skillsCheck if already linked correctly:
Determine source:
Create link:
| OS | Command |
|----|---------|
| Windows | cmd /c mklink /J "{target_path}" "{source_path}" |
| macOS / Linux | ln -s "{source_path}" "{target_path}" |
Verify: Check link exists and resolves correctly
Source: ~/.claude/settings.json → mcpServers block
mcpServers as JSON objectsettings.json (or create {} if missing)settings.jsonConversion: None needed — identical format.
Read Claude mcpServers as JSON object
Read Codex config.toml (or create empty if missing)
Convert each server:
| Claude JSON field | Codex TOML field | Notes |
|-------------------|------------------|-------|
| command | command | Same |
| args | args | JSON array → TOML array |
| env | [mcp_servers.{name}.env] | Nested table |
| type: "http" + url | url | HTTP transport |
| type: "sse" + url | url | SSE transport |
Example conversion:
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
Merge strategy: Claude servers override. Codex-only servers preserved.
Write updated config.toml
Unsupported conversions (preserve as-is in Codex):
bearer_token_env_var — no Claude equivalentenabled_tools / disabled_tools — no Claude equivalentSync Complete:
| Action | Target | Status |
|--------|--------|--------|
| Skills symlink | Gemini | Created → ~/.claude/plugins/... |
| Skills symlink | Codex | Already linked |
| MCP sync | Gemini | 4 servers synced (2 new, 2 updated) |
| MCP sync | Codex | 4 servers synced (1 new, 3 updated) |
.bak copy.dry_run=true, show all planned actions without executing.| # | Criterion | |---|-----------| | 1 | Claude settings read successfully | | 2 | Skills symlinks created/verified for each target | | 3 | MCP settings synced with format conversion (JSON→TOML for Codex) | | 4 | Backup files created before any config modification | | 5 | Report shown with all actions and warnings |
Version: 1.0.0 Last Updated: 2026-02-15
testing
When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions "content strategy," "what should I write about," "content ideas," "blog strategy," "topic clusters," or "content planning." For writing individual pieces, see copywriting. For SEO-specific audits, see seo-audit.
development
When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' or 'competitive landing pages.' Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. Emphasizes deep research, modular content architecture, and varied section types beyond feature tables.
development
Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email campaigns, sales development emails, or SDR emails. Covers subject lines, opening lines, body copy, CTAs, personalization, and multi-touch follow-up sequences.
development
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' or 'involuntary churn.' This skill covers voluntary churn (cancel flows, save offers, exit surveys) and involuntary churn (dunning, payment recovery). For post-cancel win-back email sequences, see email-sequence. For in-app upgrade paywalls, see paywall-upgrade-cro.