# RFC: Multi-Agent Skill Deployment **Status:** Draft **Date:** 2026-01-19 **Author:** Gemini CLI Agent ## Context This repository (`~/proj/skills`) is the single source of truth for AI capabilities. However, the runtime environment has fragmented into four distinct agents: 1. **Claude Code** (The original consumer) 2. **OpenCode** (The open-source alternative) 3. **OpenAI Codex** (The specialized coding agent) 4. **Gemini CLI** (The interactive shell agent) Currently, our deployment script only targets Claude and OpenCode. ## The Goal: "Write Once, Deploy Everywhere" We want a single command (`./bin/deploy-skill.sh `) to make that skill available to ALL agents on the system immediately after a system rebuild. ## Target Paths | Agent | Config File (Dotfiles) | Target Path (Runtime) | |-------|------------------------|-----------------------| | **Claude Code** | `home/claude.nix` | `~/.claude/skills/` | | **OpenCode** | `home/opencode.nix` | `~/.config/opencode/skills/` | | **OpenAI Codex** | `home/codex.nix` | `~/.codex/skills/` | | **Gemini CLI** | `home/gemini.nix` | `~/.gemini/skills/` | ## Proposed Changes ### 1. Update `bin/deploy-skill.sh` The script currently injects config into `claude.nix` and `opencode.nix`. We will expand it to also check for and inject into `codex.nix` and `gemini.nix` if they exist in the dotfiles repo. **Logic:** ```bash # For each agent target: inject_home_file "$DOTFILES/home/codex.nix" ".codex/skills/$SKILL" ... inject_home_file "$DOTFILES/home/gemini.nix" ".gemini/skills/$SKILL" ... ``` ### 2. Standardize Skill Format Fortunately, all four agents share the same fundamental skill interface: * **Definition:** `SKILL.md` (Markdown with Frontmatter) * **Execution:** Bash scripts (via `run_shell_command` or similar) No changes are needed to the skill format itself, provided we stick to standard POSIX bash and relative paths in scripts. ## Benefits * **Unified Capability:** Fixing a bug in `git-commit` skill fixes it for Gemini, Claude, and Codex simultaneously. * **Agent Agnosticism:** You can switch agents mid-task without losing access to your tools. * **Testing:** You can verify a skill using Gemini (cheaper/faster) before using it with Claude (smarter/expensive). ## Implementation Plan 1. Update `bin/deploy-skill.sh` to support the new targets. 2. Create placeholder `home/codex.nix` and `home/gemini.nix` in dotfiles (if missing) to test injection. 3. Deploy a test skill (`verify-work`) to all 4 targets.