sf-agent-framework
Version:
AI Agent Orchestration Framework for Salesforce Development - Two-phase architecture with 70% context reduction
959 lines (777 loc) • 21.5 kB
Markdown
# Agent System Documentation
## Overview
The SF-Agent Framework features 30+ specialized Salesforce agents, each designed for specific roles and responsibilities. Agents operate in two modes: Rich (128k context) for planning and Lean (32k context) for development.
## Agent Architecture
```
┌─────────────────────────────────────────────────────────────┐
│ Agent System │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Planning Agents (128k) │ │
│ ├──────────────────────────────────────────────────────┤ │
│ │ Product Manager │ Business Analyst │ Architect │ │
│ │ Data Architect │ Security Expert │ UX Designer │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Development Agents (32k) │ │
│ ├──────────────────────────────────────────────────────┤ │
│ │ Developer │ Admin │ QA Engineer │ DevOps Lead │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Specialty Agents │ │
│ ├──────────────────────────────────────────────────────┤ │
│ │ OmniStudio │ MCP │ Marketing │ Commerce │ Analytics │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
```
## Core Agents
### Planning Phase Agents (128k Context)
#### 1. SF-Product-Manager
**Purpose**: Define product vision, requirements, and roadmap.
```yaml
agent: sf-product-manager
phase: planning
context_limit: 128000
expertise:
- Product strategy
- Feature prioritization
- Stakeholder management
- ROI analysis
- User story creation
capabilities:
- Requirement elicitation
- Feature specification
- Roadmap planning
- Success metrics definition
- Acceptance criteria creation
outputs:
- requirements.md
- product-roadmap.md
- user-stories.yaml
- success-metrics.md
```
**Usage Example**:
```bash
# Gather requirements for new feature
sf-agent agent sf-product-manager --task "Define requirements for customer portal"
# Create product roadmap
sf-agent agent sf-product-manager --task "Create Q2 2025 roadmap"
```
#### 2. SF-Business-Analyst
**Purpose**: Analyze business processes and translate to technical requirements.
```yaml
agent: sf-business-analyst
phase: planning
context_limit: 128000
expertise:
- Process mapping
- Gap analysis
- Data flow analysis
- Business rule documentation
- Stakeholder interviews
capabilities:
- Process documentation
- Requirements analysis
- Data mapping
- User journey mapping
- Impact assessment
outputs:
- business-requirements.md
- process-flows.md
- data-dictionary.md
- gap-analysis.md
```
**Usage Example**:
```bash
# Analyze current process
sf-agent agent sf-business-analyst --task "Map current order fulfillment process"
# Document business rules
sf-agent agent sf-business-analyst --task "Document pricing calculation rules"
```
#### 3. SF-Architect
**Purpose**: Design technical solutions and system architecture.
```yaml
agent: sf-architect
phase: planning
context_limit: 128000
expertise:
- Solution architecture
- Platform limits
- Integration patterns
- Security architecture
- Performance optimization
capabilities:
- Technical design
- Pattern selection
- Architecture documentation
- Trade-off analysis
- Platform assessment
outputs:
- architecture.md
- technical-design.md
- integration-design.md
- decision-log.md
```
**Core Patterns**:
```javascript
// Architecture patterns this agent understands
const patterns = {
integration: ['REST', 'SOAP', 'Platform Events', 'CDC', 'Bulk API'],
data: ['Master-Detail', 'Lookup', 'External Objects', 'Big Objects'],
security: ['Sharing Rules', 'OWD', 'Profiles', 'Permission Sets'],
performance: ['Selective Queries', 'Batch Apex', 'Queueable', 'Platform Cache'],
};
```
#### 4. SF-Technical-Architect
**Purpose**: Deep technical design and platform optimization.
```yaml
agent: sf-technical-architect
phase: planning
context_limit: 128000
expertise:
- Apex patterns
- LWC architecture
- Governor limits
- Bulk processing
- Async patterns
capabilities:
- Code architecture
- Performance design
- Scalability planning
- Technical standards
- Best practices enforcement
outputs:
- technical-architecture.md
- coding-standards.md
- performance-plan.md
- governor-limits-analysis.md
```
#### 5. SF-Data-Architect
**Purpose**: Design data model and data management strategy.
```yaml
agent: sf-data-architect
phase: planning
context_limit: 128000
expertise:
- Data modeling
- Object relationships
- Data migration
- Data governance
- Large data volumes
capabilities:
- ERD creation
- Object design
- Field optimization
- Index planning
- Archival strategy
outputs:
- data-model.md
- erd-diagram.md
- migration-plan.md
- data-governance.md
```
#### 6. SF-Integration-Architect
**Purpose**: Design integrations and API strategy.
```yaml
agent: sf-integration-architect
phase: planning
context_limit: 128000
expertise:
- API design
- Middleware patterns
- Event-driven architecture
- ETL/ELT
- Real-time vs batch
capabilities:
- Integration design
- API specification
- Error handling
- Retry logic
- Monitoring strategy
outputs:
- integration-architecture.md
- api-specification.yaml
- error-handling.md
- monitoring-plan.md
```
#### 7. SF-Security-Architect
**Purpose**: Design security model and compliance strategy.
```yaml
agent: sf-security-architect
phase: planning
context_limit: 128000
expertise:
- Security model
- Compliance (GDPR, HIPAA, SOC2)
- Encryption
- Authentication
- Data privacy
capabilities:
- Security assessment
- Threat modeling
- Compliance mapping
- Access control design
- Audit trail planning
outputs:
- security-model.md
- compliance-matrix.md
- threat-model.md
- audit-plan.md
```
#### 8. SF-UX-Expert
**Purpose**: Design user experience and interface.
```yaml
agent: sf-ux-expert
phase: planning
context_limit: 128000
expertise:
- SLDS (Salesforce Lightning Design System)
- User research
- Wireframing
- Accessibility
- Mobile design
capabilities:
- UI/UX design
- Wireframe creation
- User flow design
- Accessibility audit
- Design system creation
outputs:
- ux-design.md
- wireframes.md
- user-flows.md
- accessibility-checklist.md
```
### Development Phase Agents (32k Context)
#### 9. SF-Developer
**Purpose**: Implement code and components.
```yaml
agent: sf-developer
phase: development
context_limit: 32000
expertise:
- Apex development
- LWC/Aura
- Triggers
- Batch/Queueable
- Test classes
capabilities:
- Code generation
- Unit testing
- Debugging
- Refactoring
- Code review
templates:
- apex-class.cls
- lwc-component.js
- trigger.trigger
- test-class.cls
- batch-class.cls
```
**Code Generation Example**:
```apex
// Generated by sf-developer agent
public with sharing class AccountService {
public static List<Account> getActiveAccounts() {
return [
SELECT Id, Name, Type, Industry, AnnualRevenue
FROM Account
WHERE Active__c = true
WITH SECURITY_ENFORCED
LIMIT 1000
];
}
public static void updateAccountStatus(Set<Id> accountIds, String status) {
List<Account> accountsToUpdate = new List<Account>();
for(Id accountId : accountIds) {
accountsToUpdate.add(new Account(
Id = accountId,
Status__c = status,
Last_Modified_Date__c = System.now()
));
}
if(!accountsToUpdate.isEmpty()) {
update accountsToUpdate;
}
}
}
```
#### 10. SF-Admin
**Purpose**: Configure Salesforce declaratively.
```yaml
agent: sf-admin
phase: development
context_limit: 32000
expertise:
- Object configuration
- Fields & relationships
- Page layouts
- Record types
- Validation rules
- Process automation
capabilities:
- Metadata creation
- Flow building
- Report creation
- Dashboard design
- Email templates
outputs:
- object-definitions.xml
- field-definitions.xml
- validation-rules.xml
- page-layouts.xml
```
#### 11. SF-QA
**Purpose**: Test implementation and ensure quality.
```yaml
agent: sf-qa
phase: development
context_limit: 32000
expertise:
- Test planning
- Test case creation
- Apex testing
- UI testing
- Performance testing
capabilities:
- Test generation
- Coverage analysis
- Bug identification
- Regression testing
- Load testing
outputs:
- test-plan.md
- test-cases.md
- test-results.md
- coverage-report.md
```
#### 12. SF-DevOps-Lead
**Purpose**: Manage CI/CD and deployment.
```yaml
agent: sf-devops-lead
phase: development
context_limit: 32000
expertise:
- CI/CD pipelines
- Git workflows
- Deployment strategies
- Environment management
- Release planning
capabilities:
- Pipeline creation
- Deployment automation
- Rollback procedures
- Environment setup
- Monitoring setup
outputs:
- deployment-plan.md
- ci-cd-pipeline.yaml
- rollback-plan.md
- monitoring-setup.md
```
### Specialty Agents
#### 13. SF-OmniStudio-Architect
**Purpose**: Design OmniStudio solutions.
```yaml
agent: sf-omnistudio-architect
phase: planning
context_limit: 128000
expertise:
- OmniScripts
- FlexCards
- DataRaptors
- Integration Procedures
- Decision Matrices
capabilities:
- OmniScript design
- FlexCard creation
- DataRaptor mapping
- Integration design
- Industry solutions
```
#### 14. SF-Marketing-Cloud-Specialist
**Purpose**: Marketing Cloud implementation.
```yaml
agent: sf-marketing-cloud-specialist
phase: planning
context_limit: 128000
expertise:
- Journey Builder
- Email Studio
- Automation Studio
- Data Extensions
- AMPscript
capabilities:
- Journey design
- Email template creation
- Automation setup
- Personalization
- Analytics configuration
```
#### 15. SF-Commerce-Cloud-Expert
**Purpose**: Commerce Cloud solutions.
```yaml
agent: sf-commerce-cloud-expert
phase: planning
context_limit: 128000
expertise:
- B2B Commerce
- B2C Commerce
- Product catalog
- Pricing rules
- Cart & checkout
capabilities:
- Storefront design
- Product configuration
- Pricing setup
- Payment integration
- Order management
```
#### 16. SF-Service-Cloud-Specialist
**Purpose**: Service Cloud optimization.
```yaml
agent: sf-service-cloud-specialist
phase: planning
context_limit: 128000
expertise:
- Case management
- Knowledge base
- Omni-channel
- Service Console
- CTI integration
capabilities:
- Case routing design
- Knowledge article creation
- SLA configuration
- Console customization
- Agent productivity tools
```
#### 17. SF-Analytics-Expert
**Purpose**: Analytics and reporting solutions.
```yaml
agent: sf-analytics-expert
phase: planning
context_limit: 128000
expertise:
- Einstein Analytics
- Reports & Dashboards
- SOQL optimization
- Data visualization
- KPI definition
capabilities:
- Dashboard creation
- Dataset design
- SAQL queries
- Lens creation
- Story telling
```
## Agent Communication
### Handoff Protocol
Agents communicate through formal handoff protocol:
```javascript
// Handoff structure
const handoff = {
id: 'HANDOFF-001',
from: 'sf-architect',
to: 'sf-developer',
timestamp: '2025-08-11T10:00:00Z',
artifacts: [
{
type: 'document',
path: 'docs/architecture.md',
description: 'System architecture design',
},
{
type: 'diagram',
path: 'docs/erd.png',
description: 'Entity relationship diagram',
},
],
instructions: {
priority: 'high',
tasks: ['Implement AccountService class', 'Create LWC components for UI', 'Write test classes with 90% coverage'],
constraints: ['Must handle 10k records', 'Response time < 2 seconds', 'Follow coding standards'],
},
validation: {
required: ['All tests passing', 'Code coverage > 85%', 'No security vulnerabilities'],
},
};
```
### Agent Collaboration Patterns
#### 1. Sequential Handoff
```mermaid
graph LR
A[Product Manager] --> B[Business Analyst]
B --> C[Architect]
C --> D[Developer]
D --> E[QA]
E --> F[DevOps]
```
#### 2. Parallel Collaboration
```mermaid
graph TD
A[Architect] --> B[Data Architect]
A --> C[Security Architect]
A --> D[Integration Architect]
B --> E[Developer]
C --> E
D --> E
```
#### 3. Review Loop
```mermaid
graph LR
A[Developer] --> B[Code Review by Architect]
B --> C{Approved?}
C -->|Yes| D[QA]
C -->|No| A
```
## Agent Customization
### Creating Custom Agents
```javascript
// custom-agent.js
const CustomAgent = {
id: 'sf-custom-manufacturing',
name: 'Manufacturing Cloud Specialist',
phase: 'planning',
contextLimit: 128000,
expertise: ['Manufacturing Cloud', 'Sales Agreements', 'Account Forecasting', 'Production Planning'],
capabilities: {
analyze: async (context) => {
// Custom analysis logic
},
generate: async (requirements) => {
// Custom generation logic
},
validate: async (artifacts) => {
// Custom validation logic
},
},
templates: {
'sales-agreement': loadTemplate('sales-agreement.yaml'),
'forecast-model': loadTemplate('forecast-model.yaml'),
},
prompts: {
system: `You are a Manufacturing Cloud specialist...`,
planning: `Analyze manufacturing requirements...`,
implementation: `Implement manufacturing solutions...`,
},
};
// Register custom agent
AgentRegistry.register(CustomAgent);
```
### Extending Existing Agents
```javascript
// Extend base developer agent
const EnhancedDeveloper = {
...BaseDeveloper,
id: 'sf-developer-enhanced',
// Add new capabilities
capabilities: {
...BaseDeveloper.capabilities,
generateMockData: async (schema) => {
// Generate test data
},
performanceOptimize: async (code) => {
// Optimize code for performance
},
},
// Override existing methods
generateTestClass: async (apexClass) => {
// Enhanced test generation with better coverage
},
};
```
## Agent Templates
### Agent Definition Template
```yaml
# agent-template.yaml
agent:
id: sf-agent-name
name: Human Readable Name
version: 1.0.0
phase: planning|development
context:
limit: 128000|32000
optimization: aggressive|normal|minimal
expertise:
- Domain 1
- Domain 2
dependencies:
required:
- template-1.yaml
- reference-1.md
optional:
- example-1.apex
capabilities:
primary:
- capability-1
- capability-2
secondary:
- capability-3
outputs:
documents:
- type: markdown
template: output-template.md
code:
- type: apex
template: code-template.cls
validation:
rules:
- Rule 1
- Rule 2
gates:
- Gate 1
```
## Agent Metrics
### Performance Metrics
```javascript
// Agent performance tracking
const agentMetrics = {
'sf-developer': {
tasksCompleted: 156,
averageTime: 4.2, // minutes
successRate: 0.94,
tokenUsage: {
average: 12500,
maximum: 28000,
minimum: 5000,
},
satisfaction: 4.7, // out of 5
},
'sf-architect': {
tasksCompleted: 89,
averageTime: 8.5, // minutes
successRate: 0.98,
tokenUsage: {
average: 45000,
maximum: 95000,
minimum: 20000,
},
satisfaction: 4.9,
},
};
```
### Quality Metrics
```javascript
// Quality tracking per agent
const qualityMetrics = {
'sf-developer': {
codeQuality: {
bugs: 0.3, // per 100 lines
coverage: 0.87,
complexity: 2.1, // cyclomatic
},
compliance: {
standards: 0.95,
security: 0.98,
performance: 0.92,
},
},
};
```
## Best Practices
### 1. Agent Selection
```javascript
// Choose the right agent for the task
function selectAgent(task) {
const agentMap = {
requirements: 'sf-product-manager',
architecture: 'sf-architect',
'data-model': 'sf-data-architect',
coding: 'sf-developer',
testing: 'sf-qa',
deployment: 'sf-devops-lead',
};
return agentMap[task.type] || 'sf-developer';
}
```
### 2. Context Management
```javascript
// Optimize context for each agent
function optimizeContext(agent, task) {
if (agent.phase === 'planning') {
return {
limit: 128000,
include: ['all-docs', 'history', 'examples'],
compression: false,
};
} else {
return {
limit: 32000,
include: ['current-story', 'standards'],
compression: true,
};
}
}
```
### 3. Agent Chaining
```javascript
// Chain agents for complex workflows
async function chainAgents(workflow) {
const results = [];
for (const step of workflow.steps) {
const agent = getAgent(step.agent);
const input = step.usePrevious ? results[results.length - 1] : step.input;
const result = await agent.execute(input);
results.push(result);
if (step.validate) {
await validateResult(result);
}
}
return results;
}
```
## Troubleshooting
### Common Issues
**Issue: Agent not found**
```bash
# List available agents
sf-agent agent list
# Rebuild agent registry
sf-agent agents rebuild
```
**Issue: Context overflow**
```bash
# Check agent context usage
sf-agent agent sf-developer --context-info
# Switch to lean variant
sf-agent agent sf-developer-lean
```
**Issue: Agent timeout**
```bash
# Increase timeout
sf-agent agent sf-architect --timeout 600
# Use async execution
sf-agent agent sf-architect --async
```
## Agent Reference
### Quick Reference Table
| Agent | Phase | Context | Primary Use |
| ------------------------ | ----------- | ------- | ---------------------- |
| sf-product-manager | Planning | 128k | Requirements & roadmap |
| sf-business-analyst | Planning | 128k | Process analysis |
| sf-architect | Planning | 128k | Solution design |
| sf-technical-architect | Planning | 128k | Technical design |
| sf-data-architect | Planning | 128k | Data modeling |
| sf-integration-architect | Planning | 128k | Integration design |
| sf-security-architect | Planning | 128k | Security design |
| sf-ux-expert | Planning | 128k | User experience |
| sf-developer | Development | 32k | Code implementation |
| sf-admin | Development | 32k | Configuration |
| sf-qa | Development | 32k | Testing |
| sf-devops-lead | Development | 32k | CI/CD & deployment |
## Summary
The SF-Agent Framework's agent system provides:
1. **Specialized Expertise**: Each agent is an expert in its domain
2. **Phase Optimization**: Right-sized context for each phase
3. **Seamless Collaboration**: Formal handoff protocol
4. **Extensibility**: Create custom agents for your needs
5. **Quality Assurance**: Built-in validation and review
The agent system is the heart of the framework, enabling AI-augmented Salesforce development at scale.
_Last Updated: 2025-08-11_
_Version: 4.0.0_