Azure Bot Service Python Manager
Create, manage, and configure Azure Bot Service resources and channels from Python.
The documentation recommends DefaultAzureCredential, constrains production credential chains, favors managed identity, advises Key Vault for secrets, and limits enabled channels, showing partial least-privilege and sensitive-data awareness. However, the main example prints a Direct Line key, the main OAuth example still passes a secret placeholder directly, deletion lacks confirmation, rollback, or recovery guidance, and required RBAC permissions and end-to-end data flow are not disclosed, so points are deducted.
Installation, authentication, client lifecycle, and core CRUD/channel flows are organized coherently, while the references identify paging, long-running operations, and error handling as items to verify. Those controls are not implemented or demonstrated, the SDK version is unpinned, abnormal-input and diagnostic behavior are absent, and require_envvar=True may conflict with the claim that local DefaultAzureCredential works as-is; therefore the static score remains conservative.
The audience, SDK scope, trigger terms, and primary scenarios are reasonably clear, covering bots, channels, and OAuth connections. Boundaries, input/output constraints, and false-trigger conditions are not explicit; asynchronous use is mentioned only as guidance without examples, and Chinese-language usage or mainland-China network reachability is not addressed, so points are deducted.
The skill uses layered sections for installation, authentication, scenarios, operation tables, best practices, and references, and includes MIT, author, and version metadata. Repository README, LICENSE, SECURITY.md, CI, and maintenance statements provide governance and update context. The skill nevertheless lacks an SDK compatibility matrix, changelog, FAQ, troubleshooting guidance, named maintenance responsibility, and a clear update path; the references also repeat material.
The skill supplies directly adaptable examples for bot creation, retrieval, listing, updating, deletion, channel configuration, and connection settings, covering the core management tasks. It lacks complete production error handling, long-running-operation and paging patterns, idempotency guidance, deletion recovery, and async implementations, and no file-level execution evidence covers this skill’s key paths; substantial manual review remains necessary, so the score is conservatively bounded.
The skill, reference files, and repository governance files are auditable, and the repository contains CI, evaluation workflows, and test infrastructure. However, the supplied tests do not cover the key Azure Bot Service paths, and there are no skill-specific acceptance criteria, committed execution results, or independent third-party corroboration, leaving static evidence limited.
- Do not print Direct Line keys to logs, terminals, or persistent files; use secure storage and document rotation and revocation.
- Require explicit confirmation before create, update, or delete operations, and document target scope, required RBAC permissions, and recovery after failure.
- Verify model names, method signatures, long-running-operation behavior, paging, and SDK compatibility against current azure-mgmt-botservice documentation; this review did not execute the code.
- For mainland-China users, separately validate network reachability for Azure endpoints, identity sign-in, and dependency installation.
What it does & when to use it
This skill supports developers using the Azure Bot Service Management SDK for Python. It covers bot creation, retrieval, listing, updates, and deletion, along with channel configuration for Teams, Direct Line, and Web Chat. It also documents Bot Service OAuth connection settings and channel-key operations. The guidance favors DefaultAzureCredential and deterministic client cleanup through context managers.
It shows how to install azure-mgmt-botservice and azure-identity, configure subscription and resource-group environment variables, and call AzureBotService from Python. The examples create, retrieve, list, update, and delete bots; configure Teams, Direct Line, and Web Chat channels; retrieve channel details and keys; and create or list OAuth connection settings. It also covers synchronous clients, DefaultAzureCredential, managed identity, SKU selection, and client lifecycle management.
- A Python backend developer provisioning a new Azure Bot Service resource in an Azure subscription.
- An Azure engineer inventorying, reading, updating, or removing bots at resource-group or subscription scope.
- An application team connecting a bot to Microsoft Teams, Direct Line, or an embeddable Web Chat experience.
- A development team configuring OAuth connection settings for a bot, such as access to Microsoft Graph.
- A team standardizing identity authentication between local development and production workloads in Azure.
Pros & cons
- Covers the core management surface for bots, channels, and OAuth connection settings.
- Provides copyable Python SDK examples rather than only conceptual guidance.
- Clearly recommends DefaultAzureCredential, managed identity, and context-managed clients.
- Includes concrete configuration examples for Teams, Direct Line, and Web Chat.
- It focuses on Azure Bot Service management, not the bot's conversational logic or message-handling application.
- Examples require an Azure subscription, resource group, and appropriate permissions; specific RBAC roles are not documented.
- The source does not provide test coverage or a troubleshooting guide for this individual skill.
- Async usage is described at a principles level but lacks a complete asynchronous business example.
How to install
Install the dependencies:
pip install azure-mgmt-botservice
pip install azure-identity
Place the skill folder in the directory used by your agent. The README documents npx skills add microsoft/skills for installing the collection and selecting skills through a wizard; a standalone installation command for this specific skill is not documented in the source.
How to use
Prompt a coding agent with trigger terms such as azure-mgmt-botservice, AzureBotService, bot management, conversational AI, or bot channels. Before use, set AZURE_SUBSCRIPTION_ID and AZURE_RESOURCE_GROUP; for production use of DefaultAzureCredential, also set AZURE_TOKEN_CREDENTIALS=prod. Then ask the agent to generate or modify Python code, for example: “Create an F0 Azure Bot and enable a Teams channel.”