create-agent
// Guide users through agent.yaml configuration, SOUL.md writing, and directory structure
$ git log --oneline --stat
stars:125
forks:24
updated:March 1, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namecreate-agent
descriptionCreates and configures agent.yaml files, writes SOUL.md personality definitions, and sets up agent directory structures with skills, tools, and knowledge. Use when the user wants to configure an agent, create agent.yaml, write SOUL.md, set up agent directory structure, or customize agent settings.
licenseMIT
metadata[object Object]
Create & Configure Agents
Quick Start
- Create directory structure:
mkdir -p my-agent/skills - Write
agent.yamlwith required fields (see below) - Create
SOUL.mdwith agent identity - Add skills, tools, and knowledge as needed
- Validate:
gitagent validate -d ./my-agent
agent.yaml Reference
Required Fields
spec_version: "0.1.0"
name: my-agent # Unique identifier
version: 1.0.0 # Semantic version
description: What this agent does
Model Configuration
model:
preferred: claude-sonnet-4-5-20250929
fallback:
- claude-haiku-4-5-20251001
constraints:
temperature: 0.2 # 0.0 - 1.0
max_tokens: 4096
top_p: 0.9
Skills & Tools
skills:
- code-review # Must match directory name in skills/
- security-audit
tools:
- lint-check # Must match filename in tools/ (without .yaml)
Runtime
runtime:
max_turns: 20 # Max conversation turns
timeout: 120 # Seconds
Sub-Agents
agents:
reviewer:
description: Reviews code quality
delegation:
mode: auto
triggers:
- "review this"
Writing a Good SOUL.md
A SOUL.md should have these sections:
- Core Identity — Who is this agent? One clear sentence.
- Communication Style — How does it talk? (direct, friendly, formal, etc.)
- Values & Principles — What does it prioritize?
- Domain Expertise — What does it know?
- Collaboration Style — How does it work with the user?
Writing RULES.md
Structure as:
- Must Always — Non-negotiable behaviors
- Must Never — Hard boundaries
- Output Constraints — Formatting rules
- Interaction Boundaries — Scope limits
Adding Skills
Create skills/<name>/SKILL.md:
---
name: my-skill
description: What this skill does
license: MIT
allowed-tools: Read Edit Grep
metadata:
version: "1.0.0"
---
# Instructions
[Detailed instructions for using this skill]
Adding Tools
Create tools/<name>.yaml:
name: my-tool
description: What this tool does
input_schema:
type: object
properties:
query:
type: string
description: Search query
required:
- query
Adding Knowledge
Create knowledge/index.yaml:
documents:
- path: reference.md
always_load: true # Include in system prompt
- path: appendix.md
always_load: false # Available on demand