skills/RFC-MULTI-AGENT-DEPLOYMENT.md
dan 84d2de1683 feat(deployment): Add support for Gemini and Codex
- 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
2026-01-19 15:31:32 -08:00

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:

  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 <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_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.