Synaptic AI Consulting
Estimated time: ~15 minutes
Outcome: Can explain AAMAD’s three phases and the idea of Development Crew vs Application Crew
Framework version: This course targets AAMAD v0.7.5
By the end of this module, you will be able to:
aamad validate) and multi-IDE initAAMAD (AI-Assisted Multi-Agent Application Development) is an open, production-grade context engineering framework for building, deploying, and evolving multi-agent applications. It systematizes research-driven planning, modular AI agent workflows, and rapid MVP/devops pipelines for enterprise-ready AI solutions.
Think of AAMAD as a methodology and toolkit that helps you:
In AAMAD, the development crew (personas, rules, templates, and artifacts) is the stable methodology. Runtime adapters are an implementation choice for what backend runtime your generated MVP targets—not a change to how Define → Build → Deliver is orchestrated.
AAMAD is built on the principle that context engineering (not model tweaking) is the core lever for building reliable, maintainable agentic systems.
AAMAD organizes work into three sequential phases, each with clear artifacts, personas, and rules to keep development auditable and reusable:
flowchart LR
A[DEFINE<br/>Context Setup] --> B[BUILD<br/>Execution and Code]
B --> C[DELIVER<br/>Operations and Deploy]
style A fill:#e1f5ff,stroke:#01579b,stroke-width:2px,color:#000000
style B fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000000
style C fill:#f3e5f5,stroke:#4a148c,stroke-width:2px,color:#000000
Goal: Establish a solid foundation with clear research, requirements, and project scope.
Persona: Product Manager (@product-mgr)
Key Activities:
*elicit-requirements) → system-description.mdKey Artifacts (under project-context/1.define/):
system-description.md — recommended when elicitation was usedmrd.md — Market Research Document (optional; skip for internal/personal tools)prd.md — Product Requirements Document (required)user-stories/ — optional MVP storiessad.md — Solution Architecture Document (produced by @system.arch before Build implementation)Why This Matters: Without clear definition, AI agents lack the context needed to make good decisions. The Define phase ensures everyone (human and AI) understands what we’re building and why.
Goal: Execute multi-agent development to produce working code, architecture, and integration for a selected runtime target.
Personas (invocation uses dotted handles; see AGENTS.md after init):
@system.arch — Designs solution architecture (sad.md)@project.mgr — Scaffolds environment and documents setup.md@frontend.eng — Builds UI components → frontend.md@backend.eng — Implements backend for the selected runtime → backend.md@integration.eng — Wires components and APIs → integration.md@qa.eng — Unit + integration tests and smoke/acceptance → qa.md@security.eng — Recommended pre-Deliver security assessment → security.mdKey Activities:
AAMAD_TARGET_RUNTIME in the Audit section)*test-unit, *test-integration, smoke tests)Key Artifacts (under project-context/2.build/):
setup.md, frontend.md, backend.md, integration.md, qa.mdsecurity.md (recommended)Note: The SAD lives in project-context/1.define/sad.md even though architecture work gates Build.
Why This Matters: The Build phase transforms requirements into working software through coordinated multi-agent execution. Each agent persona has a single responsibility, ensuring quality and maintainability.
Goal: Package, deploy, and operationalize the validated MVP.
Persona: DevOps Engineer (@devops.eng)
Key Activities:
AAMAD_TARGET_RUNTIMEdeploy.mduser-guide.md (*document-user-guide)Key Artifacts (under project-context/3.deliver/):
deploy.md — primary delivery runbook (hosting, env matrix, access, rollback)user-guide.md — optional operator / end-user guideWhy This Matters: Building software is only half the battle. The Deliver phase ensures your application can run reliably, be operated by others, and evolve over time.
This is a critical distinction in AAMAD:
The Development Crew consists of AI agent personas that build your application. These are the “construction workers” who create the software:
@product-mgr) — Defines what to build@system.arch) — Designs how to build it@project.mgr) — Scaffolds the environment@frontend.eng) — Builds user interfaces@backend.eng) — Implements business logic for the target runtime@integration.eng) — Connects components@qa.eng) — Ensures quality@security.eng) — Assesses security (recommended)@devops.eng) — Deploys and operatesThese agents are temporary—they exist during development to create your application. Once the project is complete, they’re done.
Example: When building a customer service chatbot, the Development Crew includes agents like @frontend.eng (who builds the chat UI) and @backend.eng (who implements the conversation logic).
The Application Crew consists of AI agents that are your application. These are the agents that end users interact with in production:
These agents are permanent—they run in production and deliver value to end users. Their implementation conventions come from the selected runtime adapter (CrewAI by default in this course).
Example: In a customer service chatbot application, the Application Crew might include:
flowchart TD
subgraph AppCrew["APPLICATION CREW (Permanent)"]
direction TB
Support[Support Agent]
Doc[Document Analyzer]
Workflow[Workflow Orchestrator]
Rec[Recommendation Engine]
end
AA((Agentic Architect))
subgraph DevCrew["DEVELOPMENT CREW (Temporary)"]
direction TB
PM[Product Manager]
SA[System Architect]
FE[Frontend Engineer]
BE[Backend Engineer]
IE[Integration Engineer]
QA[QA Engineer]
DO[DevOps Engineer]
end
AppCrew <-->|Orchestrates| AA
AA <-->|Orchestrates| DevCrew
style AppCrew fill:#e8f5e9,stroke:#2e7d32,stroke-width:3px,color:#000000
style AA fill:#bbdefb,stroke:#1976d2,stroke-width:4px,color:#000000
style DevCrew fill:#fff3e0,stroke:#e65100,stroke-width:3px,color:#000000
style PM fill:#ffccbc,color:#000000
style SA fill:#ffccbc,color:#000000
style FE fill:#ffccbc,color:#000000
style BE fill:#ffccbc,color:#000000
style IE fill:#ffccbc,color:#000000
style QA fill:#ffccbc,color:#000000
style DO fill:#ffccbc,color:#000000
style Support fill:#c8e6c9,color:#000000
style Doc fill:#c8e6c9,color:#000000
style Workflow fill:#c8e6c9,color:#000000
style Rec fill:#c8e6c9,color:#000000
Each workflow is owned and documented by a clear AI agent persona with a single responsibility principle. This ensures:
All major actions, decisions, and documentation are stored as markdown artifacts, ensuring:
Define templates require Sources, Assumptions, Open Questions, and Audit sections so decisions stay auditable across phases.
AAMAD_TARGET_RUNTIME selects the backend conventions used when @backend.eng (and related Build personas) implement the Application Crew:
| Runtime | Status | Best fit |
|---|---|---|
crewai |
Default | Declarative task orchestration with YAML-first runtime configuration |
claude-agent-sdk |
Supported | Agentic runtime harness with hooks, MCP, and session control |
cursor-sdk |
Supported | TypeScript-first Cursor runtime integration |
This course uses crewai for the mini-project. Choosing another runtime changes generated MVP conventions—not the Define → Build → Deliver methodology.
aamad validate --phase define|build|deliverprompt-sync-docs (Claude Code: /sync-docs) to resynchronize project-context/Big tasks are broken into epics for faster, more autonomous work with retained quality control. Framework artifacts (in .cursor/ for Cursor, or IDE-equivalent paths) are reusable; project-context/ holds instance-specific documentation.
After aamad init --ide cursor, your project structure looks like this:
your-project/
├─ .cursor/ # Framework artifacts (Cursor)
│ ├─ agents/ # Persona definitions (@product-mgr, @backend.eng, …)
│ ├─ prompts/ # prompt-phase-1, prompt-sync-docs
│ ├─ rules/ # aamad-core, workflows, runtime adapters
│ └─ templates/ # MRD, PRD, SAD, system-description, user-guide, …
│
├─ project-context/ # Project-specific artifacts
│ ├─ 1.define/ # system-description, MRD, PRD, SAD, stories
│ ├─ 2.build/ # setup, frontend, backend, integration, qa, security
│ └─ 3.deliver/ # deploy.md, optional user-guide.md
│
├─ AGENTS.md # Bridge file + Framework version stamp
├─ CHECKLIST.md # Step-by-step Define → Build → Deliver guide
├─ aamad.config.example.yml # Optional project preferences template
└─ src/ # Your application source code (created during Build)
Framework artifacts are reusable across projects.
Project-context contains all generated and instance-specific documentation.
Templates stay under .cursor/templates/ even when you init for Claude Code or VS Code.
AAMAD uses rules to guide AI agent behavior and ensure consistent, high-quality output across all phases. On Cursor these live in .cursor/rules/*.mdc with alwaysApply: true. Other IDEs get equivalent instruction files via aamad init --ide ….
Rules define:
AAMAD_TARGET_RUNTIME shapes backend implementationThe AAMAD framework ships these rule files (Cursor names):
aamad-core — Fundamental principles, context engineering, artifact standards, project configurationdevelopment-workflow — How agents execute the Build phasedelivery-workflow — Deploy, CI, hosting, and Deliver documentationepics-index — Epic → persona mappingadapter-registry — Resolves AAMAD_TARGET_RUNTIME to a concrete adapteradapter-crewai, adapter-claude-agent-sdk, adapter-cursor-sdkRules are loaded automatically when you:
@system.arch)Example: When you invoke @backend.eng, the agent automatically:
aamad-core (quality standards, context engineering)development-workflow (code patterns, testing)adapter-crewai when AAMAD_TARGET_RUNTIME=crewai)AAMAD provides templates (stored in .cursor/templates/) that standardize artifact creation across all phases.
Phase 1: Define
system-description-template.md — Structured elicitation intakemrd-template.md — Market Research Document (optional for commercial products)prd-template.md — Product Requirements Documentuser-story-template.md — MVP user storiessad-template.md — Solution Architecture Document (runtime-neutral; parameterized by AAMAD_TARGET_RUNTIME)sfs-template.md — System Functional SpecificationsPhase 3: Deliver
user-guide-template.md — Operator / end-user guideAlso included: aamad-config-template.yml for optional project preferences (language, UI, testing, security).
@product-mgr), it knows which template to useExample Workflow:
You: @product-mgr *create-prd for our customer service chatbot
Agent:
1. Loads prd-template.md
2. Fills in each section based on your requirements
3. Creates project-context/1.define/prd.md
4. Ensures Sources, Assumptions, Open Questions, and Audit are complete
Agents (.cursor/agents/)
backend-eng.md) and dotted chat handles (@backend.eng)dev-crew.md documents the full Development Crew naming conventionPrompts (.cursor/prompts/)
prompt-phase-1 — Phase 1 Define kickoffprompt-sync-docs — Resynchronize project-context/ after code changesCHECKLIST.md (project root)
AGENTS.md (project root)
Framework version: from the installed package (e.g. 0.7.5)Recommended path (Cursor):
# Requires Python 3.9+ (pip install from PyPI)
pip install "aamad>=0.7.5,<0.8"
# or: uv pip install "aamad>=0.7.5,<0.8"
aamad init --ide cursor --dest /path/to/your/project
Other IDEs:
| IDE | Command |
|---|---|
| Cursor (default) | aamad init --ide cursor --dest . |
| Claude Code | aamad init --ide claude-code --dest . |
| VS Code + GitHub Copilot | aamad init --ide vscode --dest . |
Optional next steps after init:
aamad.config.example.yml → aamad.config.yml for shared preferencesAAMAD_TARGET_RUNTIME=crewai (default) before BuildCHECKLIST.md (or this course’s simplified hands-on path)aamad validate --phase define (optional) at phase gatesOnce set up, you follow the three-phase process, using the Development Crew to build your Application Crew.
Reflect on these questions to solidify your understanding:
Phase Identification: Which AAMAD phase does “Writing a Product Requirements Document” belong to?
Phase Identification: Which AAMAD phase does “Deploying an application to production” belong to?
Phase Identification: Which AAMAD phase does “Writing unit tests for a feature” belong to?
Phase Identification: Which AAMAD phase does “Creating deploy.md for operations” belong to?
Phase Identification: Which AAMAD phase does “Designing the system architecture” belong to?
Crew Distinction: Imagine you’re building a document processing system. What would be in your Application Crew? (What agents will users interact with?)
Crew Distinction: Imagine you’re building a document processing system. What would be in your Development Crew? (What agents will build the system?)
Artifact Traceability: Why is it important that AAMAD stores all decisions as markdown artifacts? How does this help with maintenance and debugging?
Persona Benefits: How does the persona-driven approach (single responsibility per agent) help prevent the “slop” problem in AI-assisted development?
Phase Dependencies: Why must the phases run in order (Define → Build → Deliver)? What would happen if you tried to Build without Define, or Deliver without Build?
Rules Consistency: How do AAMAD rules ensure consistency across different agent personas and chat sessions?
Templates vs Artifacts: What’s the difference between a template (like prd-template.md) and the actual artifact (like prd.md)? Why are templates important for maintaining quality in AI-generated artifacts?
Runtime Adapters: What does AAMAD_TARGET_RUNTIME control—and what does it not change about AAMAD?
Continue to Module 03: Context Engineering Basics