Transform AI coding assistants into specialized domain agents using markdown files and folder structure. No code required.
This is a Kiro CLI compatible version of the Open Agent System, enhanced with Anthropic's skill-creator tooling for advanced use cases.
The Problem:
Building custom AI agents requires software engineeringβcode, deployments, UIs, infrastructure.
The Solution:
Open Agent System lets you define multi-agent workflows in markdown files. The AI reads your instructions and becomes that agent.
This Version:
- β Full Open Agent System specification
- β Kiro CLI integration (steering + agents)
- β Skills support (progressive loading)
- β Skill Creator tooling (bundled resources)
- β Compatible with Claude Code, Gemini CLI, Codex
Open Agent System by @bladnman:
- Repository: https://github.com/bladnman/open-agent-system
- Original Definition: OpenAgentDefinition.md
Skill Creator by Anthropic:
- Repository: https://github.com/anthropics/skills/tree/main/skills/skill-creator
- Documentation: https://code.claude.com/docs/en/skills
You can use this Open Agent System to generate the complete agent infrastructure for your new software project. Simply provide this repository URL to your AI assistant:
Example prompt:
Create a Python + FastAPI project for managing poker game groups and tournaments.
Use https://github.com/fabiojmf/open-agent-system as the foundation to set up
the complete Open Agent System structure with:
- Agent definitions for architecture, backend, and testing
- Kiro CLI configuration with skills and proper tool permissions
- Steering files for product context and tech stack
- YAML frontmatter for progressive context loading
Then scaffold the FastAPI application structure around it.
What you'll get:
- β
Complete
.kiro/configuration (agents, steering, skills) - β
open-agents/folder with agent definitions - β Entry point files (AGENTS.md, CLAUDE.md, GEMINI.md)
- β Your software project structure
- β Ready to use with Kiro CLI, Claude Code, Codex, or Gemini CLI
# 1. Create your project structure
project/
βββ open-agents/
β βββ INSTRUCTIONS.md # Router with agent routing logic
β βββ agents/
β βββ researcher.md # Agent definitions
β βββ architect.md
βββ .kiro/
βββ steering/
β βββ agents.md # Points to INSTRUCTIONS.md
βββ agents/
βββ default.json # Kiro agent configuration// .kiro/agents/default.json
{
"prompt": "file://../../open-agents/INSTRUCTIONS.md",
"resources": [
"skill://../../open-agents/agents/*.md"
]
}Learn more: Follow the complete guide in OpenAgentDefinition.md
Multi-agent routing with explicit control:
open-agents/
βββ INSTRUCTIONS.md # Central router
βββ agents/
βββ researcher.md # Specialized agents
βββ architect.md
βββ backend.md
When to use: You need multiple specialized agents with explicit routing logic.
Learn more: Sections 1-9 in OpenAgentDefinition.md
Add YAML frontmatter to agent files for on-demand loading:
---
name: researcher
description: Research topics and create articles. Use when user asks to research.
---
# Researcher Agent
[Full definition loaded only when needed]When to use: Keep context lean by loading agent definitions on demand.
Learn more: Section 4.1 in OpenAgentDefinition.md
Two approaches available:
Interactive, intelligent skill creation with no manual editing:
User: "create a skill for backend in Java, Spring Boot"
Agent:
β
Asks clarifying questions
β
Generates complete content (NO TODOs)
β
Creates supporting files if needed
β
Validates automatically
β
Reports completion
Result: Production-ready skill, no manual editing required
During project bootstrap:
User: Create study routine app using https://github.com/fabiojmf/open-agent-system
AI:
β
Project structure created
π Suggested skills based on your description:
1. mobile-ui-components
2. study-analytics
3. notification-scheduler
Would you like me to create these? (yes)
β
All skills created and validated
π― Your Open Agent System is ready!
Learn more: See Templates/skill-creator-agent.md
For users who prefer command-line tools or need CI/CD integration:
# 1. Create skill structure (generates template)
python scripts/init_skill.py --path ./skills/pdf-editor
# Structure created:
skills/pdf-editor/
βββ SKILL.md # Template with TODOs - YOU EDIT THIS
βββ scripts/ # Add your Python/Bash scripts here
βββ references/ # Add detailed docs here
βββ assets/ # Add templates/files here
# 2. Edit SKILL.md manually
# Replace TODOs with your actual skill content:
# - Update description (this triggers the skill)
# - Write "When to Use" scenarios
# - Define the workflow
# - Add code examples/patterns
# 3. Validate (checks for TODOs and format)
python scripts/quick_validate.py ./skills/pdf-editor
# 4. Package for distribution
python scripts/package_skill.py ./skills/pdf-editor
# Creates: pdf-editor.skill (distributable zip)When to use scripts:
- CI/CD pipelines (automated validation)
- Distribution (packaging skills)
- Prefer command-line tools
When to use agent:
- Interactive creation
- Need help with content
- Want automatic suggestions
- Bootstrap new projects
Use INSTRUCTIONS.md for routing
Define agents in markdown files
No YAML frontmatter needed
Use INSTRUCTIONS.md for routing
Add YAML frontmatter to agent files
Agents load progressively on demand
Use INSTRUCTIONS.md for routing
Add YAML frontmatter to agent files
Use tooling for complex agents with bundled resources
Package and distribute skills
Most projects use Pattern B (Open Agent System + Skills)
OpenAgentDefinition/
β
βββ README.md # This file
βββ OpenAgentDefinition.md # Complete specification
βββ LICENSE
β
βββ scripts/ # Skill Creator tooling (optional)
β βββ init_skill.py # Create skill structure
β βββ quick_validate.py # Validate skill (Anthropic spec)
β βββ package_skill.py # Package skill for distribution
β
βββ Templates/ # Kiro CLI templates
βββ kiro_steering_agents.md
βββ kiro_steering_product.md
βββ kiro_steering_tech.md
βββ kiro_steering_structure.md
βββ kiro_agent_driver.json
βββ example_agent_with_frontmatter.md
βββ skill-creator-agent.md # Intelligent skill creation agent
Starting a new project with multiple agents?
ββ Use Open Agent System (Pattern B)
ββ Add Skills for progressive loading
Need scripts or bundled resources?
ββ Add Skill Creator tooling (Pattern C)
Just want simple skills without routing?
ββ Use basic YAML frontmatter (Section 4.1)
- Read the specification β
OpenAgentDefinition.md - Copy templates β Use files from
Templates/in your.kiro/folders - Create agents β Define your specialized agents in
open-agents/agents/ - Add routing β Create
INSTRUCTIONS.mdwith routing logic - Enhance with skills β Add YAML frontmatter for progressive loading
- Use tooling β Run
init_skill.pyfor complex agents
This system works with ALL major AI coding assistants!
While optimized for Kiro CLI, the same agent definitions and skills work seamlessly across:
| Tool | Entry Point | How It Works | Status |
|---|---|---|---|
| Kiro CLI | .kiro/steering/ + .kiro/agents/ |
Configured via JSON, uses steering files | β Primary |
| Claude Code | CLAUDE.md |
Auto-detects skills with YAML frontmatter | β Fully Supported |
| Gemini CLI | GEMINI.md |
Auto-detects skills with YAML frontmatter | β Fully Supported |
| Codex | AGENTS.md |
Reads markdown files and routing logic | β Fully Supported |
Key Benefit: Write your agents and skills once, use them everywhere. The open-agents/ folder and skill definitions are tool-agnostic.
What's Different:
- Entry points - Each tool has its own entry file
- Configuration - Kiro uses JSON, others use markdown
- Agent definitions - Same files work for all tools β
- Skills - Same YAML frontmatter works for all tools β
- What Is an Open Agent System?
- Core Architecture & Pointer Pattern
- Folder Structure & Agent Anatomy
- INSTRUCTIONS.md Router
- Command System
- Kiro CLI Integration
- Skills & Progressive Loading
- Knowledge Bases
- Complete Examples
This is a derivative work based on the Open Agent System specification.