Collaboratively develop agents with your team.
Note
Agent definitions, skills, instructions, and agent memory — all managed as code.
Developers use agents across Claude Code, Codex, Copilot, and more. graft lets you maintain agent definitions and convert them to and from provider-specific formats. An enhancement to one agent is synced to the others using git-merge-style resolution.
graft sync agents
- Agents are auto-detected in Claude Code | Codex | Grok CLI | …
- Edit directly via
.codex/agents/designer.tomlor in.graft/agents/ - Run
graft sync agentsto propagate changes to all other provider configs
Share your agent definitions with your team inside your existing codebase repo.
Tip
- Team collaboration — agent definitions live in
.graft/agents/alongside your code: versioned, reviewed, and shared via git. - Two-way sync — edit at any provider; graft reads the change and writes it back to all the others.
- Auto resolution — concurrent edits are merged using a branch-per-file strategy with conflict detection.
- Skills, auto-synced — drop a skill in
.agents/skills/and graft symlinks it into every supporting provider's skills dir ongraft sync. - Broad coverage — syncs across 8 providers (Claude Code, Codex, Cursor, GitHub Copilot, OpenCode, Roo Code, Goose, Grok CLI) — and growing.
# .graft/agents/designer/agent.yaml
name: designer
description: UI/UX design reviewer
model: claude-sonnet-4-6 # default model for every provider
tools:
- read_file
- web_search
# Per-provider overrides — override any field a provider supports
# (model, tools, temperature, …). `name` stays canonical and is never overridden.
providerOverrides:
claude-code:
model: claude-opus-4-8
github-copilot:
model: gpt-5.4
opencode:
temperature: 0.2The agent's system prompt / instructions live alongside it in
.graft/agents/designer/instructions.md.
Place this directory in .graft/agents/<name>/ and run graft sync agents — graft writes the equivalent config for every enabled provider, applying each provider's overrides on top of the shared defaults.
.graft/agents/*/agent.yaml is described by a JSON Schema — point your editor at it for validation and autocomplete. In VS Code (Red Hat YAML extension):
…or add a modeline to the top of any agent.yaml: # yaml-language-server: $schema=<path-or-url>.
| Provider | Config location |
|---|---|
| claude-code | .claude/agents/<name>.md |
| codex | .codex/agents/<name>.toml |
| cursor | .cursor/agents/<name>.mdc |
| github-copilot | .github/copilot-instructions.md |
| opencode | .opencode/agents/<name>.toml |
| roo-code | .roo/agents/<name>.md |
| goose | .goose/agents/<name>.yaml |
| grok-cli | .grok/agents/<name>.md |
| Deprecated 2026-06-15 |
See the documentation site for installation instructions, a quickstart, and the full command reference.
go install github.com/Shaik-Sirajuddin/graft/cmd/graft@latest# Initialize graft in your repo
graft init
# List detected agents across all providers
graft agent list
# Sync all agents to every provider
graft sync agents
# Check drift
graft agents status