NAME
agent.yaml — instruction file for
SYNOPSIS
./
METADATA
DESCRIPTION
agent.yaml is the manifest file for the GitAgent specification, which defines AI agents as portable Git repository structures. Instead of encoding agent behavior in platform-specific formats, GitAgent uses a collection of Markdown files (SOUL.md for identity, RULES.md for constraints, DUTIES.md for objectives) organized under a single YAML manifest.
The specification is framework-agnostic — the same agent repo can be consumed by Claude Code, OpenAI, CrewAI, LangChain, or any runtime that implements a GitAgent adapter. This portability is the key differentiator: agents become versionable, forkable, and composable using standard Git workflows.
The skills directory contains SKILL.md files that define discrete, reusable capabilities. Each skill has defined inputs, outputs, and step-by-step instructions. Skills can be shared across agents, creating an ecosystem of composable agent behaviors.
The tools directory defines external integrations (APIs, MCP servers, CLI tools) that the agent can invoke. The workflows directory enables multi-step orchestration sequences that compose skills and tools into end-to-end processes.
GitAgent draws inspiration from Infrastructure-as-Code practices: agents are declared, versioned, reviewed via PR, and deployed from repositories. This makes agent development accessible to teams already familiar with Git-based workflows.
STRUCTURE
ANNOTATED EXAMPLE
1# GitAgent manifest — defines a portable AI agent as a repo structure
2name: code-review-agent
3version: 1.2.0
4description: Automated code review agent with security focus
5author: acme-team
6license: MIT
7
8# Identity and behavioral core
9soul: SOUL.md # Persona, tone, values
10rules: RULES.md # Hard constraints, safety guardrails
11duties: DUTIES.md # Responsibilities, success criteria
12
13# Composable capabilities
14skills:
15 path: skills/ # Each .md file = one discrete skill
16 # skills/review-pr.md
17 # skills/check-security.md
18 # skills/suggest-tests.md
19
20# External tool integrations
21tools:
22 path: tools/ # Tool interface definitions
23 # tools/github-api.md
24 # tools/sonarqube.md
25
26# Multi-step workflows
27workflows:
28 path: workflows/ # Orchestration sequences
29 # workflows/full-review.md
30
31# Runtime hints (optional, adapter-specific)
32runtime:
33 context_window: 128000
34 temperature: 0.3
35 max_tokens: 4096
COMMON MISTAKES
GitAgent separates identity (SOUL.md) from constraints (RULES.md) deliberately. Mixing them causes confusion when different runtimes interpret the files — constraints should be enforceable, while personality is aspirational.
The agent.yaml file is a declarative manifest that maps the repo structure. All behavioral content lives in the referenced Markdown files (SOUL.md, RULES.md, DUTIES.md) and skill/tool directories. Keep the YAML purely structural.
GitAgent is framework-agnostic by design. Skills should describe what to do, not how a specific model should do it. Avoid Claude-specific or OpenAI-specific syntax in skill files — the runtime adapter handles translation.
Without a version, consumers of your agent cannot pin to a known-good state. GitAgent repos are meant to be shared and composed — versioning enables dependency management and rollback.