Pattern-Oriented Multi-Agent System Architecture
[ EN | 中文 ]
npx add-skill eXtremeProgramming-cn/pomasaThen just tell your AI client (e.g. Claude Code or Codex):
Help me create a multi-agent research system for analyzing AI trends in healthcare.
That's it. The agent will guide you through the rest.
POMASA is a pattern language and generation toolkit for building Declarative Multi-Agent Systems.
Its core value proposition: Enable AI to rapidly construct new MAS systems guided by patterns.
When building multi-agent systems, every team uses their own approach to construct systems and their own terminology to describe architecture. The lack of a common pattern language makes it difficult to:
- Disseminate knowledge
- Reuse experience
- Discuss problems clearly
POMASA adopts a "pattern language + generator" approach:
- Pattern Catalog (
skills/pomasa/pattern-catalog/): Reusable architectural patterns extracted from real systems, each describing a specific problem and its solution - Generator (
skills/pomasa/SKILL.md): A prompt that guides AI to build new systems based on patterns
POMASA patterns are organized into four categories (shown on the left), governing three architectural layers:
- Definition Layer: Blueprints define Agent behavior; Reference Data provides domain knowledge and methodology
- Execution Layer: Intelligent Runtime executes Blueprints; Orchestrator coordinates Workers through staged pipelines
- Data Layer: File System serves as the data bus, with data progressively refined from Materials → Drafts → Final outputs
- Patterns are knowledge carriers: Transform tacit architectural experience into explicit, shareable patterns
- Patterns have necessity levels: Required, Recommended, Optional—systems can be flexibly composed
- AI is the executor: AI reads pattern documents, understands design principles, and generates pattern-conforming systems
- Continuous evolution: New patterns are added as practice accumulates
pomasa/
├── README.md # This file
├── skills/
│ └── pomasa/ # POMASA skill (installable)
│ ├── SKILL.md # Generator instructions
│ ├── user_input_template.md
│ └── pattern-catalog/ # Pattern catalog
│ ├── README.md
│ ├── COR-01-...
│ ├── STR-01-...
│ ├── BHV-01-...
│ └── QUA-01-...
└── references/ # Background reading materials
├── declarative-multi-agent-architecture-part1-en.md
└── declarative-multi-agent-architecture-part2-en.md
Install POMASA as an agent skill for Claude Code, Cursor, Cline, and other compatible agents:
npx add-skill eXtremeProgramming-cn/pomasaAfter installation, simply tell the agent what you want:
Help me create a multi-agent research system for analyzing AI trends in healthcare.
The agent will automatically activate the POMASA skill and guide you through the process.
Tell your AI agent:
Please read skills/pomasa/SKILL.md, then help me create a multi-agent system.
The agent will:
- Ask for your project information (or you can prepare
user_input_template.mdin advance) - Read the relevant patterns in pattern-catalog
- Select the appropriate pattern combination based on your needs
- Generate the complete system files
Please read skills/pomasa/pattern-catalog/README.md, then analyze which patterns [a system directory] uses and what improvements could be made.
Read the pattern documents under skills/pomasa/pattern-catalog/ directly to learn about declarative MAS design principles and best practices.
See skills/pomasa/pattern-catalog/README.md
POMASA patterns are primarily written and tested with Claude Code. The patterns reference these common tool capabilities:
| Tool Category | Purpose | Claude Code Example |
|---|---|---|
| File Read | Read file contents | Read |
| File Write | Create or overwrite files | Write |
| File Edit | Modify existing files | Edit |
| File Search | Find files by pattern | Glob |
| Content Search | Search text in files | Grep |
| Web Search | Find web pages | WebSearch |
| Web Fetch | Retrieve web page content | WebFetch |
| Command Execution | Run shell commands | Bash |
| Subagent Launch | Start a child agent | Task |
For other runtimes (Cursor, Cline, Windsurf, etc.): If your runtime uses different tool names or doesn't have a particular tool, find an equivalent in your environment. The patterns describe what capability is needed, not which specific tool to use.
MCP Tools: Some patterns mention MCP (Model Context Protocol) tools with naming format mcp__server__tool. These are specific to runtimes that support MCP. If your runtime doesn't support MCP, use the built-in equivalents (e.g., use WebSearch instead of an MCP search tool).
Xiong Jie. A Pattern Language for Knowledge Engineering with Large Language Models. In Proceedings of the 32nd Conference on Pattern Languages of Programs, People, and Practices (PLoP 2025), Skamania Lodge, Columbia River Gorge, WA, USA. ACM, 2026. DOI: 10.64346/PLoP2025p02 | Full text
