{"id":"c1554a89-ad83-4e87-b501-71ffb72fb8af","shortId":"wQTgVg","kind":"skill","title":"azure-resource-manager-durabletask-dotnet","tagline":"Azure Resource Manager SDK for Durable Task Scheduler in .NET.","description":"# Azure.ResourceManager.DurableTask (.NET)\n\nManagement plane SDK for provisioning and managing Azure Durable Task Scheduler resources via Azure Resource Manager.\n\n> **⚠️ Management vs Data Plane**\n> - **This SDK (Azure.ResourceManager.DurableTask)**: Create schedulers, task hubs, configure retention policies\n> - **Data Plane SDK (Microsoft.DurableTask.Client.AzureManaged)**: Start orchestrations, query instances, send events\n\n## Installation\n\n```bash\ndotnet add package Azure.ResourceManager.DurableTask\ndotnet add package Azure.Identity\n```\n\n**Current Versions**: Stable v1.0.0 (2025-11-03), Preview v1.0.0-beta.1 (2025-04-24)\n**API Version**: 2025-11-01\n\n## Environment Variables\n\n```bash\nAZURE_SUBSCRIPTION_ID=<your-subscription-id>\nAZURE_RESOURCE_GROUP=<your-resource-group>\n# For service principal auth (optional)\nAZURE_TENANT_ID=<tenant-id>\nAZURE_CLIENT_ID=<client-id>\nAZURE_CLIENT_SECRET=<client-secret>\n```\n\n## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.DurableTask;\n\n// Always use DefaultAzureCredential\nvar credential = new DefaultAzureCredential();\nvar armClient = new ArmClient(credential);\n\n// Get subscription\nvar subscriptionId = Environment.GetEnvironmentVariable(\"AZURE_SUBSCRIPTION_ID\");\nvar subscription = armClient.GetSubscriptionResource(\n    new ResourceIdentifier($\"/subscriptions/{subscriptionId}\"));\n```\n\n## Resource Hierarchy\n\n```\nArmClient\n└── SubscriptionResource\n    └── ResourceGroupResource\n        └── DurableTaskSchedulerResource\n            ├── DurableTaskHubResource\n            └── DurableTaskRetentionPolicyResource\n```\n\n## Core Workflow\n\n### 1. Create Durable Task Scheduler\n\n```csharp\nusing Azure.ResourceManager.DurableTask;\nusing Azure.ResourceManager.DurableTask.Models;\n\n// Get resource group\nvar resourceGroup = await subscription\n    .GetResourceGroupAsync(\"my-resource-group\");\n\n// Define scheduler with Dedicated SKU\nvar schedulerData = new DurableTaskSchedulerData(AzureLocation.EastUS)\n{\n    Properties = new DurableTaskSchedulerProperties\n    {\n        Sku = new DurableTaskSchedulerSku(DurableTaskSchedulerSkuName.Dedicated)\n        {\n            Capacity = 1  // Number of instances\n        },\n        // Optional: IP allowlist for network security\n        IPAllowlist = { \"10.0.0.0/24\", \"192.168.1.0/24\" }\n    }\n};\n\n// Create scheduler (long-running operation)\nvar schedulerCollection = resourceGroup.Value.GetDurableTaskSchedulers();\nvar operation = await schedulerCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"my-scheduler\",\n    schedulerData);\n\nDurableTaskSchedulerResource scheduler = operation.Value;\nConsole.WriteLine($\"Scheduler created: {scheduler.Data.Name}\");\nConsole.WriteLine($\"Endpoint: {scheduler.Data.Properties.Endpoint}\");\n```\n\n### 2. Create Scheduler with Consumption SKU\n\n```csharp\n// Consumption SKU (serverless)\nvar consumptionSchedulerData = new DurableTaskSchedulerData(AzureLocation.EastUS)\n{\n    Properties = new DurableTaskSchedulerProperties\n    {\n        Sku = new DurableTaskSchedulerSku(DurableTaskSchedulerSkuName.Consumption)\n        // No capacity needed for consumption\n    }\n};\n\nvar operation = await schedulerCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"my-serverless-scheduler\",\n    consumptionSchedulerData);\n```\n\n### 3. Create Task Hub\n\n```csharp\n// Task hubs are created under a scheduler\nvar taskHubData = new DurableTaskHubData\n{\n    // Properties are optional for basic task hub\n};\n\nvar taskHubCollection = scheduler.GetDurableTaskHubs();\nvar hubOperation = await taskHubCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"my-taskhub\",\n    taskHubData);\n\nDurableTaskHubResource taskHub = hubOperation.Value;\nConsole.WriteLine($\"Task Hub created: {taskHub.Data.Name}\");\n```\n\n### 4. List Schedulers\n\n```csharp\n// List all schedulers in subscription\nawait foreach (var sched in subscription.GetDurableTaskSchedulersAsync())\n{\n    Console.WriteLine($\"Scheduler: {sched.Data.Name}\");\n    Console.WriteLine($\"  Location: {sched.Data.Location}\");\n    Console.WriteLine($\"  SKU: {sched.Data.Properties.Sku?.Name}\");\n    Console.WriteLine($\"  Endpoint: {sched.Data.Properties.Endpoint}\");\n}\n\n// List schedulers in resource group\nvar schedulers = resourceGroup.Value.GetDurableTaskSchedulers();\nawait foreach (var sched in schedulers.GetAllAsync())\n{\n    Console.WriteLine($\"Scheduler: {sched.Data.Name}\");\n}\n```\n\n### 5. Get Scheduler by Name\n\n```csharp\n// Get existing scheduler\nvar existingScheduler = await schedulerCollection.GetAsync(\"my-scheduler\");\nConsole.WriteLine($\"Found: {existingScheduler.Value.Data.Name}\");\n\n// Or use extension method\nvar schedulerResource = armClient.GetDurableTaskSchedulerResource(\n    DurableTaskSchedulerResource.CreateResourceIdentifier(\n        subscriptionId,\n        \"my-resource-group\",\n        \"my-scheduler\"));\nvar scheduler = await schedulerResource.GetAsync();\n```\n\n### 6. Update Scheduler\n\n```csharp\n// Get current scheduler\nvar scheduler = await schedulerCollection.GetAsync(\"my-scheduler\");\n\n// Update with new configuration\nvar updateData = new DurableTaskSchedulerData(scheduler.Value.Data.Location)\n{\n    Properties = new DurableTaskSchedulerProperties\n    {\n        Sku = new DurableTaskSchedulerSku(DurableTaskSchedulerSkuName.Dedicated)\n        {\n            Capacity = 2  // Scale up\n        },\n        IPAllowlist = { \"10.0.0.0/16\" }  // Update IP allowlist\n    }\n};\n\nvar updateOperation = await schedulerCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"my-scheduler\",\n    updateData);\n```\n\n### 7. Delete Resources\n\n```csharp\n// Delete task hub first\nvar taskHub = await scheduler.GetDurableTaskHubs().GetAsync(\"my-taskhub\");\nawait taskHub.Value.DeleteAsync(WaitUntil.Completed);\n\n// Then delete scheduler\nawait scheduler.DeleteAsync(WaitUntil.Completed);\n```\n\n### 8. Manage Retention Policies\n\n```csharp\n// Get retention policy collection\nvar retentionPolicies = scheduler.GetDurableTaskRetentionPolicies();\n\n// Create or update retention policy\nvar retentionData = new DurableTaskRetentionPolicyData\n{\n    Properties = new DurableTaskRetentionPolicyProperties\n    {\n        // Configure retention settings\n    }\n};\n\nvar retentionOperation = await retentionPolicies.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"default\",  // Policy name\n    retentionData);\n```\n\n## Key Types Reference\n\n| Type | Purpose |\n|------|---------|\n| `ArmClient` | Entry point for all ARM operations |\n| `DurableTaskSchedulerResource` | Represents a Durable Task Scheduler |\n| `DurableTaskSchedulerCollection` | Collection for scheduler CRUD |\n| `DurableTaskSchedulerData` | Scheduler creation/update payload |\n| `DurableTaskSchedulerProperties` | Scheduler configuration (SKU, IPAllowlist) |\n| `DurableTaskSchedulerSku` | SKU configuration (Name, Capacity, RedundancyState) |\n| `DurableTaskSchedulerSkuName` | SKU options: `Dedicated`, `Consumption` |\n| `DurableTaskHubResource` | Represents a Task Hub |\n| `DurableTaskHubCollection` | Collection for task hub CRUD |\n| `DurableTaskHubData` | Task hub creation payload |\n| `DurableTaskRetentionPolicyResource` | Retention policy management |\n| `DurableTaskRetentionPolicyData` | Retention policy configuration |\n| `DurableTaskExtensions` | Extension methods for ARM client |\n\n## SKU Options\n\n| SKU | Description | Use Case |\n|-----|-------------|----------|\n| `Dedicated` | Fixed capacity with configurable instances | Production workloads, predictable performance |\n| `Consumption` | Serverless, auto-scaling | Development, variable workloads |\n\n## Extension Methods\n\nThe SDK provides extension methods on `SubscriptionResource` and `ResourceGroupResource`:\n\n```csharp\n// On SubscriptionResource\nsubscription.GetDurableTaskSchedulers();           // List all in subscription\nsubscription.GetDurableTaskSchedulersAsync();      // Async enumerable\n\n// On ResourceGroupResource  \nresourceGroup.GetDurableTaskSchedulers();          // Get collection\nresourceGroup.GetDurableTaskSchedulerAsync(name);  // Get by name\n\n// On ArmClient\narmClient.GetDurableTaskSchedulerResource(id);     // Get by resource ID\narmClient.GetDurableTaskHubResource(id);           // Get task hub by ID\n```\n\n## Best Practices\n\n1. **Use `WaitUntil.Completed`** for operations that must finish before proceeding\n2. **Use `WaitUntil.Started`** when you want to poll manually or run operations in parallel\n3. **Always use `DefaultAzureCredential`** — never hardcode keys\n4. **Handle `RequestFailedException`** for ARM API errors\n5. **Use `CreateOrUpdateAsync`** for idempotent operations\n6. **Delete task hubs before schedulers** — schedulers with task hubs cannot be deleted\n7. **Use IP allowlists** for network security in production\n\n## Error Handling\n\n```csharp\nusing Azure;\n\ntry\n{\n    var operation = await schedulerCollection.CreateOrUpdateAsync(\n        WaitUntil.Completed, schedulerName, schedulerData);\n}\ncatch (RequestFailedException ex) when (ex.Status == 409)\n{\n    Console.WriteLine(\"Scheduler already exists\");\n}\ncatch (RequestFailedException ex) when (ex.Status == 404)\n{\n    Console.WriteLine(\"Resource group not found\");\n}\ncatch (RequestFailedException ex)\n{\n    Console.WriteLine($\"ARM Error: {ex.Status} - {ex.ErrorCode}: {ex.Message}\");\n}\n```\n\n## Complete Example\n\n```csharp\nusing Azure;\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.DurableTask;\nusing Azure.ResourceManager.DurableTask.Models;\nusing Azure.ResourceManager.Resources;\n\n// Setup\nvar credential = new DefaultAzureCredential();\nvar armClient = new ArmClient(credential);\n\nvar subscriptionId = Environment.GetEnvironmentVariable(\"AZURE_SUBSCRIPTION_ID\")!;\nvar resourceGroupName = Environment.GetEnvironmentVariable(\"AZURE_RESOURCE_GROUP\")!;\n\nvar subscription = armClient.GetSubscriptionResource(\n    new ResourceIdentifier($\"/subscriptions/{subscriptionId}\"));\nvar resourceGroup = await subscription.GetResourceGroupAsync(resourceGroupName);\n\n// Create scheduler\nvar schedulerData = new DurableTaskSchedulerData(AzureLocation.EastUS)\n{\n    Properties = new DurableTaskSchedulerProperties\n    {\n        Sku = new DurableTaskSchedulerSku(DurableTaskSchedulerSkuName.Dedicated)\n        {\n            Capacity = 1\n        }\n    }\n};\n\nvar schedulerCollection = resourceGroup.Value.GetDurableTaskSchedulers();\nvar schedulerOp = await schedulerCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed, \"my-scheduler\", schedulerData);\nvar scheduler = schedulerOp.Value;\n\nConsole.WriteLine($\"Scheduler endpoint: {scheduler.Data.Properties.Endpoint}\");\n\n// Create task hub\nvar taskHubData = new DurableTaskHubData();\nvar taskHubOp = await scheduler.GetDurableTaskHubs().CreateOrUpdateAsync(\n    WaitUntil.Completed, \"my-taskhub\", taskHubData);\nvar taskHub = taskHubOp.Value;\n\nConsole.WriteLine($\"Task Hub: {taskHub.Data.Name}\");\n\n// Cleanup\nawait taskHub.DeleteAsync(WaitUntil.Completed);\nawait scheduler.DeleteAsync(WaitUntil.Completed);\n```\n\n## Related SDKs\n\n| SDK | Purpose | Install |\n|-----|---------|---------|\n| `Azure.ResourceManager.DurableTask` | Management plane (this SDK) | `dotnet add package Azure.ResourceManager.DurableTask` |\n| `Microsoft.DurableTask.Client.AzureManaged` | Data plane (orchestrations, activities) | `dotnet add package Microsoft.DurableTask.Client.AzureManaged` |\n| `Microsoft.DurableTask.Worker.AzureManaged` | Worker for running orchestrations | `dotnet add package Microsoft.DurableTask.Worker.AzureManaged` |\n| `Azure.Identity` | Authentication | `dotnet add package Azure.Identity` |\n| `Azure.ResourceManager` | Base ARM SDK | `dotnet add package Azure.ResourceManager` |\n\n## Source Reference\n\n- [GitHub: Azure.ResourceManager.DurableTask](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/durabletask/Azure.ResourceManager.DurableTask)\n- [NuGet: Azure.ResourceManager.DurableTask](https://www.nuget.org/packages/Azure.ResourceManager.DurableTask)\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["azure","resource","manager","durabletask","dotnet","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills"],"capabilities":["skill","source-sickn33","skill-azure-resource-manager-durabletask-dotnet","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-resource-manager-durabletask-dotnet","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34928 github stars · SKILL.md body (12,287 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T18:50:33.156Z","embedding":null,"createdAt":"2026-04-18T21:32:58.126Z","updatedAt":"2026-04-24T18:50:33.156Z","lastSeenAt":"2026-04-24T18:50:33.156Z","tsv":"'-01':85 '-03':75 '-04':79 '-11':74,84 '-24':80 '/16':437 '/24':206,208 '/azure/azure-sdk-for-net/tree/main/sdk/durabletask/azure.resourcemanager.durabletask)':933 '/packages/azure.resourcemanager.durabletask)':938 '/subscriptions':142,808 '1':154,194,657,830 '10.0.0.0':205,436 '192.168.1.0':207 '2':237,432,667 '2025':73,78,83 '3':274,681 '4':317,688 '404':751 '409':741 '5':362,695 '6':401,701 '7':450,714 '8':475 'action':951 'activ':899 'add':62,66,892,901,910,916,924 'allowlist':200,440,717 'alreadi':744 'alway':117,682 'api':81,693 'applic':945 'arm':521,582,692,761,921 'armclient':125,127,146,516,641,787,789 'armclient.getdurabletaskhubresource':648 'armclient.getdurabletaskschedulerresource':387,642 'armclient.getsubscriptionresource':139,805 'ask':989 'async':628 'auth':98 'authent':109,914 'auto':603 'auto-sc':602 'await':169,220,266,302,326,353,373,399,410,443,460,466,472,504,731,812,836,859,875,878 'azur':2,7,26,32,89,92,100,103,106,134,727,770,794,800 'azure-resource-manager-durabletask-dotnet':1 'azure.identity':68,112,772,913,918 'azure.resourcemanager':114,774,919,926 'azure.resourcemanager.durabletask':17,41,64,116,161,776,886,894,930,935 'azure.resourcemanager.durabletask.models':163,778 'azure.resourcemanager.resources':780 'azurelocation.eastus':185,251,821 'base':920 'bash':60,88 'basic':294 'best':655 'boundari':997 'cannot':711 'capac':193,260,431,547,592,829 'case':589 'catch':736,746,757 'clarif':991 'cleanup':874 'clear':964 'client':104,107,583 'collect':483,530,560,634 'complet':766 'configur':46,418,499,540,545,577,594 'console.writeline':230,234,312,332,335,338,342,359,378,742,752,760,846,870 'consumpt':241,244,263,553,600 'consumptionschedulerdata':248,273 'core':152 'creat':42,155,209,232,238,275,282,315,487,815,850 'createorupdateasync':697,861 'creation':568 'creation/update':536 'credenti':121,128,783,790 'criteria':1000 'crud':533,564 'csharp':110,159,243,278,320,367,404,453,479,619,725,768 'current':69,406 'data':37,49,896 'dedic':179,552,590 'default':507 'defaultazurecredenti':119,123,684,785 'defin':176 'delet':451,454,470,702,713 'describ':952,968 'descript':587 'develop':605 'dotnet':6,61,65,891,900,909,915,923 'durabl':12,27,156,526 'durabletask':5 'durabletaskextens':578 'durabletaskhubcollect':559 'durabletaskhubdata':289,565,856 'durabletaskhubresourc':150,309,554 'durabletaskretentionpolicydata':495,574 'durabletaskretentionpolicyproperti':498 'durabletaskretentionpolicyresourc':151,570 'durabletaskschedulercollect':529 'durabletaskschedulerdata':184,250,422,534,820 'durabletaskschedulerproperti':188,254,426,538,824 'durabletaskschedulerresourc':149,227,523 'durabletaskschedulerresource.createresourceidentifier':388 'durabletaskschedulersku':191,257,429,543,827 'durabletaskschedulerskunam':549 'durabletaskschedulerskuname.consumption':258 'durabletaskschedulerskuname.dedicated':192,430,828 'endpoint':235,343,848 'entri':517 'enumer':629 'environ':86,980 'environment-specif':979 'environment.getenvironmentvariable':133,793,799 'error':694,723,762 'event':58 'ex':738,748,759 'ex.errorcode':764 'ex.message':765 'ex.status':740,750,763 'exampl':767 'execut':947 'exist':369,745 'existingschedul':372 'existingscheduler.value.data.name':380 'expert':985 'extens':383,579,608,613 'finish':664 'first':457 'fix':591 'foreach':327,354 'found':379,756 'get':129,164,363,368,405,480,633,637,644,650 'getasync':462 'getresourcegroupasync':171 'github':929 'github.com':932 'github.com/azure/azure-sdk-for-net/tree/main/sdk/durabletask/azure.resourcemanager.durabletask)':931 'group':94,166,175,349,393,754,802 'handl':689,724 'hardcod':686 'hierarchi':145 'hub':45,277,280,296,314,456,558,563,567,652,704,710,852,872 'huboper':301 'huboperation.value':311 'id':91,102,105,136,643,647,649,654,796 'idempot':699 'input':994 'instal':59,885 'instanc':56,197,595 'ip':199,439,716 'ipallowlist':204,435,542 'key':511,687 'limit':956 'list':318,321,345,623 'locat':336 'long':212 'long-run':211 'manag':4,9,19,25,34,35,476,573,887 'manual':675 'match':965 'method':384,580,609,614 'microsoft.durabletask.client.azuremanaged':52,895,903 'microsoft.durabletask.worker.azuremanaged':904,912 'miss':1002 'must':663 'my-resource-group':172,390 'my-schedul':223,375,394,412,446,839 'my-serverless-schedul':269 'my-taskhub':305,463,863 'name':341,366,509,546,636,639 'need':261 'net':16,18 'network':202,719 'never':685 'new':122,126,140,183,187,190,249,253,256,288,417,421,425,428,494,497,784,788,806,819,823,826,855 'nuget':934 'number':195 'oper':214,219,265,522,661,678,700,730 'operation.value':229 'option':99,198,292,551,585 'orchestr':54,898,908 'output':974 'overview':955 'packag':63,67,893,902,911,917,925 'parallel':680 'payload':537,569 'perform':599 'permiss':995 'plane':20,38,50,888,897 'point':518 'polici':48,478,482,491,508,572,576 'poll':674 'practic':656 'predict':598 'preview':76 'princip':97 'proceed':666 'product':596,722 'properti':186,252,290,424,496,822 'provid':612 'provis':23 'purpos':515,884 'queri':55 'redundancyst':548 'refer':513,928 'relat':881 'repres':524,555 'requestfailedexcept':690,737,747,758 'requir':993 'resourc':3,8,30,33,93,144,165,174,348,392,452,646,753,801 'resourcegroup':168,811 'resourcegroup.getdurabletaskschedulerasync':635 'resourcegroup.getdurabletaskschedulers':632 'resourcegroup.value.getdurabletaskschedulers':217,352,833 'resourcegroupnam':798,814 'resourcegroupresourc':148,618,631 'resourceidentifi':141,807 'retent':47,477,481,490,500,571,575 'retentiondata':493,510 'retentionoper':503 'retentionpolici':485 'retentionpolicies.createorupdateasync':505 'review':986 'run':213,677,907 'safeti':996 'scale':433,604 'sched':329,356 'sched.data.location':337 'sched.data.name':334,361 'sched.data.properties.endpoint':344 'sched.data.properties.sku':340 'schedul':14,29,43,158,177,210,225,228,231,239,272,285,319,323,333,346,351,360,364,370,377,396,398,403,407,409,414,448,471,528,532,535,539,706,707,743,816,841,844,847 'scheduler.data.name':233 'scheduler.data.properties.endpoint':236,849 'scheduler.deleteasync':473,879 'scheduler.getdurabletaskhubs':299,461,860 'scheduler.getdurabletaskretentionpolicies':486 'scheduler.value.data.location':423 'schedulercollect':216,832 'schedulercollection.createorupdateasync':221,267,444,732,837 'schedulercollection.getasync':374,411 'schedulerdata':182,226,735,818,842 'schedulernam':734 'schedulerop':835 'schedulerop.value':845 'schedulerresourc':386 'schedulerresource.getasync':400 'schedulers.getallasync':358 'scope':967 'sdk':10,21,40,51,611,883,890,922 'sdks':882 'secret':108 'secur':203,720 'send':57 'serverless':246,271,601 'servic':96 'set':501 'setup':781 'skill':943,959 'skill-azure-resource-manager-durabletask-dotnet' 'sku':180,189,242,245,255,339,427,541,544,550,584,586,825 'sourc':927 'source-sickn33' 'specif':981 'stabl':71 'start':53 'stop':987 'subscript':90,130,135,138,170,325,626,795,804 'subscription.getdurabletaskschedulers':622 'subscription.getdurabletaskschedulersasync':331,627 'subscription.getresourcegroupasync':813 'subscriptionid':132,143,389,792,809 'subscriptionresourc':147,616,621 'substitut':977 'success':999 'task':13,28,44,157,276,279,295,313,455,527,557,562,566,651,703,709,851,871,963 'taskhub':307,310,459,465,865,868 'taskhub.data.name':316,873 'taskhub.deleteasync':876 'taskhub.value.deleteasync':467 'taskhubcollect':298 'taskhubcollection.createorupdateasync':303 'taskhubdata':287,308,854,866 'taskhubop':858 'taskhubop.value':869 'tenant':101 'test':983 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':972 'tri':728 'type':512,514 'updat':402,415,438,489 'updatedata':420,449 'updateoper':442 'use':111,113,115,118,160,162,382,588,658,668,683,696,715,726,769,771,773,775,777,779,941,957 'v1.0.0':72 'v1.0.0-beta.1':77 'valid':982 'var':120,124,131,137,167,181,215,218,247,264,286,297,300,328,350,355,371,385,397,408,419,441,458,484,492,502,729,782,786,791,797,803,810,817,831,834,843,853,857,867 'variabl':87,606 'version':70,82 'via':31 'vs':36 'waituntil.completed':222,268,304,445,468,474,506,659,733,838,862,877,880 'waituntil.started':669 'want':672 'worker':905 'workflow':153,949 'workload':597,607 'www.nuget.org':937 'www.nuget.org/packages/azure.resourcemanager.durabletask)':936","prices":[{"id":"629a4ac4-2ab6-4019-b44c-f65e089f2eb7","listingId":"c1554a89-ad83-4e87-b501-71ffb72fb8af","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:32:58.126Z"}],"sources":[{"listingId":"c1554a89-ad83-4e87-b501-71ffb72fb8af","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-resource-manager-durabletask-dotnet","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-resource-manager-durabletask-dotnet","isPrimary":false,"firstSeenAt":"2026-04-18T21:32:58.126Z","lastSeenAt":"2026-04-24T18:50:33.156Z"}],"details":{"listingId":"c1554a89-ad83-4e87-b501-71ffb72fb8af","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-resource-manager-durabletask-dotnet","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34928,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"08e82f0a5ee80f130458bc3c0a5af59a3c313b2f","skill_md_path":"skills/azure-resource-manager-durabletask-dotnet/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-resource-manager-durabletask-dotnet"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-resource-manager-durabletask-dotnet","description":"Azure Resource Manager SDK for Durable Task Scheduler in .NET."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-resource-manager-durabletask-dotnet"},"updatedAt":"2026-04-24T18:50:33.156Z"}}