Azure Durable Task ARM for .NET
Guides .NET developers through code-based provisioning and management of Durable Task Scheduler resources.
The skill separates management and data planes, uses DefaultAzureCredential, and warns against hardcoded keys. However, it exposes client-secret environment variables without detailed secret-protection guidance and does not specify least-privilege RBAC, user confirmation, impact disclosure, rollback, or recovery, so points are deducted.
The document covers create, read, update, delete, retention policies, and RequestFailedException handling with a generally coherent workflow. Static evidence provides no executable tests for this skill's key paths, and some API/extension-method details and version claims cannot be verified from the supplied files; edge-case and failure guidance is incomplete, so the score is capped and reduced.
The name, description, trigger terms, management-plane boundary, installation notes, and primary scenarios are clear for scheduler, task-hub, and retention-policy management. Non-fit scenarios, prerequisite permissions, regional/service availability, and Chinese-language guidance are not defined, so environment and trigger precision are only partially supported.
The SKILL.md has clear sections for installation, authentication, hierarchy, workflows, type reference, best practices, errors, a complete example, related SDKs, MIT licensing, and version metadata. It lacks a skill-specific changelog, explicit maintenance/update path, known limitations, and compatibility guidance; the version claims also lack static corroboration, so points are deducted.
The examples are directly useful for common ARM management tasks and identify the data-plane SDK as an alternative. There is no skill-specific output validation, complete parameter coverage, or robust permissions and recovery guidance, so generated implementations may require substantial manual checking; the static score remains conservative.
The skill cites the Azure SDK repository and NuGet package, and the repository includes general CI and test infrastructure. The supplied evidence does not show skill-specific key-path tests or independently reproducible results, so only limited auditability is justified.
- This is a source-only static review; the examples were not executed or compiled. Verify the current NuGet package, API version, extension-method names, and regional availability before use.
- Creating, updating, and deleting Azure resources has external side effects; the document does not define pre-execution confirmation, permission scope, change preview, or rollback procedures.
- Do not place AZURE_CLIENT_SECRET in source code or unprotected environments. Prefer managed identity or secure secret injection and verify least-privilege RBAC.
What it does & when to use it
This skill focuses on the Azure Durable Task Scheduler management plane for .NET. It guides coding agents through Azure.ResourceManager.DurableTask patterns for creating, reading, updating, and deleting schedulers, task hubs, and retention policies. It covers Azure authentication, resource hierarchy, Dedicated and Consumption SKUs, IP allowlists, and ARM error handling. It does not cover starting orchestrations, querying instances, or sending events through the data plane.
Provides installation commands, environment variables, DefaultAzureCredential and ArmClient setup examples; generates C# patterns for locating subscriptions and resource groups, creating or updating Durable Task Schedulers, creating task hubs, listing or retrieving resources by name, managing retention policies, and deleting resources in dependency order; explains WaitUntil.Completed, WaitUntil.Started, CreateOrUpdateAsync, and RequestFailedException usage.
- A .NET infrastructure engineer needs to provision a Dedicated Durable Task Scheduler with a configured instance capacity.
- A platform engineer needs a Consumption SKU scheduler for development or variable workloads.
- An application team needs to create a Task Hub under an existing scheduler and manage its lifecycle through ARM.
- An operations or infrastructure team needs to change an IP allowlist, scale scheduler capacity, or configure a retention policy.
- A developer needs to distinguish resource provisioning from Durable Task orchestration runtime operations.
Pros & cons
- Covers the main management workflows for schedulers, task hubs, and retention policies.
- Includes copyable C# examples for authentication, resource hierarchy, asynchronous operations, and error handling.
- Clearly separates the management-plane SDK from Durable Task data-plane SDKs.
- Documents Dedicated and Consumption SKU patterns and the required deletion order.
- Limited to .NET and Azure Resource Manager management operations; it does not cover orchestration execution or instance queries.
- Requires an Azure subscription, resource group, and valid credentials; no local mock workflow is documented.
- The source does not document pricing, regional availability, or independent test coverage for this individual skill.
How to install
For a project, run:
dotnet add package Azure.ResourceManager.DurableTask
dotnet add package Azure.Identity
To install the full repository collection, run npx skills add microsoft/skills and select this skill in the wizard. Collection skills are installed to the selected agent directory, such as .github/skills/. The source does not document a more specific single-skill installation command.
How to use
Ask a coding agent for a request such as: Use azure-resource-manager-durabletask-dotnet to create an East US Dedicated Durable Task Scheduler and Task Hub with DefaultAzureCredential.
Before running the generated code, set AZURE_SUBSCRIPTION_ID and AZURE_RESOURCE_GROUP; service-principal authentication may also use AZURE_TENANT_ID, AZURE_CLIENT_ID, and AZURE_CLIENT_SECRET. For starting orchestrations, querying instances, or sending events, use the related data-plane SDKs such as Microsoft.DurableTask.Client.AzureManaged.
Compared to similar skills
The skill explicitly distinguishes Azure.ResourceManager.DurableTask from Microsoft.DurableTask.Client.AzureManaged and Microsoft.DurableTask.Worker.AzureManaged: the former manages schedulers, task hubs, and retention policies, while the latter SDKs support data-plane orchestration and worker execution.