
This is the scaffolding tool for building OpenGAP agents from scratch. It handles the boilerplate: generating agent.yaml configs with model preferences and constraints, writing SOUL.md personality definitions, and setting up the directory structure for skills, tools, and knowledge documents. You'd reach for this when spinning up a new agent rather than hand-writing all the YAML and markdown files. The quick start is solid, walking you through mkdir to validation, and the SOUL.md guidance about core identity and communication style is actually helpful. One thing to note is it assumes you're familiar with the OpenGAP agent structure, so if you're brand new to the framework, read through the reference sections first.
$ npx -y skills add open-gitagent/opengap --skill create-agent --agent claude-codeInstalls into .claude/skills of the current project.
mkdir -p my-agent/skillsagent.yaml with required fields (see below)SOUL.md with agent identityopengap validate -d ./my-agentspec_version: "0.1.0"
name: my-agent # Unique identifier
version: 1.0.0 # Semantic version
description: What this agent does
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:
- code-review # Must match directory name in skills/
- security-audit
tools:
- lint-check # Must match filename in tools/ (without .yaml)
runtime:
max_turns: 20 # Max conversation turns
timeout: 120 # Seconds
agents:
reviewer:
description: Reviews code quality
delegation:
mode: auto
triggers:
- "review this"
A SOUL.md should have these sections:
Structure as:
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]
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
Create knowledge/index.yaml:
documents:
- path: reference.md
always_load: true # Include in system prompt
- path: appendix.md
always_load: false # Available on demand
Sponsors