--- name: multi-agent-guide description: Use when user asks to "set up multi-agent collaboration", "initialize multi-agent project", "create agent guardrails", "set up team AI collaboration", "configure agent ownership rules", "create agent handoff protocols", mentions "multi-agent guide", "multi-agent setup", "agent coordination", "AI agent collaboration", or wants to configure a project for multiple AI agents (Claude, Gemini, Codex) working together with proper ownership rules, task management, and CI/CD integration. version: 2.0.0 allowed-tools: Read, Glob, Grep, Write, Edit, Bash, AskUserQuestion --- # Multi-Agent Collaboration Guide Skill This skill helps you set up a comprehensive multi-agent collaboration framework for complex software projects where multiple AI agents (Claude Code, Gemini, Codex, and Human) work together. ## What's New in v2.0 | Feature | Description | |---------|-------------| | **Consolidated Framework** | Single `MULTI_AGENT_FRAMEWORK.md` (~250 lines vs ~2,400 in separate files) | | **Quick Setup Command** | `/multi-agent-setup` for rapid deployment | | **Simplified Templates** | One unified template instead of 5 separate files | | **Production-Tested** | Based on dintel-data-agent and our-seo-agent implementations | ## Quick Start For rapid setup, use: ``` /multi-agent-setup ``` This creates the essential files in under 2 minutes. ## Overview The multi-agent setup creates: | Component | Purpose | |-----------|---------| | **Agent Hierarchy** | Defines lead agent and sub-agents with clear authority levels | | **Ownership Matrix** | Specifies which agent owns which files/directories | | **Guardrails System** | Prevents conflicts through locks and task claiming | | **Handoff Protocols** | Standardizes communication between agents | | **CI/CD Integration** | Automated ownership verification in pipelines | | **Pre-commit Hooks** | Local verification before commits | ## When to Use This Skill Activate when users: 1. **Starting a complex project** requiring multiple AI agents 2. **Organizing existing project** for multi-agent collaboration 3. **Setting up guardrails** to prevent agent conflicts 4. **Implementing ownership rules** for files and directories 5. **Creating handoff protocols** between AI agents 6. **Configuring CI/CD** for multi-agent workflows ## Setup Workflow ### Phase 1: Assessment Before setup, gather the following information: ``` 1. Project type (Python, Node.js, monorepo, etc.) 2. Agent hierarchy (which agents will participate) 3. Primary ownership domains for each agent 4. Shared file coordination needs 5. CI/CD platform (GitHub Actions, GitLab CI, etc.) ``` ### Phase 2: File Structure Creation Create the following directory structure: ``` project-root/ ├── .agent-state/ # Agent coordination state │ ├── tasks.yaml # Task registry │ └── locks.yaml # File lock registry ├── tools/ # Ownership verification scripts │ └── check-ownership.py # Multi-agent ownership checker ├── AGENTS.md # Shared collaboration rules ├── GUARDRAILS.md # Ownership and enforcement rules ├── CLAUDE.md # Lead agent (Claude) directive ├── GEMINI.md # Sub-agent (Gemini) directive (optional) ├── CODEX.md # Sub-agent (Codex) directive (optional) └── .pre-commit-config.yaml # Pre-commit hooks (update existing) ``` ### Phase 3: Configuration The setup configures: 1. **Agent identity** via `SEO_AGENT_AUTHOR` environment variable 2. **Ownership matrix** in check-ownership.py 3. **Task and lock state** in .agent-state/ YAML files 4. **Commit message format** enforcement: `[Agent] type(scope): description` 5. **Pre-commit hooks** for local verification 6. **CI/CD workflows** for PR verification (optional) --- ## File Templates ### AGENTS.md Template The shared rules file should include: ```markdown # AGENTS.md - Common Ground Rules & Collaboration Protocols ## Agent Hierarchy | Agent | Role | Authority | Context File | |-------|------|-----------|--------------| | **Claude Code** | Lead / Orchestrator | Architecture, core logic, final decisions | `CLAUDE.md` | | **Gemini** | Sub-agent | Google APIs, documentation, research | `GEMINI.md` | | **Codex** | Sub-agent | Tests, boilerplate, docstrings | `CODEX.md` | ## Handoff Protocols ### Claude → Gemini Handoff - Google API implementation - Documentation writing - Research tasks ### Claude → Codex Handoff - Unit test generation - Boilerplate models - Docstring generation ## Commit Convention [Agent] type(scope): description Types: feat, fix, docs, test, refactor, chore Agent tags: [Claude], [Gemini], [Codex], [Human] ``` ### GUARDRAILS.md Template The enforcement rules file should include: ```markdown # GUARDRAILS.md - Ownership & Enforcement Rules ## Ownership Matrix ### Claude Primary Ownership - `src/*/cli.py` - `src/*/core/` - Architecture-related files ### Gemini Primary Ownership - `src/*/integrations/google/` - `docs/` - Research documentation ### Codex Primary Ownership - `tests/` - `src/*/models.py` - `src/*/utils/` ### Shared Files (Claude Approves) - `pyproject.toml` - `config/*.yaml` - `.github/workflows/` ### Unrestricted Files - `.agent-state/` - `.gitignore` - `README.md` ## Lock System Lock types: - **exclusive**: Only one agent can modify - **shared**: Multiple agents can read, one can write - **override**: Claude override for conflict resolution Lock file format (.agent-state/locks.yaml): ```yaml version: "1.0" locks: - path: "src/module/" agent: "claude" lock_type: "exclusive" task_id: "TASK-001" expires_at: "2025-01-30T12:00:00Z" ``` ## Task Claiming Protocol 1. Check task status in .agent-state/tasks.yaml 2. Claim task by setting agent and status 3. Acquire necessary file locks 4. Complete work 5. Release locks and mark task complete ``` ### check-ownership.py Template The ownership verification script should: 1. Define `OWNERSHIP_MATRIX` with regex patterns 2. Define `SHARED_FILES` requiring Claude approval 3. Define `UNRESTRICTED_FILES` anyone can modify 4. Check file ownership before allowing modifications 5. Verify lock status in `.agent-state/locks.yaml` 6. Validate commit message format Key functions: - `get_file_owner(filepath)` → Returns (owner, ownership_type) - `is_file_locked(filepath, root)` → Returns (is_locked, lock_info) - `verify_ownership(files, agent, root)` → Returns (violations, warnings) - `check_commit_message(msg_file)` → Returns bool --- ## Setup Commands ### Quick Setup (Recommended) When user requests multi-agent setup, follow these steps: 1. **Ask configuration questions**: ``` - What is your project name and type? - Which agents will participate? (Claude, Gemini, Codex, custom) - What are the main directories/domains for each agent? - Do you want CI/CD integration? (GitHub Actions, GitLab CI) ``` 2. **Create directory structure**: ```bash mkdir -p .agent-state mkdir -p tools ``` 3. **Generate configuration files** from templates: - AGENTS.md (customize based on project) - GUARDRAILS.md (customize ownership matrix) - Agent-specific .md files (CLAUDE.md, etc.) - .agent-state/tasks.yaml (initialize empty) - .agent-state/locks.yaml (initialize empty) - tools/check-ownership.py (customize OWNERSHIP_MATRIX) 4. **Update pre-commit configuration**: - Add check-ownership hook - Add commit-message hook 5. **Optional: Create CI workflow**: - GitHub Actions ownership-check.yml - Or equivalent for other CI systems ### Environment Setup Instruct users to set agent identity: ```bash # Add to shell profile (.bashrc, .zshrc) export SEO_AGENT_AUTHOR=claude # or gemini, codex, human # Or use direnv (.envrc) export SEO_AGENT_AUTHOR=claude ``` --- ## Customization Guide ### Adding New Agents 1. Create `AGENTNAME.md` at project root 2. Add to AGENTS.md hierarchy table 3. Update OWNERSHIP_MATRIX in check-ownership.py 4. Add to VALID_AGENTS set ### Modifying Ownership Rules 1. Edit OWNERSHIP_MATRIX in check-ownership.py 2. Update GUARDRAILS.md documentation 3. Communicate changes to all agents ### Adjusting Lock Timeouts Default lock expiration: 4 hours To change, modify the task/lock creation logic to use different `expires_at` values. --- ## Integration with CI/CD ### GitHub Actions Create `.github/workflows/ownership-check.yml`: ```yaml name: Ownership Check on: pull_request: branches: [main, develop] jobs: check-ownership: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Set up Python uses: actions/setup-python@v6 with: python-version: '3.11' - name: Install dependencies run: pip install pyyaml - name: Get changed files id: changed-files uses: tj-actions/changed-files@v44 - name: Check ownership env: SEO_AGENT_AUTHOR: ci run: | python tools/check-ownership.py ${{ steps.changed-files.outputs.all_changed_files }} ``` ### Pre-commit Integration Add to `.pre-commit-config.yaml`: ```yaml repos: - repo: local hooks: - id: check-ownership name: Check Agent Ownership entry: python tools/check-ownership.py language: python always_run: true pass_filenames: true additional_dependencies: [pyyaml] - id: check-commit-message name: Check Commit Message Format entry: python tools/check-ownership.py --check-commit-msg language: python stages: [commit-msg] additional_dependencies: [pyyaml] ``` --- ## Best Practices ### Agent Coordination | Practice | Description | |----------|-------------| | **Claim before work** | Always claim tasks in .agent-state/tasks.yaml | | **Lock during edits** | Acquire locks for files you're modifying | | **Release promptly** | Don't hold locks longer than necessary | | **Use handoff format** | Follow standard handoff protocol for delegation | | **Attribution** | Always include agent tag in commit messages | ### Conflict Resolution 1. **Check locks first** - Don't modify locked files 2. **Escalate to Claude** - Claude can override locks 3. **Document conflicts** - Update GUARDRAILS.md if patterns emerge 4. **Communicate changes** - Notify other agents of ownership changes ### Code Style Maintain consistent code style across agents: | Aspect | Standard | |--------|----------| | Formatter | Black (Python), Prettier (JS) | | Line length | 100 characters | | Docstrings | Google-style | | Type hints | Required | --- ## Reference Files Supporting files in this skill: | File | Purpose | |------|---------| | `templates/multi-agent-framework.md` | **Consolidated framework (RECOMMENDED)** | | `templates/agents-md.md` | AGENTS.md template (legacy) | | `templates/guardrails-md.md` | GUARDRAILS.md template (legacy) | | `templates/claude-md.md` | CLAUDE.md template | | `templates/gemini-md.md` | GEMINI.md template | | `templates/codex-md.md` | CODEX.md template | | `templates/tasks-yaml.yaml` | Tasks file template | | `templates/locks-yaml.yaml` | Locks file template | | `scripts/check-ownership.py` | Ownership verification script | | `references/ownership-matrix.md` | Detailed ownership patterns | | `examples/minimal-setup/` | Minimal 2-agent setup example | | `examples/full-setup/` | Full 3-agent setup example | ### Template Selection Guide | Use Case | Template | |----------|----------| | New projects | `multi-agent-framework.md` (consolidated) | | Existing projects with separate files | Keep existing AGENTS.md + GUARDRAILS.md | | Quick setup | `/multi-agent-setup` command | | Full customization | Individual templates (agents-md, guardrails-md, etc.) | --- ## Commands Available actions when this skill is active: | Command | Description | |---------|-------------| | "Set up multi-agent collaboration" | Initialize full framework | | "Add new agent [name]" | Add a new agent to existing setup | | "Update ownership matrix" | Modify file ownership rules | | "Check agent setup" | Verify configuration is correct | | "Create handoff for [agent]" | Generate handoff document | | "Initialize task" | Create new task in tasks.yaml | --- ## Troubleshooting ### Common Issues **"Ownership violation" error**: - Check `SEO_AGENT_AUTHOR` environment variable is set - Verify file is in your agent's ownership domain - Ask lead agent (Claude) for override if needed **"File locked" error**: - Check `.agent-state/locks.yaml` for active locks - Wait for lock to expire or ask owner to release - Claude can override locks if urgent **Pre-commit hook fails**: - Verify PyYAML is installed: `pip install pyyaml` - Check `.agent-state/` directory exists - Ensure commit message follows format **CI workflow fails**: - Verify changed files list is correct - Check that check-ownership.py is in tools/ - Ensure Python and dependencies are available --- *This skill is designed for complex projects requiring coordinated multi-agent collaboration with clear ownership, accountability, and conflict prevention.*