Sync from your codebase
Keep agent definitions in the repo so the source of truth stays with the work.
Agents as code
Agent definitions, skills, and instructions stay in the repo. Teammates can start with their preferred provider, compare changes, and merge improvements back cleanly.
$ go install github.com/Shaik-Sirajuddin/graft/cmd/graft@latest Keep the portable contract clear, then let provider files carry their own native shape. The canonical file remains readable, reviewable, and mergeable.
name: reviewer description: Read-only review agent for graft model: gpt-5.4 reasoning_effort: medium instructions: - read memory/agent_reviewer.md - inspect the assigned domain step by step - return structured findings only sandbox: write: - memory/agents/reviewer/** read: - internal/** - cmd/** - tests/** --- name: reviewer description: Read-only review agent for graft --- You are the reviewer agent for graft. Inspect the assigned domain step by step. Return structured findings only. --- name: reviewer model: gpt-5.4 reasoning_effort: medium --- Read memory/agent_reviewer.md. Review the requested files without editing. Return findings as structured data. # reviewer Role: read-only code reviewer Model: gpt-5.4 - load the project memory - inspect the assigned scope - report actionable findings only # editing .graft/agents/reviewer.yaml name: reviewer model: gpt-5.4 reasoning_effort: medium # regenerated provider file --- name: reviewer description: Read-only review agent for graft --- You are the reviewer agent for graft. Inspect the assigned domain step by step. # editing .graft/agents/reviewer.yaml name: reviewer model: gpt-5.4 reasoning_effort: medium # regenerated provider file --- description: Read-only reviewer alwaysApply: false --- - inspect the assigned scope - report actionable findings only # editing .graft/agents/reviewer.yaml name: reviewer model: gpt-5.4 reasoning_effort: medium # regenerated provider file # reviewer Role: read-only code reviewer Model: gpt-5.4 - load the project memory - report findings only # pulled .graft/agents/reviewer.yaml name: reviewer model: gpt-5.4 reasoning_effort: medium # regenerated provider file --- name: reviewer model: gpt-5.4 reasoning_effort: medium --- Read memory/agent_reviewer.md. Review the requested files without editing. # pulled .graft/agents/reviewer.yaml name: reviewer model: gpt-5.4 reasoning_effort: medium # regenerated provider file --- name: reviewer tools: ['read'] --- Review the assigned domain step by step. Return structured findings only. # pulled .graft/agents/reviewer.yaml name: reviewer model: gpt-5.4 reasoning_effort: medium # regenerated provider file --- name: reviewer model: grok-code --- Inspect the requested files read-only. Report actionable findings. Start with the repo, let teammates work in their preferred provider, and collaborate on agent management as changes move forward.
Keep agent definitions in the repo so the source of truth stays with the work.
Teammates can work in the provider they already use while graft keeps the definition shared.
Try different providers, compare behavior, and bring the best change back into one managed workflow.
A small, versioned workflow for sharing agents from your codebase without forcing every teammate into the same provider.
01
Keep agent definitions beside the work they support, then sync them into every provider surface your team uses.
02
Let each teammate work in Codex, Claude Code, Cursor, GitHub Copilot, Goose, Gemini CLI, and more without splitting the source of truth.
03
Experiment with different providers, review agent changes like code, and resolve updates through explicit merge surfaces.
Start from a canonical definition, then generate and reconcile provider-specific agent files.