- RFC-MULTI-AGENT-DEPLOYMENT.md: Design for unified deployment - modules/ai-skills.nix: Added geminiSkills option - bin/use-skills.sh: Added GEMINI_HOME support - bin/deploy-skill.sh: Inject configs for Codex and Gemini
2.5 KiB
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:
- Claude Code (The original consumer)
- OpenCode (The open-source alternative)
- OpenAI Codex (The specialized coding agent)
- 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 <skill>) 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/<name> |
| OpenCode | home/opencode.nix |
~/.config/opencode/skills/<name> |
| OpenAI Codex | home/codex.nix |
~/.codex/skills/<name> |
| Gemini CLI | home/gemini.nix |
~/.gemini/skills/<name> |
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:
# 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_commandor 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-commitskill 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
- Update
bin/deploy-skill.shto support the new targets. - Create placeholder
home/codex.nixandhome/gemini.nixin dotfiles (if missing) to test injection. - Deploy a test skill (
verify-work) to all 4 targets.