Agents
Agents are AI personalities defined in .agent.md files. Each agent declares its domain expertise, available tools, preferred models, WAF alignment, and compatible solution plays. Agents are the interactive primitives of FrootAI โ users invoke them in Copilot Chat for domain-specific assistance.
File Structureโ
Every agent lives in the agents/ directory (or .github/agents/ inside a solution play) and follows this structure:
---
description: "RAG pipeline design โ chunking, indexing, retrieval, reranking"
name: "FAI RAG Architect"
tools:
- "codebase"
- "terminal"
model: ["gpt-4o", "gpt-4o-mini"]
waf:
- "security"
- "reliability"
plays:
- "01"
- "21"
---
# FAI RAG Architect
You are a RAG pipeline specialist focused on Azure AI Search...
The file has two parts:
- YAML frontmatter โ metadata, tool configuration, WAF alignment
- Markdown body โ the system prompt defining the agent's behavior
Frontmatter Fieldsโ
| Field | Required | Type | Validation |
|---|---|---|---|
description | โ | string | 10+ characters |
name | No | string | Display name shown in Copilot Chat |
tools | No | string[] | Valid tool IDs: codebase, terminal, azure_development, github, fetch |
model | No | string[] | Preferred models in priority order |
waf | No | string[] | Valid WAF pillar names |
plays | No | string[] | 2-digit solution play numbers |
Valid WAF Pillarsโ
Use these exact values โ validation rejects misspellings:
securityreliabilitycost-optimizationoperational-excellenceperformance-efficiencyresponsible-ai
Builder โ Reviewer โ Tuner Triadโ
Each solution play has a dedicated agent triad that follows the build โ review โ tune workflow:
| Role | Naming Convention | Purpose |
|---|---|---|
| Builder | fai-play-NN-builder | Implements the solution play |
| Reviewer | fai-play-NN-reviewer | Reviews for security, WAF, quality |
| Tuner | fai-play-NN-tuner | Validates config and production readiness |
---
description: "Enterprise RAG implementation specialist โ builds ingestion pipelines, retrieval APIs, and evaluation harnesses for Azure AI Search + GPT-4o."
tools: ["codebase", "terminal", "azure_development"]
waf: ["security", "reliability", "cost-optimization"]
plays: ["01"]
---
# FAI Enterprise RAG Builder
You implement enterprise RAG solutions on Azure...
:::tip Agent Handoffs
Use @builder, @reviewer, or @tuner in Copilot Chat to trigger the triad workflow. The builder creates, the reviewer validates, and the tuner optimizes for production.
:::
Agent Categoriesโ
FrootAI provides 238+ agents organized by domain:
- RAG & Search โ
fai-rag-architect,fai-azure-ai-search-expert,fai-embedding-expert - Agent & Multi-Agent โ
fai-autogen-expert,fai-swarm-supervisor,fai-crewai-expert - Infrastructure โ
fai-architect,fai-landing-zone,fai-azure-openai-expert - Security & Compliance โ
fai-security-reviewer,fai-compliance-expert,fai-red-team-expert - DevOps & Tooling โ
fai-devops-expert,fai-test-generator,fai-github-actions-expert
Referencing Agents in fai-manifest.jsonโ
Wire agents into a solution play via the manifest:
{
"primitives": {
"agents": [
"../../agents/fai-rag-architect.agent.md",
"./.github/agents/rag-builder.agent.md"
]
}
}
System Prompt Writing Guideโ
Structure your agent body in this order for maximum effectiveness:
- Opening paragraph โ who the agent is, in one clear sentence
- Core Expertise โ bullet list of specific knowledge areas (10โ20 items)
- Your Approach โ how the agent thinks and works (numbered steps)
- Guidelines โ specific technical defaults and preferences
- Non-Negotiables โ hard rules prefixed with NEVER/ALWAYS
- Response Format โ how to structure outputs
:::warning One Expertise Per Agent An agent should be "RAG architect" not "full-stack developer." Narrow expertise produces better responses. Use the triad pattern for broader coverage. :::
Naming Conventionโ
| Pattern | Example | Use Case |
|---|---|---|
fai-{domain}-expert | fai-azure-openai-expert | Domain expert |
fai-play-{nn}-builder | fai-play-01-builder | Play builder |
fai-{pillar}-reviewer | fai-security-reviewer | WAF specialist |
All filenames must be lowercase-hyphen โ no underscores or camelCase.
Validationโ
npm run validate:primitives
This checks that every agent has:
descriptionwith 10+ characters- Valid
wafpillar names - Correct lowercase-hyphen filename
See Alsoโ
- Create an Agent Guide โ step-by-step tutorial
- FAI Protocol โ how agents wire into plays
- Primitives Overview โ all 6 primitive types