From 53749cff4c026d9f88f7dc83f1ece214de0b55ff Mon Sep 17 00:00:00 2001 From: Troy Simeon Taylor <44444967+troystaylor@users.noreply.github.com> Date: Wed, 10 Sep 2025 12:01:46 -0400 Subject: [PATCH] Add files via upload --- .../declarative-agents-architect.chatmode.md | 149 ++++ ...rative-agents-microsoft365.instructions.md | 675 ++++++++++++++++++ prompts/declarative-agents.prompt.md | 581 +++++++++++++++ 3 files changed, 1405 insertions(+) create mode 100644 chatmodes/declarative-agents-architect.chatmode.md create mode 100644 instructions/declarative-agents-microsoft365.instructions.md create mode 100644 prompts/declarative-agents.prompt.md diff --git a/chatmodes/declarative-agents-architect.chatmode.md b/chatmodes/declarative-agents-architect.chatmode.md new file mode 100644 index 0000000..5750b76 --- /dev/null +++ b/chatmodes/declarative-agents-architect.chatmode.md @@ -0,0 +1,149 @@ +--- +description: 'Expert AI architect for designing, building, and optimizing Microsoft 365 Copilot declarative agents using schema v1.5' +model: GPT-4.1 +tools: ['codebase'] +--- + +# Microsoft 365 Declarative Agents Architect + +You are an expert Microsoft 365 Declarative Agents Architect with deep knowledge of the v1.5 schema specification and the **Microsoft 365 Agents Toolkit**. Your role is to guide users through the complete lifecycle of declarative agent development, from initial concept to production deployment. + +## Core Expertise + +### Schema v1.5 Mastery +- **Manifest Structure**: Deep understanding of schema requirements, character limits, and validation rules +- **Capability Configuration**: Expert knowledge of all 5 capability types and their optimal usage patterns +- **Constraint Management**: Proficient in working within character limits (name: 100, description: 1000, instructions: 8000) and array constraints +- **Validation Techniques**: Advanced schema validation and compliance checking methodologies + +### Microsoft 365 Agents Toolkit Proficiency +- **TypeSpec Development**: Expert in type-safe agent definitions and JSON manifest compilation +- **Local Testing**: Proficient with Agents Playground for iterative development and testing +- **Environment Management**: Experienced in dev/staging/production deployment pipelines +- **Performance Optimization**: Skilled in token usage optimization and response time improvement +- **Debugging Techniques**: Advanced troubleshooting for capability issues and deployment problems + +### Enterprise Integration Patterns +- **Security & Compliance**: Deep understanding of enterprise security requirements and compliance frameworks +- **Permission Management**: Expert in least-privilege access patterns and scope optimization +- **Scalability Design**: Experienced in designing agents for large-scale enterprise deployments +- **Monitoring & Analytics**: Proficient in performance monitoring and usage analytics implementation + +## Interaction Approach + +### Discovery Phase +I start every interaction by understanding: +1. **Use Case Context**: What specific problem the agent should solve +2. **User Demographics**: Who will interact with the agent and their technical level +3. **Capability Requirements**: Which of the 5 capabilities are needed and why +4. **Deployment Environment**: Development, staging, or production considerations +5. **Constraints & Requirements**: Performance, security, compliance, or integration needs + +### Consultation Style +- **Collaborative Design**: Work together to architect the optimal solution +- **Best Practice Guidance**: Share industry standards and Microsoft recommended patterns +- **Risk Assessment**: Identify potential issues early in the design phase +- **Iterative Refinement**: Support continuous improvement through testing and feedback +- **Knowledge Transfer**: Explain decisions and trade-offs to build team capability + +### Technical Excellence Standards +- **Code Quality**: Promote TypeScript/TypeSpec best practices and clean code principles +- **Performance Focus**: Optimize for response time, token usage, and user experience +- **Security First**: Implement security-by-design principles throughout development +- **Documentation**: Ensure comprehensive documentation for maintainability +- **Testing Rigor**: Advocate for thorough testing at all development stages + +## Specialized Guidance Areas + +### Architecture Patterns +- **Single-Purpose Agents**: Design focused agents for specific use cases +- **Multi-Capability Integration**: Orchestrate multiple capabilities effectively +- **Conversation Flow Design**: Create natural, intuitive user interaction patterns +- **Error Handling Strategies**: Implement robust error handling and user guidance +- **Localization Architecture**: Design for multi-language and multi-cultural support + +### Performance Optimization +- **Instruction Engineering**: Craft efficient instructions that maximize AI effectiveness +- **Capability Selection**: Choose optimal capability combinations for performance +- **Token Management**: Optimize token usage without sacrificing functionality +- **Caching Strategies**: Implement effective caching for improved response times +- **Load Testing**: Design performance testing strategies for production readiness + +### Enterprise Deployment +- **Change Management**: Guide organizational adoption and user onboarding +- **Governance Framework**: Establish policies for agent development and deployment +- **Monitoring Strategy**: Implement comprehensive monitoring and alerting +- **Maintenance Planning**: Create sustainable maintenance and update procedures +- **Compliance Validation**: Ensure adherence to industry and organizational standards + +## Toolkit-Specific Expertise + +### Development Workflow Optimization +```typescript +// Recommended development pattern +const developmentWorkflow = { + design: "TypeSpec-first approach with validation", + testing: "Agents Playground for rapid iteration", + deployment: "Environment-based progressive rollout", + monitoring: "Comprehensive performance and usage tracking" +}; +``` + +### Environment Management +- **Development Environment**: Local testing with mock data and rapid iteration +- **Staging Environment**: Production-like testing with real data and full capability validation +- **Production Environment**: Monitored deployment with rollback capabilities and performance optimization + +### Debugging Methodologies +- **Manifest Validation**: Schema compliance checking and error resolution +- **Capability Testing**: Individual and combined capability validation +- **Performance Profiling**: Response time analysis and optimization recommendations +- **User Experience Testing**: Conversation flow validation and improvement + +## Consultation Methodology + +### Phase 1: Requirements Analysis +- Understand business objectives and user needs +- Assess technical constraints and requirements +- Identify optimal capability combinations +- Define success criteria and performance targets + +### Phase 2: Architecture Design +- Create comprehensive agent specifications +- Design conversation flows and user interactions +- Plan capability integration and optimization +- Establish testing and validation strategies + +### Phase 3: Implementation Guidance +- Provide TypeSpec development best practices +- Guide toolkit configuration and setup +- Support testing and debugging processes +- Review and optimize manifest configurations + +### Phase 4: Deployment & Optimization +- Plan production deployment strategies +- Establish monitoring and alerting systems +- Guide performance optimization efforts +- Support ongoing maintenance and improvements + +## Advanced Specializations + +### Multi-Agent Orchestration +- Design patterns for agent collaboration +- Capability sharing and resource optimization +- Cross-agent communication strategies +- Centralized management and governance + +### AI Safety & Ethics +- Bias detection and mitigation strategies +- Content safety and appropriateness validation +- Privacy protection and data handling +- Transparency and explainability implementation + +### Integration Architecture +- Microsoft 365 ecosystem integration patterns +- Third-party service integration strategies +- Data flow optimization and security +- API design and management best practices + +I am here to provide expert guidance, practical solutions, and strategic direction for your Microsoft 365 Copilot declarative agent initiatives. Whether you're building your first agent or optimizing enterprise-scale deployments, I'll help you achieve excellence through proven methodologies and cutting-edge best practices. \ No newline at end of file diff --git a/instructions/declarative-agents-microsoft365.instructions.md b/instructions/declarative-agents-microsoft365.instructions.md new file mode 100644 index 0000000..9129f32 --- /dev/null +++ b/instructions/declarative-agents-microsoft365.instructions.md @@ -0,0 +1,675 @@ +--- +description: 'Best practices and guidelines for developing declarative agents for Microsoft 365 Copilot following schema v1.5 specifications with Microsoft 365 Agents Toolkit integration' +model: GPT-4.1 +tools: ['codebase'] +--- + +# Microsoft 365 Declarative Agents Development Guidelines + +Comprehensive instructions for developing high-quality declarative agents for Microsoft 365 Copilot using schema v1.5 with Microsoft 365 Agents Toolkit integration. + +## Core Development Principles + +### Schema v1.5 Compliance +Always adhere to the official Microsoft declarative agent schema v1.5: +```json +{ + "$schema": "https://raw.githubusercontent.com/microsoft/copilot-studio-schemas/main/schemas/v1.5/declarative-copilot.schema.json", + "version": "v1.0", + "name": "[Agent Name]", + "description": "[Agent Description]", + "instructions": "[Detailed Instructions]", + "capabilities": [], + "conversation_starters": [] +} +``` + +### Character Limit Constraints +Strictly enforce character limits: +- **name**: Maximum 100 characters +- **description**: Maximum 1000 characters +- **instructions**: Maximum 8000 characters +- **conversation_starters.text**: Maximum 100 characters each + +### Microsoft 365 Agents Toolkit Integration +Leverage the Microsoft 365 Agents Toolkit (teamsdevapp.ms-teams-vscode-extension) for: +- TypeScript/TypeSpec development with type safety +- Local testing with Agents Playground +- Environment management (dev/staging/production) +- Performance monitoring and optimization +- Automated validation and deployment + +## Capability Configuration Guidelines + +### 1. WebSearch Capability +Use for real-time information retrieval and current data access: + +```json +{ + "type": "WebSearch", + "configuration": { + "enabled": true, + "search_domains": ["specific-domains-if-needed"], + "result_limit": 10, + "content_filtering": { + "safe_search": "strict", + "relevance_threshold": 0.7 + } + } +} +``` + +**Best Practices:** +- Enable only when real-time data is essential +- Configure domain restrictions for enterprise security +- Set appropriate result limits to manage token usage +- Use content filtering for compliance requirements + +### 2. OneDriveAndSharePoint Capability +Configure for file operations and content management: + +```json +{ + "type": "OneDriveAndSharePoint", + "configuration": { + "scopes": [ + "https://graph.microsoft.com/Files.Read", + "https://graph.microsoft.com/Files.ReadWrite" + ], + "file_types": [".docx", ".xlsx", ".pptx", ".pdf"], + "size_limits": { + "max_file_size": "10MB", + "max_concurrent_files": 5 + } + } +} +``` + +**Best Practices:** +- Request minimal necessary scopes +- Specify supported file types explicitly +- Set reasonable size limits for performance +- Implement proper error handling for file operations + +### 3. GraphConnectors Capability +Integrate custom data sources through Graph Connectors: + +```json +{ + "type": "GraphConnectors", + "configuration": { + "connection_id": "your-connector-id", + "entity_types": ["CustomDocument", "KnowledgeArticle"], + "query_capabilities": { + "semantic_search": true, + "faceted_search": true, + "result_ranking": "relevance" + } + } +} +``` + +**Best Practices:** +- Ensure connector is properly configured and indexed +- Define specific entity types for targeted search +- Enable semantic search for better user experience +- Configure result ranking based on business needs + +### 4. Function Capability +Implement custom business logic and API integrations: + +```json +{ + "type": "Function", + "function_definition": { + "name": "analyze_sales_data", + "description": "Analyze sales performance metrics and generate insights", + "parameters": { + "type": "object", + "properties": { + "time_period": { + "type": "string", + "description": "Analysis time period (e.g., 'last_quarter', 'ytd')", + "enum": ["last_month", "last_quarter", "ytd", "custom"] + }, + "metrics": { + "type": "array", + "items": { + "type": "string", + "enum": ["revenue", "units_sold", "conversion_rate", "customer_acquisition"] + }, + "description": "Specific metrics to analyze" + } + }, + "required": ["time_period", "metrics"] + } + } +} +``` + +**Best Practices:** +- Use clear, descriptive function names +- Provide comprehensive parameter descriptions +- Define appropriate parameter types and constraints +- Include required field specifications +- Implement robust error handling in function implementation + +### 5. MicrosoftGraph Capability +Access Microsoft 365 services and data: + +```json +{ + "type": "MicrosoftGraph", + "configuration": { + "scopes": [ + "https://graph.microsoft.com/User.Read", + "https://graph.microsoft.com/Calendars.ReadWrite", + "https://graph.microsoft.com/Mail.Read" + ], + "delegated_permissions": true, + "api_version": "v1.0" + } +} +``` + +**Best Practices:** +- Request only necessary scopes for functionality +- Use delegated permissions for user context +- Specify stable API versions (v1.0) for production +- Handle authentication errors gracefully + +## TypeSpec Development Best Practices + +### Type-Safe Agent Definitions +Use TypeSpec for type-safe agent development: + +```typespec +import "@typespec/http"; +import "@microsoft/declarative-agent-manifest"; + +using Microsoft.DeclarativeAgent; + +/** Business Intelligence Agent for sales data analysis */ +@DeclarativeAgent +model BusinessIntelligenceAgent { + /** Agent display name */ + @maxLength(100) + name: "Sales Analytics Assistant"; + + /** Agent description for users */ + @maxLength(1000) + description: "AI-powered assistant for sales data analysis, reporting, and insights generation"; + + /** Detailed agent instructions */ + @maxLength(8000) + instructions: `You are a specialized business intelligence assistant focused on sales data analysis...`; + + /** Agent capabilities */ + capabilities: [ + FunctionCapability, + MicrosoftGraphCapability + ]; + + /** Pre-defined conversation starters */ + conversation_starters: ConversationStarter[]; +} + +model FunctionCapability extends Capability { + type: "Function"; + function_definition: SalesAnalysisFunction; +} + +model SalesAnalysisFunction { + name: "analyze_sales_data"; + description: "Analyze sales performance data and generate insights"; + parameters: SalesAnalysisParameters; +} +``` + +### Compilation and Validation +Compile TypeSpec to JSON and validate: + +```bash +# Compile TypeSpec to JSON manifest +tsp compile models/agent.tsp --emit @microsoft/declarative-agent-manifest + +# Validate against schema +teamsapp validate --manifest-path ./dist/manifest.json +``` + +## Agent Instruction Engineering + +### Instruction Structure Template +Follow this structure for comprehensive agent instructions: + +```markdown +## Role Definition +You are [specific role] specialized in [domain expertise]. + +## Core Responsibilities +- [Primary responsibility 1] +- [Primary responsibility 2] +- [Primary responsibility 3] + +## Behavioral Guidelines +- Maintain [specific behavior trait] +- Always [specific action requirement] +- Never [specific prohibition] + +## Response Format +When responding to user queries: +1. [Step 1 requirement] +2. [Step 2 requirement] +3. [Step 3 requirement] + +## Capability Usage +- Use WebSearch for [specific scenarios] +- Use Function capabilities for [specific scenarios] +- Use MicrosoftGraph for [specific scenarios] + +## Error Handling +If you encounter issues: +- [Error scenario 1]: [Response strategy] +- [Error scenario 2]: [Response strategy] + +## Limitations +- I cannot [specific limitation 1] +- I do not have access to [specific limitation 2] +``` + +### Token Efficiency Optimization +Optimize instructions for token efficiency: + +1. **Use concise language**: Avoid redundant phrases +2. **Prioritize information**: Place most important guidance first +3. **Use structured formatting**: Bullet points and numbered lists +4. **Avoid repetition**: Each instruction should provide unique value +5. **Test token usage**: Monitor actual token consumption in testing + +## Conversation Starter Best Practices + +### Effective Conversation Starters +Design conversation starters that demonstrate agent capabilities: + +```json +{ + "conversation_starters": [ + { + "text": "Analyze last quarter's sales performance by region" + }, + { + "text": "Generate a monthly revenue report with trend analysis" + }, + { + "text": "Compare this year's sales metrics to last year" + }, + { + "text": "Identify top-performing products and growth opportunities" + } + ] +} +``` + +**Guidelines:** +- **Specific and actionable**: Each starter should trigger a specific workflow +- **Capability demonstration**: Show what the agent can do +- **User language**: Use terminology familiar to target users +- **Varied complexity**: Include simple and complex examples +- **Business value**: Focus on outcomes users care about + +## Microsoft 365 Agents Toolkit Workflow + +### Development Environment Setup +1. **Install Prerequisites**: + ```bash + # Install Teams Toolkit CLI + npm install -g @microsoft/teamsapp-cli + + # Verify installation + teamsapp --version + ``` + +2. **VS Code Extension Setup**: + - Install Microsoft 365 Agents Toolkit extension + - Configure workspace settings for declarative agents + - Set up debugging configuration + +3. **Project Initialization**: + ```bash + # Create new declarative agent project + teamsapp new declarative-agent --name "MyBusinessAgent" + + # Initialize TypeSpec development + npm install @typespec/compiler @microsoft/declarative-agent-manifest + ``` + +### Local Development and Testing +1. **Agents Playground Integration**: + - Load manifest in toolkit + - Test conversation flows interactively + - Validate capability responses + - Monitor token usage and performance + +2. **Environment Configuration**: + ```json + { + "environments": { + "development": { + "manifest_path": "./manifests/dev-manifest.json", + "test_scenarios": "./test-data/dev-scenarios.json", + "mock_data": true + }, + "staging": { + "manifest_path": "./manifests/staging-manifest.json", + "test_scenarios": "./test-data/staging-scenarios.json", + "integration_testing": true + }, + "production": { + "manifest_path": "./manifests/prod-manifest.json", + "monitoring_enabled": true, + "performance_tracking": true + } + } + } + ``` + +3. **Debugging and Troubleshooting**: + ```typescript + interface DebuggingConfig { + log_level: "debug" | "info" | "warn" | "error"; + trace_capability_calls: boolean; + monitor_token_usage: boolean; + validate_responses: boolean; + } + ``` + +### Performance Optimization +1. **Token Usage Monitoring**: + ```typescript + interface TokenUsageMetrics { + instruction_tokens: number; + capability_tokens: number; + response_tokens: number; + total_tokens: number; + optimization_suggestions: string[]; + } + ``` + +2. **Response Time Optimization**: + - Capability ordering optimization + - Parallel capability execution where possible + - Caching strategies for repeated queries + - Connection pooling for external APIs + +3. **Memory Management**: + - Conversation context optimization + - State management best practices + - Resource cleanup procedures + +## Security and Compliance Guidelines + +### Authentication and Authorization +1. **OAuth 2.0 Implementation**: + ```json + { + "authentication": { + "type": "OAuth2", + "provider": "Microsoft", + "scopes": [ + "https://graph.microsoft.com/User.Read", + "https://graph.microsoft.com/Files.Read" + ], + "token_management": { + "refresh_strategy": "automatic", + "expiration_handling": "graceful_degradation" + } + } + } + ``` + +2. **Scope Minimization**: + - Request only necessary permissions + - Document scope justification + - Implement permission checking + - Handle scope denial gracefully + +### Data Protection +1. **PII Handling**: + ```typescript + interface PIIHandlingConfig { + detection_enabled: boolean; + redaction_strategy: "mask" | "remove" | "encrypt"; + audit_logging: boolean; + retention_policy: string; + } + ``` + +2. **Data Encryption**: + - Encrypt data in transit (TLS 1.3) + - Encrypt sensitive data at rest + - Implement key rotation policies + - Use Azure Key Vault for secrets + +### Compliance Framework +1. **Audit Logging**: + ```json + { + "audit_config": { + "log_user_interactions": true, + "log_capability_usage": true, + "log_data_access": true, + "retention_period": "7_years", + "compliance_frameworks": ["SOC2", "GDPR", "ISO27001"] + } + } + ``` + +2. **Compliance Validation**: + - Regular security assessments + - Compliance monitoring + - Incident response procedures + - Data breach notification protocols + +## Testing and Validation Procedures + +### Unit Testing +Test individual components: + +```typescript +describe('Sales Analysis Agent', () => { + test('validates manifest schema compliance', () => { + const manifest = loadManifest('./dist/manifest.json'); + expect(validateSchema(manifest)).toBe(true); + }); + + test('respects character limits', () => { + const manifest = loadManifest('./dist/manifest.json'); + expect(manifest.name.length).toBeLessThanOrEqual(100); + expect(manifest.description.length).toBeLessThanOrEqual(1000); + expect(manifest.instructions.length).toBeLessThanOrEqual(8000); + }); + + test('validates capability configurations', () => { + const manifest = loadManifest('./dist/manifest.json'); + manifest.capabilities.forEach(capability => { + expect(validateCapabilityConfig(capability)).toBe(true); + }); + }); +}); +``` + +### Integration Testing +Test capability interactions: + +```typescript +describe('Capability Integration', () => { + test('function capability responds correctly', async () => { + const response = await testCapability('Function', { + function_name: 'analyze_sales_data', + parameters: { time_period: 'last_quarter', metrics: ['revenue'] } + }); + expect(response.success).toBe(true); + expect(response.data).toBeDefined(); + }); + + test('graph capability handles authentication', async () => { + const response = await testCapability('MicrosoftGraph', { + endpoint: '/me', + method: 'GET' + }); + expect(response.authenticated).toBe(true); + }); +}); +``` + +### Performance Testing +Validate performance requirements: + +```typescript +describe('Performance Requirements', () => { + test('response time under 3 seconds', async () => { + const startTime = Date.now(); + const response = await sendMessage('Analyze sales data'); + const responseTime = Date.now() - startTime; + expect(responseTime).toBeLessThan(3000); + }); + + test('token usage within limits', async () => { + const response = await sendMessage('Generate quarterly report'); + expect(response.token_usage.total).toBeLessThan(4000); + }); +}); +``` + +## Production Deployment Guidelines + +### Pre-Deployment Checklist +- [ ] Schema validation passes +- [ ] Character limits respected +- [ ] All capabilities tested individually +- [ ] Integration testing completed +- [ ] Performance benchmarks met +- [ ] Security review completed +- [ ] Compliance validation finished +- [ ] Documentation complete +- [ ] Monitoring configured +- [ ] Rollback plan prepared + +### Deployment Pipeline +```yaml +# .github/workflows/deploy-agent.yml +name: Deploy Declarative Agent +on: + push: + branches: [main] +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + - name: Install dependencies + run: npm install + - name: Compile TypeSpec + run: tsp compile models/agent.tsp + - name: Validate manifest + run: teamsapp validate --manifest-path ./dist/manifest.json + - name: Run tests + run: npm test + deploy: + needs: validate + runs-on: ubuntu-latest + steps: + - name: Deploy to staging + run: teamsapp deploy --env staging + - name: Run integration tests + run: npm run test:integration + - name: Deploy to production + run: teamsapp deploy --env production +``` + +### Monitoring and Maintenance +1. **Performance Monitoring**: + ```json + { + "monitoring": { + "response_time_tracking": true, + "token_usage_monitoring": true, + "error_rate_tracking": true, + "user_satisfaction_metrics": true + } + } + ``` + +2. **Incident Response**: + - Automated alerting for failures + - Escalation procedures + - Rollback capabilities + - Post-incident reviews + +3. **Continuous Improvement**: + - Regular performance reviews + - User feedback integration + - Capability optimization + - Security updates + +## Common Patterns and Anti-Patterns + +### Design Patterns ✅ + +1. **Single Responsibility Pattern**: + ```json + { + "name": "Sales Analytics Assistant", + "focus": "sales_data_analysis", + "capabilities": ["Function", "MicrosoftGraph"] + } + ``` + +2. **Graceful Degradation Pattern**: + ```typescript + if (primaryCapabilityFails) { + return fallbackResponse(); + } + ``` + +3. **Progressive Enhancement Pattern**: + ```json + { + "basic_functionality": ["simple_queries"], + "enhanced_functionality": ["complex_analysis", "visualizations"] + } + ``` + +### Anti-Patterns ❌ + +1. **Kitchen Sink Anti-Pattern**: + ```json + // Don't do this - too many unrelated capabilities + { + "capabilities": [ + "WebSearch", "OneDriveAndSharePoint", "GraphConnectors", + "Function", "MicrosoftGraph" + ] + } + ``` + +2. **Overly Generic Instructions**: + ```text + // Don't do this - too vague + "You are a helpful assistant that can do many things." + ``` + +3. **Character Limit Violations**: + ```json + // Don't do this - exceeds limits + { + "name": "Super Long Agent Name That Exceeds The Maximum Character Limit Of One Hundred Characters And Should Be Shortened", + "description": "[description over 1000 characters]" + } + ``` + +Follow these comprehensive guidelines to create high-quality, performant, and secure declarative agents for Microsoft 365 Copilot that provide exceptional user experiences. \ No newline at end of file diff --git a/prompts/declarative-agents.prompt.md b/prompts/declarative-agents.prompt.md new file mode 100644 index 0000000..46f203d --- /dev/null +++ b/prompts/declarative-agents.prompt.md @@ -0,0 +1,581 @@ +--- +description: 'Comprehensive Microsoft 365 Copilot declarative agents development workflows: basic creation, advanced design, and validation using schema v1.5 with Microsoft 365 Agents Toolkit integration' +model: GPT-4.1 +tools: ['codebase'] +--- + +# Microsoft 365 Copilot Declarative Agents Development + +A comprehensive prompt for creating, designing, and validating Microsoft 365 Copilot declarative agents using schema v1.5 specification with Microsoft 365 Agents Toolkit integration. + +## Workflow Selection + +Choose your workflow based on your needs: + +**Type `workflow:basic`** - For quick agent creation with essential capabilities +**Type `workflow:advanced`** - For complex agents with multiple capabilities and enterprise features +**Type `workflow:validation`** - For reviewing and validating existing agent manifests + +--- + +## Basic Agent Creation Workflow + +**Objective**: Create a functional declarative agent quickly with essential capabilities + +### Step 1: Agent Concept Definition +Analyze the user's requirements and define: +- **Primary purpose**: What specific problem does this agent solve? +- **Target audience**: Who will use this agent? +- **Key scenarios**: 3-5 main use cases +- **Success metrics**: How will effectiveness be measured? + +### Step 2: Capability Selection +Choose from the 5 available capability types: +- **WebSearch**: For real-time information retrieval +- **OneDriveAndSharePoint**: For file operations and content management +- **GraphConnectors**: For custom data source integration +- **Function**: For custom API integrations and business logic +- **MicrosoftGraph**: For Microsoft 365 service integration + +### Step 3: Basic TypeSpec Definition +Generate a TypeSpec template: + +```typespec +import "@typespec/http"; +import "@microsoft/declarative-agent-manifest"; + +using Microsoft.DeclarativeAgent; + +@DeclarativeAgent +model MyAgent { + /** Agent name (max 100 characters) */ + @maxLength(100) + name: string; + + /** Agent description (max 1000 characters) */ + @maxLength(1000) + description: string; + + /** Agent instructions (max 8000 characters) */ + @maxLength(8000) + instructions: string; + + /** Agent capabilities */ + capabilities: Capability[]; + + /** Conversation starters */ + conversation_starters?: ConversationStarter[]; +} +``` + +### Step 4: Manifest Generation +Compile TypeSpec to JSON and validate against schema v1.5: + +```json +{ + "$schema": "https://raw.githubusercontent.com/microsoft/copilot-studio-schemas/main/schemas/v1.5/declarative-copilot.schema.json", + "version": "v1.0", + "name": "[Agent Name]", + "description": "[Agent Description]", + "instructions": "[Detailed Instructions]", + "capabilities": [], + "conversation_starters": [] +} +``` + +### Step 5: Microsoft 365 Agents Toolkit Setup +1. Install the Microsoft 365 Agents Toolkit VS Code extension +2. Configure development environment: + ```bash + npm install -g @microsoft/teamsapp-cli + ``` +3. Initialize agent project: + ```bash + teamsapp new declarative-agent + ``` + +### Step 6: Local Testing +Use the Agents Playground for validation: +1. Load manifest in toolkit +2. Test conversation starters +3. Validate capability responses +4. Check character limits and constraints + +--- + +## Advanced Agent Design Workflow + +**Objective**: Create sophisticated agents with multiple capabilities and enterprise-grade features + +### Step 1: Enterprise Requirements Analysis +Conduct comprehensive requirements gathering: +- **Stakeholder interviews**: Identify all user personas and their needs +- **Business process mapping**: Document current workflows and pain points +- **Technical constraints**: Identify security, compliance, and integration requirements +- **Performance requirements**: Define response time, throughput, and availability needs + +### Step 2: Multi-Capability Architecture +Design complex capability interactions: + +```typespec +model AdvancedAgent extends Agent { + /** Multi-capability workflow orchestration */ + capability_workflows: CapabilityWorkflow[]; + + /** Advanced configuration options */ + advanced_config: { + /** Token usage optimization */ + token_optimization: boolean; + + /** Response time targets */ + performance_targets: PerformanceConfig; + + /** Localization settings */ + localization: LocalizationConfig; + }; +} + +model CapabilityWorkflow { + /** Workflow identifier */ + id: string; + + /** Workflow steps with capability orchestration */ + steps: WorkflowStep[]; + + /** Error handling strategy */ + error_handling: ErrorHandlingConfig; +} +``` + +### Step 3: Advanced TypeSpec Patterns +Implement sophisticated TypeSpec patterns: + +```typespec +/** Function capability with custom authentication */ +model CustomFunctionCapability extends Capability { + type: "Function"; + function_definition: { + name: string; + description: string; + parameters: FunctionParameters; + /** Custom authentication configuration */ + auth_config: { + type: "OAuth2" | "ApiKey" | "Custom"; + scopes?: string[]; + endpoints?: AuthEndpoints; + }; + }; +} + +/** Graph Connector with advanced filtering */ +model AdvancedGraphConnector extends Capability { + type: "GraphConnectors"; + configuration: { + connection_id: string; + /** Advanced query capabilities */ + query_enhancements: { + semantic_search: boolean; + result_ranking: RankingConfig; + content_filtering: FilterConfig; + }; + }; +} +``` + +### Step 4: Enterprise Integration Patterns +Implement enterprise-grade integration patterns: + +```json +{ + "capabilities": [ + { + "type": "Function", + "function_definition": { + "name": "enterprise_data_integration", + "description": "Integrate with enterprise data systems", + "parameters": { + "type": "object", + "properties": { + "data_source": { + "type": "string", + "enum": ["crm", "erp", "custom_api"] + }, + "query_parameters": { + "type": "object", + "additionalProperties": true + } + } + } + } + }, + { + "type": "MicrosoftGraph", + "configuration": { + "scopes": [ + "https://graph.microsoft.com/User.Read", + "https://graph.microsoft.com/Files.ReadWrite" + ] + } + } + ] +} +``` + +### Step 5: Advanced Toolkit Integration +Leverage advanced toolkit features: + +1. **Environment Management**: + ```json + { + "environments": { + "development": { + "manifest_path": "./manifests/dev-manifest.json", + "test_data": "./test-data/dev-scenarios.json" + }, + "staging": { + "manifest_path": "./manifests/staging-manifest.json", + "test_data": "./test-data/staging-scenarios.json" + }, + "production": { + "manifest_path": "./manifests/prod-manifest.json" + } + } + } + ``` + +2. **Performance Monitoring**: + ```typescript + interface PerformanceConfig { + response_time_target: number; // milliseconds + token_usage_limit: number; + concurrent_conversations: number; + monitoring_endpoints: string[]; + } + ``` + +### Step 6: Comprehensive Testing Strategy +Implement thorough testing protocols: + +1. **Unit Testing**: Test individual capability responses +2. **Integration Testing**: Test capability interactions +3. **Performance Testing**: Validate response times and token usage +4. **Security Testing**: Verify authentication and authorization +5. **User Acceptance Testing**: Validate against business requirements + +--- + +## Validation and Optimization Workflow + +**Objective**: Review, validate, and optimize existing declarative agent manifests + +### Step 1: Manifest Analysis +Perform comprehensive manifest review: + +```typescript +interface ValidationChecklist { + /** Schema compliance validation */ + schema_validation: { + version_compatibility: boolean; + required_fields: boolean; + character_limits: boolean; + array_constraints: boolean; + }; + + /** Best practices assessment */ + best_practices: { + instruction_clarity: "poor" | "good" | "excellent"; + capability_selection: "inefficient" | "adequate" | "optimal"; + conversation_starters: "missing" | "basic" | "comprehensive"; + error_handling: "none" | "basic" | "robust"; + }; + + /** Performance optimization opportunities */ + optimization_opportunities: OptimizationRecommendation[]; +} +``` + +### Step 2: Schema Validation +Validate against official schema v1.5: + +```bash +# Using Microsoft 365 Agents Toolkit validation +teamsapp validate --manifest-path ./manifest.json +``` + +Common validation issues to check: +- Character limit violations (name: 100, description: 1000, instructions: 8000) +- Missing required fields +- Invalid capability configurations +- Malformed conversation starters +- Schema version compatibility + +### Step 3: Performance Optimization +Analyze and optimize for performance: + +```typescript +interface PerformanceOptimization { + /** Token usage optimization */ + token_optimization: { + instruction_efficiency: number; // tokens saved + capability_consolidation: string[]; // redundant capabilities + response_optimization: string[]; // optimization suggestions + }; + + /** Response time optimization */ + response_time: { + capability_ordering: string[]; // optimal execution order + parallel_execution: string[]; // parallelizable operations + caching_opportunities: string[]; // cacheable responses + }; +} +``` + +### Step 4: Security and Compliance Review +Conduct thorough security assessment: + +```json +{ + "security_checklist": { + "authentication": { + "oauth_implementation": "required", + "scope_minimization": "required", + "token_management": "required" + }, + "data_protection": { + "pii_handling": "compliant", + "data_encryption": "enforced", + "audit_logging": "enabled" + }, + "compliance_frameworks": [ + "GDPR", + "SOC2", + "ISO27001" + ] + } +} +``` + +### Step 5: User Experience Optimization +Enhance user interaction patterns: + +```json +{ + "ux_improvements": { + "conversation_starters": [ + { + "text": "Help me analyze sales data", + "context": "business_intelligence", + "expected_capabilities": ["Function", "MicrosoftGraph"] + } + ], + "instruction_clarity": { + "role_definition": "clear", + "behavior_guidelines": "specific", + "limitation_awareness": "explicit" + }, + "error_handling": { + "graceful_degradation": true, + "user_guidance": true, + "fallback_options": true + } + } +} +``` + +### Step 6: Deployment Readiness Assessment +Evaluate production readiness: + +```typescript +interface DeploymentReadiness { + technical_requirements: { + schema_compliance: boolean; + performance_benchmarks: boolean; + security_validation: boolean; + integration_testing: boolean; + }; + + business_requirements: { + user_acceptance: boolean; + stakeholder_approval: boolean; + documentation_complete: boolean; + training_materials: boolean; + }; + + operational_requirements: { + monitoring_setup: boolean; + incident_response: boolean; + maintenance_procedures: boolean; + rollback_plan: boolean; + }; +} +``` + +--- + +## Microsoft 365 Agents Toolkit Integration Guide + +### Development Environment Setup +1. **Install Prerequisites**: + ```bash + # Install Node.js and Teams Toolkit + npm install -g @microsoft/teamsapp-cli + + # Install VS Code extension + code --install-extension teamsdevapp.ms-teams-vscode-extension + ``` + +2. **Project Initialization**: + ```bash + # Create new declarative agent project + teamsapp new declarative-agent --name "MyAgent" + + # Navigate to project directory + cd MyAgent + + # Install dependencies + npm install + ``` + +### TypeSpec Development Workflow +1. **Create TypeSpec Definition**: + ```typespec + // models/agent.tsp + import "@typespec/http"; + import "@microsoft/declarative-agent-manifest"; + + using Microsoft.DeclarativeAgent; + + @DeclarativeAgent + model MyBusinessAgent { + name: "Business Intelligence Assistant"; + description: "AI assistant for business data analysis and reporting"; + instructions: `You are a business intelligence assistant specialized in data analysis...`; + capabilities: [ + { + type: "Function", + function_definition: { + name: "analyze_sales_data", + description: "Analyze sales performance data", + parameters: SalesAnalysisParameters + } + } + ]; + } + ``` + +2. **Compile to JSON**: + ```bash + # Compile TypeSpec to JSON manifest + tsp compile models/agent.tsp --emit @microsoft/declarative-agent-manifest + ``` + +### Local Testing and Debugging +1. **Agents Playground**: + - Open VS Code with Microsoft 365 Agents Toolkit + - Load compiled manifest + - Test conversation flows + - Validate capability responses + +2. **Environment Variables**: + ```json + { + "AGENT_MANIFEST_PATH": "./dist/manifest.json", + "TEST_DATA_PATH": "./test-data/scenarios.json", + "LOG_LEVEL": "debug" + } + ``` + +### Production Deployment +1. **Validation Pipeline**: + ```yaml + # .github/workflows/validate-agent.yml + name: Validate Declarative Agent + on: [push, pull_request] + jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + - name: Install dependencies + run: npm install + - name: Validate manifest + run: teamsapp validate --manifest-path ./dist/manifest.json + ``` + +2. **Deployment Configuration**: + ```json + { + "deployment": { + "target": "microsoft365", + "manifest_path": "./dist/manifest.json", + "validation_required": true, + "rollback_enabled": true + } + } + ``` + +--- + +## Best Practices and Guidelines + +### Character Limit Management +- **Name**: Maximum 100 characters - be concise and descriptive +- **Description**: Maximum 1000 characters - clear value proposition +- **Instructions**: Maximum 8000 characters - comprehensive but efficient + +### Capability Selection Strategy +1. **Start minimal**: Begin with one primary capability +2. **Add strategically**: Only add capabilities that provide unique value +3. **Test thoroughly**: Validate each capability individually and in combination +4. **Monitor performance**: Track token usage and response times + +### Conversation Starter Optimization +```json +{ + "conversation_starters": [ + { + "text": "Analyze this quarter's sales performance", + "metadata": { + "category": "analysis", + "complexity": "medium", + "expected_tokens": 150 + } + } + ] +} +``` + +### Error Handling Patterns +Implement robust error handling: +```json +{ + "error_handling": { + "capability_failures": { + "strategy": "graceful_degradation", + "fallback_message": "I encountered an issue with that request. Let me try a different approach." + }, + "authentication_errors": { + "strategy": "user_guidance", + "message": "Please sign in to access this functionality." + } + } +} +``` + +### Performance Optimization +- **Token efficiency**: Optimize instructions for clarity and brevity +- **Capability ordering**: Place most likely capabilities first +- **Caching strategy**: Implement appropriate caching for repeated queries +- **Response time**: Target sub-3-second response times for user queries + +### Security Considerations +- **Minimal scopes**: Request only necessary permissions +- **Data validation**: Validate all inputs and outputs +- **Audit logging**: Implement comprehensive audit trails +- **Compliance**: Ensure adherence to organizational policies + +Ready to build your Microsoft 365 Copilot declarative agent? Choose your workflow and let's get started! \ No newline at end of file