Compétences Microsoft 365 Agents SDK (.NET)
📦

Microsoft 365 Agents SDK (.NET)

Sûr

Créer des agents Microsoft 365 avec .NET

La création d'agents multicanaux pour Microsoft 365 nécessite de comprendre le modèle d'hébergement du SDK Microsoft.Agents, les modèles d'authentification et l'architecture de routage. Cette compétence fournit des exemples de code prêts pour la production pour l'hébergement ASP.NET Core, l'authentification MSAL et l'intégration Copilot Studio.

Prend en charge: Claude Codex Code(CC)
🥉 72 Bronze
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "Microsoft 365 Agents SDK (.NET)". Créer une sous-classe AgentApplication avec un gestionnaire de messages qui fait écho à la saisie de l'utilisateur

Résultat attendu:

Génère une classe C# héritant de AgentApplication avec un constructeur enregistrant OnActivity(ActivityTypes.Message, OnMessageAsync), et une méthode OnMessageAsync qui appelle turnContext.SendActivityAsync avec le texte en écho.

Utilisation de "Microsoft 365 Agents SDK (.NET)". Générer appsettings.json avec la configuration TokenValidation et ServiceConnection

Résultat attendu:

Produire une configuration JSON avec une section TokenValidation contenant Enabled, un tableau Audiences, TenantId, et une section Connections avec AuthType, ClientId, ClientSecret, AuthorityEndpoint et Scopes pour api.botframework.com.

Utilisation de "Microsoft 365 Agents SDK (.NET)". Montrer comment ajouter l'autorisation au point de terminaison /api/messages en production

Résultat attendu:

Montrer l'enroulement de la route POST avec if (!app.Environment.IsDevelopment()) { incomingRoute.RequireAuthorization(); } pour appliquer l'authentification en dehors de l'environnement de développement.

Audit de sécurité

Sûr
v1 • 2/25/2026

Documentation-only skill with no executable code. Contains C# code examples and configuration templates for Microsoft 365 Agents SDK. No scripts, network operations, file system access, or external commands detected. Static analysis correctly identified this as a prompt-only skill with zero security risk.

1
Fichiers analysés
296
Lignes analysées
0
résultats
1
Total des audits
Aucun problème de sécurité trouvé
Audité par: claude

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
50
Communauté
100
Sécurité
74
Conformité aux spécifications

Ce que vous pouvez construire

Créer un bot Teams avec authentification

Générer un bot ASP.NET Core prêt pour la production qui authentifie les utilisateurs via MSAL et répond aux messages dans les canaux Microsoft Teams.

Intégrer avec Copilot Studio

Créer une application console ou web qui se connecte directement à Copilot Studio en utilisant le modèle de client direct vers le moteur avec des jetons délégués.

Implémenter la gestion des erreurs de l'agent

Ajouter une gestion complète des erreurs et la gestion d'état aux sous-classes AgentApplication avec un nettoyage approprié et des flux de fin de conversation.

Essayez ces prompts

Créer un hôte d'agent ASP.NET Core basique
Générer un hôte Minimal API ASP.NET Core pour un bot Microsoft.Agents SDK. Inclure AddAgentApplicationOptions, AddAgent pour la classe MyAgent, MemoryStorage, AddAgentAspNetAuthentication, et un point de terminaison POST /api/messages avec IAgentHttpAdapter.
Ajouter AgentApplication avec routage
Créer une sous-classe AgentApplication appelée SupportAgent avec OnConversationUpdate pour les messages de bienvenue, OnActivity pour ActivityTypes.Message routé vers une méthode de gestionnaire, et OnTurnError pour la gestion des exceptions avec nettoyage d'état.
Configurer le gestionnaire d'authentification MSAL
Créer un DelegatingHandler appelé AddTokenHandler qui acquiert des jetons en utilisant MSAL PublicClientApplication avec AcquireTokenSilent comme solution de repli vers AcquireTokenInteractive. Inclure l'injection d'en-tête Bearer et l'utilisation de CopilotClient.ScopeFromSettings.
Configurer le client console Copilot Studio
Générer une application console HostApplicationBuilder qui enregistre CopilotClient avec AddHttpClient, un DelegatingHandler personnalisé pour les jetons, et utilise StartConversationAsync et AskQuestionAsync pour interagir avec Copilot Studio.

Bonnes pratiques

  • Utiliser les classes de base AgentApplication pour centraliser la logique de routage, les gestionnaires d'événements et la gestion des erreurs à un seul endroit au lieu de les disperser dans les middleware.
  • Remplacer MemoryStorage par un stockage persistant comme BlobStorage ou CosmosDbStorage pour les déploiements en production afin de maintenir l'état de la conversation entre les redémarrages du serveur.
  • Activer TokenValidation dans appsettings.json et appliquer RequireAuthorization au point de terminaison /api/messages pour empêcher l'accès non autorisé à votre agent.

Éviter

  • Stocker ClientSecret ou d'autres identifiants directement dans le code au lieu d'utiliser des fournisseurs de configuration comme Azure Key Vault, des variables d'identité gérées ou des variables d'environnement.
  • Créer de nouvelles instances HttpClient pour chaque demande au lieu d'utiliser IHttpClientFactory pour enregistrer et réutiliser efficacement les connexions HTTP.
  • Bloquer synchronement les appels asynchrones en utilisant .Result ou .Wait() au lieu d'attendre correctement les méthodes SDK asynchrones et de passer CancellationToken.

Foire aux questions

Quelle est la différence entre AddAgentApplicationOptions et AddAgent ?
AddAgentApplicationOptions enregistre les paramètres de configuration de base comme StartTypingTimer et RemoveRecipientMention. AddAgent enregistre votre sous-classe AgentApplication spécifique (comme MyAgent) dans le conteneur d'injection de dépendances.
Quand dois-je utiliser MemoryStorage par rapport à un fournisseur de stockage persistant ?
Utilisez MemoryStorage uniquement pour le développement local et les tests. Pour la production, utilisez BlobStorage, CosmosDbStorage ou un autre fournisseur de stockage persistant pour maintenir l'état de la conversation entre les redémarrages d'application et les scénarios de mise à l'échelle.
Comment obtenir ClientId et ClientSecret pour la configuration ?
Enregistrez une application dans Azure Active Directory. Le ClientId provient du panneau de vue d'ensemble de l'inscription de l'application. Créez un secret client dans la section Certificats et secrets. Utilisez l'ID de répertoire (locataire) pour TenantId.
Quel flux d'authentification dois-je utiliser pour l'intégration Copilot Studio ?
Pour les applications console ou les scénarios interactifs, utilisez PublicClientApplication avec AcquireTokenInteractive. Pour les scénarios serveur-à-serveur comme les API web, utilisez ConfidentialClientApplication avec le flux d'identifiants client.
Pourquoi le point de terminaison /api/messages vérifie-t-il app.Environment.IsDevelopment() avant d'exiger l'autorisation ?
Cela permet les tests locaux sans authentification en mode développement tout en appliquant l'autorisation en production. Testez toujours avec l'authentification activée avant le déploiement pour vous assurer que votre configuration de validation de jeton fonctionne correctement.
Puis-je héberger cet agent aux côtés d'autres points de terminaison ASP.NET Core ?
Oui, le SDK Microsoft.Agents s'intègre avec le routage ASP.NET Core standard. Vous pouvez ajouter des contrôleurs, des API minimales ou des middleware supplémentaires aux côtés du point de terminaison /api/messages pour les applications hybrides.

Détails du développeur

Structure de fichiers

📄 SKILL.md