Skip to content

Open Agent System specification with Kiro CLI compatibility

License

Notifications You must be signed in to change notification settings

fabiojmf/open-agent-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Open Agent System (Kiro CLI Compatible)

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.


🎯 What Is This?

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

πŸ™ Credits

Open Agent System by @bladnman:

Skill Creator by Anthropic:


πŸš€ Quick Start

Using This to Bootstrap a New Project

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

Manual Setup

# 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


πŸ“š Core Concepts

1. Open Agent System (The Foundation)

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


2. Skills (Progressive Loading)

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


3. Skill Creator (Advanced Tooling)

Two approaches available:

Approach A: Skill Creator Agent (Recommended)

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

Approach B: Python Scripts (Optional)

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

πŸ”§ Usage Patterns

Pattern A: Open Agent System Only

Use INSTRUCTIONS.md for routing
Define agents in markdown files
No YAML frontmatter needed

Pattern B: Open Agent System + Skills

Use INSTRUCTIONS.md for routing
Add YAML frontmatter to agent files
Agents load progressively on demand

Pattern C: Open Agent System + Skills + Skill Creator

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)


πŸ“ File Structure

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

πŸ” When to Use What

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)

πŸŽ“ Learning Path

  1. Read the specification β†’ OpenAgentDefinition.md
  2. Copy templates β†’ Use files from Templates/ in your .kiro/ folders
  3. Create agents β†’ Define your specialized agents in open-agents/agents/
  4. Add routing β†’ Create INSTRUCTIONS.md with routing logic
  5. Enhance with skills β†’ Add YAML frontmatter for progressive loading
  6. Use tooling β†’ Run init_skill.py for complex agents

πŸ”§ Tool Compatibility

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's in OpenAgentDefinition.md

  • 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

πŸ“ License

This is a derivative work based on the Open Agent System specification.

About

Open Agent System specification with Kiro CLI compatibility

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages