A self-configuring infrastructure for shared Claude Code resources across all projects in your organization.
The Orchestrator is a shared AI infrastructure for organizations using Claude Code (and is designed to be expandable to other AI tools) across multiple repositories. Instead of duplicating agents, skills, prompts, and guidelines in every repo, you maintain them in one place, and each project auto-propagates them via symlinks.
Key Features:
- π Centralized Shared Resources - One source of truth for agents, skills, hooks, commands, and guidelines (documentation) - they all live in Orchestrator. All repos can have access or just a subset by symlinking selected directories/resources into the repo
- π€ Specialized Agents - comes with several preconfigured specialized agents for wide-range of tasks. You can edit them as needed or add any number of agents
- π€ Self-configuring - Setup wizard that walks you through your entire configuration. You do not have to do it all by yourself
- π Cross Repo Documentation Synchronization Agent - This agent lives inside the orchestrator and its job is to keep documentation in sync across all repos.
- How It Works: From the orchestrator repo, you simply ask claude to activate the agent and ask it to update the documentation based on the last n commits. It is recommended to do this daily (if in active development) or after key codebase changes.
- NOTE: This agent is not automated because documentation updates may require human review.
- π οΈ Customizable - Each repo can have its own agents, guidelines or skills. There is no one right way to use this orchestrator
Any organization (including us!) using AI coding assistants faces challenges like:
- duplicated agents (if you even use any) across the board
- inconsistent/outdated documentation
- large multi-repo codebases with no shared context
This creates hallucinations, unpredictable responses, and agents that get lost in long and complex tasks.
The Orchestrator solves all these problems by:
- keeping up-to-date documentation
- centralizing best practices and patterns for your codebase
- reducing duplicated efforts across multiple repositories
This makes AI assistance context-aware, more predictable and accurate, and consistent across your entire engineering organization.
Go to QUICKSTART.md for the complete setup guide.
Below is a brief overview:
git clone <this-repo-url> orchestrator
cd orchestratorOpen in Claude Code and run:
/setup-orchestrator
The wizard will:
- Collect your organization information
- Scan your repositories to detect tech stacks
- Generate customized configuration files
- Create repository-specific skills and guidelines
Time: Depends on complexity of your repos. For mid-sized 2 repo structure it should take ~30 minutes.
Symlinks connect each repository to the shared resources in the orchestrator.
./setup/scripts/create-symlinks.shDelete the setup directory to keep your orchestrator clean.
rm -rf setup/Done! Your orchestrator is ready to use.
How it works:
-
All shared resources live in orchestrator/shared/
-
Repositories use symlinks to connect the shared resources from
orchestrator/shared/to their own.claude/directory. -
You ONLY need to update the orchestrator to update all repositories instantly.
-
Each repo can have its own agents and MUST HAVE CLAUDE.md.
IMPORTANT! Below is how the orchestrator and each repo are structured: If after setup your structure looks different(i.e. missing files), then it is not setup properly. You can ask Claude Code to help you fix it.
YourOrganization/
βββ orchestrator/
β βββ shared/
β βββ agents/
β β βββ global/ # Global agents for all repos
β β βββ orchestrator/ # Orchestrator-only agents
β β βββ <repo-name>/ # (OPTIONAL) Repo-specific agents (directory for each repo)
β βββ copilot-agents/ # GitHub Copilot custom agents (.agent.md files)
β βββ commands/ # Wrappers around agents/skills
β βββ guidelines/ # Long-form documentation
β β βββ global/ # Global guidelines (for all repos)
β β βββ <repo-name>/ # (OPTIONAL) Repo-specific guidelines (directory for each repo)
β βββ settings/ # Repository-specific settings files
β β βββ <repo-name>/ # Directory per repository
β β βββ settings.json # Settings file for that repo
β βββ hooks/ # Event-driven scripts
β βββ skills/ # Small, focused behavior
β βββ global/ # Skill-developer, logging conventions, security-guardrails, testing-convention
β βββ <repo-name>/ # (OPTIONAL) Repo-specific skills (directory per repo)
β
β
βββ repo-a/
β βββ .claude/
β β βββ agents/
β β β βββ global/ # symlink to orchestrator/shared/agents/global
β β β βββ <repo-a>/ # symlink to orchestrator/shared/agents/<repo-a>
β β βββ commands/ # symlink to orchestrator/shared/commands
β β βββ guidelines/
β β β βββ global/ # symlink to orchestrator/shared/guidelines/global
β β β βββ <repo-a>/ # symlink to orchestrator/shared/guidelines/<repo-a>
β β βββ hooks/ # symlink to orchestrator/shared/hooks
β β βββ skills/
β β βββ global/ # symlink to orchestrator/shared/skills/global
β β βββ <repo-a>/ # symlink to orchestrator/shared/skills/<repo-a>
β β βββ settings.json # symlink to orchestrator/shared/settings/<repo-a>/settings.json
β βββ .github/ # (optional - if copilotAgents enabled)
β β βββ agents/ # symlink to orchestrator/shared/copilot-agents
β βββ CLAUDE.md # Repo Specific Entry Point; MUST exist
β...
(you can have any number of repositories)
For in depth details on all the resources in the orchestrator, see: docs/orchestrator-resources.md
During setup, symlinks are created to connect each repository to the shared resources in the orchestrator.
Global Agents (shared/agents/global/)
7 specialized agents for code review, refactoring, planning, documentation, error fixing, and web research. Available to all repos via symlinks.
Orchestrator Agents (shared/agents/orchestrator/)
Agents that run ONLY from the orchestrator repository (NOT symlinked to application repos):
cross-repo-doc-sync- Keeps orchestrator docs aligned with your evolving codebase
Copilot Agents (shared/copilot-agents/)
GitHub Copilot custom agent configurations for specialized AI personas (code review, refactoring, documentation, etc.). Optionally symlinked to each repo's .github/agents/ for VS Code/Copilot integration (enabled via setup wizard).
Hooks (shared/hooks/)
Event-driven scripts that auto-suggest skills and track file changes.
Commands (shared/commands/)
Slash commands like /dev-docs for creating planning docs and /setup-orchestrator for initial configuration.
Global Skills (shared/skills/global/)
Meta-skill for creating new skills. Auto-triggers when working on the skill system.
Global Guidelines (shared/guidelines/global/)
Documentation standards that all agents and skills follow. Language-agnostic best practices.
Repo-Specific Resources (one set per repository) The wizard generates custom skills, guidelines, and optionally agents tailored to each repo's tech stack. Skills auto-trigger when sending a message in Claude Code in that repo, guidelines provide tech-specific patterns, and agents offer specialized assistance.
1. Skills Auto-Trigger After a Message To Claude
- Edit a file in your repo β Orchestrator detects the file path and tech stack
- Relevant skill activates automatically on your next prompt
- Example: Edit
backend/app/main.pyβ Python/FastAPI skill provides error handling patterns and best practices
2. Ask Claude Code for Help (Agents Invoke Automatically)
- Just describe what you need in natural language
- Claude Code automatically launches the right agent (or specifically ask Claude to use an agent's name)
- Examples:
- "Review my authentication code" β
code-architecture-revieweragent runs - "Use code-architecture-reviewer agent to review my authentication code" β explicitly invokes that agent
- "Help me plan a refactor" β
refactor-planneragent creates a plan - "Fix these TypeScript errors" β
auto-error-resolveragent fixes them
- "Review my authentication code" β
3. Use Slash Commands for Complex Tasks
/dev-docs feature-name and descriptionβ Creates planning docs (plan.md, context.md, tasks.md)/dev-docs-updateβ Updates dev docs before context reset/setup-orchestratorβ Runs first-time setup wizard
4. Guidelines Reference (When Needed)
- Skills and agents reference guidelines automatically
- You can read them directly for detailed patterns:
shared/guidelines/<repo-name>/error-handling.md- Error patterns for your stackshared/guidelines/<repo-name>/testing-standards.md- Testing strategiesshared/guidelines/<repo-name>/architectural-principles.md- System architecture
5. Cross Repo Documentation Sync (Orchestrator Only)
- IMPORTANT: This agent is ONLY available when working in the orchestrator repository
- From the orchestrator repo, ask Claude to use
cross-repo-doc-syncagent to update documentation - Examples:
- "Use cross-repo-doc-sync agent to update documentation based on the last 5 commits from all repos"
- "Use cross-repo-doc-sync agent to update documentation based on the last 3 commits in repo-a"
- "Update the documentation using cross-repo-doc-sync agent based on all commits from today"
6. Everything Stays in Sync
- Update an agent in orchestrator β All repos get the update via symlinks
- No manual copying, no version drift
- One source of truth for all AI resources
The wizard:
- Collects org name, repo count, and repo details (name, path, type)
- Scans repos to detect tech stacks
- Generates
SETUP_CONFIG.json, customizesCLAUDE.md, and updatesREADME.mdin orchestrator. - Creates
CLAUDE.mdfor each repo. - Creates repo-specific skills (auto-trigger for each repo's tech stack)
- Generates repo-specific guidelines (error handling, testing, architecture)
- Creates settings.json for each repo (links skills/hooks)
- Validates all generated files
- β macOS - Native symlink support
- β Linux - Native symlink support
β οΈ Windows - Requires Developer Mode or administrator privileges for symlinks
- β Claude Code (primary target)
- β
GitHub Copilot (simplified compatibility):
- Uses basic agent markdown files in
shared/copilot-agents/ - Less comprehensive than Claude Code agents but functional
- Can be used alongside Claude Code infrastructure
- Custom agents work as chat references rather than full skill integration
- Cost-effective for routine tasks - Leverage Copilot for simpler queries and code completion
- Smart token allocation - Use Copilot for basic tasks, preserve Claude Code tokens for complex reasoning and architecture work
- Budget optimization - Allocate easier development tasks to Copilot while reserving Claude's full capabilities for critical problem-solving
- Uses basic agent markdown files in
- β
Any tool respecting
.claude/directory structure
- QUICKSTART.md - Detailed setup guide (start here!)
- CLAUDE.md - Complete resource discovery for AI agents
- shared/agents/README.md - Agent capabilities guide
- dev/README.md - Dev docs pattern explanation
Additional reference docs:
- docs/reconfiguration.md - Reconfiguration
- docs/troubleshooting.md - Troubleshooting
- docs/supported-tech-stacks.md - Supported tech stacks
- docs/new-shared-resources.md - Adding new shared resources
- docs/skills_vs_guidelines.md - Skills vs Guidelines
- docs/repo-specific-agents.md - Repo-specific agents
- docs/repo-specific-skills.md - Repo-specific skills
- docs/orchestrator-resources.md - Orchestrator resources
This orchestrator is designed to be customized and extended for your organization's needs. Feel free to:
- Add any useful organization-specific agents
- Create custom skills
- Extend guidelines with your patterns
Created by: mvoutov
Built while working on BoardKit β an AI-powered whiteboard.
This project grew out of the need to manage shared AI resources across BoardKitβs multi-repo architecture.
Inspired by the Reddit post βClaude Code is a Beast β Tips from 6 Months of Hardcore Useβ,
I expanded the idea into a full orchestrator system for syncing documentation and AI resources across repositories.
Its key feature β a cross-repo documentation synchronization agent β keeps docs aligned with your evolving codebase, ensuring AI agents always have up-to-date context.
I hope this project is useful to you! If you find any issues or have suggestions for improvements, I'd love to hear your feedback.
Ready to get started? See QUICKSTART.md for the full setup guide!