{"id":"ef09c948-85af-458c-a964-4eee29470cc7","shortId":"KrARjw","kind":"skill","title":"azure-resource-manager-sql-dotnet","tagline":"Azure Resource Manager SDK for Azure SQL in .NET.","description":"# Azure.ResourceManager.Sql (.NET)\n\nManagement plane SDK for provisioning and managing Azure SQL resources via Azure Resource Manager.\n\n> **⚠️ Management vs Data Plane**\n> - **This SDK (Azure.ResourceManager.Sql)**: Create servers, databases, elastic pools, configure firewall rules, manage failover groups\n> - **Data Plane SDK (Microsoft.Data.SqlClient)**: Execute queries, stored procedures, manage connections\n\n## Installation\n\n```bash\ndotnet add package Azure.ResourceManager.Sql\ndotnet add package Azure.Identity\n```\n\n**Current Versions**: Stable v1.3.0, Preview v1.4.0-beta.3\n\n## Environment Variables\n\n```bash\nAZURE_SUBSCRIPTION_ID=<your-subscription-id>\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.Sql;\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        └── SqlServerResource\n            ├── SqlDatabaseResource\n            ├── ElasticPoolResource\n            │   └── ElasticPoolDatabaseResource\n            ├── SqlFirewallRuleResource\n            ├── FailoverGroupResource\n            ├── ServerBlobAuditingPolicyResource\n            ├── EncryptionProtectorResource\n            └── VirtualNetworkRuleResource\n```\n\n## Core Workflow\n\n### 1. Create SQL Server\n\n```csharp\nusing Azure.ResourceManager.Sql;\nusing Azure.ResourceManager.Sql.Models;\n\n// Get resource group\nvar resourceGroup = await subscription\n    .GetResourceGroupAsync(\"my-resource-group\");\n\n// Define server\nvar serverData = new SqlServerData(AzureLocation.EastUS)\n{\n    AdministratorLogin = \"sqladmin\",\n    AdministratorLoginPassword = \"YourSecurePassword123!\",\n    Version = \"12.0\",\n    MinimalTlsVersion = SqlMinimalTlsVersion.Tls1_2,\n    PublicNetworkAccess = ServerNetworkAccessFlag.Enabled\n};\n\n// Create server (long-running operation)\nvar serverCollection = resourceGroup.Value.GetSqlServers();\nvar operation = await serverCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"my-sql-server\",\n    serverData);\n\nSqlServerResource server = operation.Value;\n```\n\n### 2. Create SQL Database\n\n```csharp\nvar databaseData = new SqlDatabaseData(AzureLocation.EastUS)\n{\n    Sku = new SqlSku(\"S0\") { Tier = \"Standard\" },\n    MaxSizeBytes = 2L * 1024 * 1024 * 1024, // 2 GB\n    Collation = \"SQL_Latin1_General_CP1_CI_AS\",\n    RequestedBackupStorageRedundancy = SqlBackupStorageRedundancy.Local\n};\n\nvar databaseCollection = server.GetSqlDatabases();\nvar dbOperation = await databaseCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"my-database\",\n    databaseData);\n\nSqlDatabaseResource database = dbOperation.Value;\n```\n\n### 3. Create Elastic Pool\n\n```csharp\nvar poolData = new ElasticPoolData(AzureLocation.EastUS)\n{\n    Sku = new SqlSku(\"StandardPool\")\n    {\n        Tier = \"Standard\",\n        Capacity = 100 // 100 eDTUs\n    },\n    PerDatabaseSettings = new ElasticPoolPerDatabaseSettings\n    {\n        MinCapacity = 0,\n        MaxCapacity = 100\n    }\n};\n\nvar poolCollection = server.GetElasticPools();\nvar poolOperation = await poolCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"my-elastic-pool\",\n    poolData);\n\nElasticPoolResource pool = poolOperation.Value;\n```\n\n### 4. Add Database to Elastic Pool\n\n```csharp\nvar databaseData = new SqlDatabaseData(AzureLocation.EastUS)\n{\n    ElasticPoolId = pool.Id\n};\n\nawait databaseCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"pooled-database\",\n    databaseData);\n```\n\n### 5. Configure Firewall Rules\n\n```csharp\n// Allow Azure services\nvar azureServicesRule = new SqlFirewallRuleData\n{\n    StartIPAddress = \"0.0.0.0\",\n    EndIPAddress = \"0.0.0.0\"\n};\n\nvar firewallCollection = server.GetSqlFirewallRules();\nawait firewallCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"AllowAzureServices\",\n    azureServicesRule);\n\n// Allow specific IP range\nvar clientRule = new SqlFirewallRuleData\n{\n    StartIPAddress = \"203.0.113.0\",\n    EndIPAddress = \"203.0.113.255\"\n};\n\nawait firewallCollection.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    \"AllowClientIPs\",\n    clientRule);\n```\n\n### 6. List Resources\n\n```csharp\n// List all servers in subscription\nawait foreach (var srv in subscription.GetSqlServersAsync())\n{\n    Console.WriteLine($\"Server: {srv.Data.Name} in {srv.Data.Location}\");\n}\n\n// List databases in a server\nawait foreach (var db in server.GetSqlDatabases())\n{\n    Console.WriteLine($\"Database: {db.Data.Name}, SKU: {db.Data.Sku?.Name}\");\n}\n\n// List elastic pools\nawait foreach (var ep in server.GetElasticPools())\n{\n    Console.WriteLine($\"Pool: {ep.Data.Name}, DTU: {ep.Data.Sku?.Capacity}\");\n}\n```\n\n### 7. Get Connection String\n\n```csharp\n// Build connection string (server FQDN is predictable)\nvar serverFqdn = $\"{server.Data.Name}.database.windows.net\";\nvar connectionString = $\"Server=tcp:{serverFqdn},1433;\" +\n    $\"Initial Catalog={database.Data.Name};\" +\n    \"Persist Security Info=False;\" +\n    $\"User ID={server.Data.AdministratorLogin};\" +\n    \"Password=<your-password>;\" +\n    \"MultipleActiveResultSets=False;\" +\n    \"Encrypt=True;\" +\n    \"TrustServerCertificate=False;\" +\n    \"Connection Timeout=30;\";\n```\n\n## Key Types Reference\n\n| Type | Purpose |\n|------|---------|\n| `ArmClient` | Entry point for all ARM operations |\n| `SqlServerResource` | Represents an Azure SQL server |\n| `SqlServerCollection` | Collection for server CRUD |\n| `SqlDatabaseResource` | Represents a SQL database |\n| `SqlDatabaseCollection` | Collection for database CRUD |\n| `ElasticPoolResource` | Represents an elastic pool |\n| `ElasticPoolCollection` | Collection for elastic pool CRUD |\n| `SqlFirewallRuleResource` | Represents a firewall rule |\n| `SqlFirewallRuleCollection` | Collection for firewall rule CRUD |\n| `SqlServerData` | Server creation/update payload |\n| `SqlDatabaseData` | Database creation/update payload |\n| `ElasticPoolData` | Elastic pool creation/update payload |\n| `SqlFirewallRuleData` | Firewall rule creation/update payload |\n| `SqlSku` | SKU configuration (tier, capacity) |\n\n## Common SKUs\n\n### Database SKUs\n\n| SKU Name | Tier | Description |\n|----------|------|-------------|\n| `Basic` | Basic | 5 DTUs, 2 GB max |\n| `S0`-`S12` | Standard | 10-3000 DTUs |\n| `P1`-`P15` | Premium | 125-4000 DTUs |\n| `GP_Gen5_2` | GeneralPurpose | vCore-based, 2 vCores |\n| `BC_Gen5_2` | BusinessCritical | vCore-based, 2 vCores |\n| `HS_Gen5_2` | Hyperscale | vCore-based, 2 vCores |\n\n### Elastic Pool SKUs\n\n| SKU Name | Tier | Description |\n|----------|------|-------------|\n| `BasicPool` | Basic | 50-1600 eDTUs |\n| `StandardPool` | Standard | 50-3000 eDTUs |\n| `PremiumPool` | Premium | 125-4000 eDTUs |\n| `GP_Gen5_2` | GeneralPurpose | vCore-based |\n| `BC_Gen5_2` | BusinessCritical | vCore-based |\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 passwords in production\n4. **Handle `RequestFailedException`** for ARM API errors\n5. **Use `CreateOrUpdateAsync`** for idempotent operations\n6. **Navigate hierarchy** via `Get*` methods (e.g., `server.GetSqlDatabases()`)\n7. **Use elastic pools** for cost optimization when managing multiple databases\n8. **Configure firewall rules** before attempting connections\n\n## Error Handling\n\n```csharp\nusing Azure;\n\ntry\n{\n    var operation = await serverCollection.CreateOrUpdateAsync(\n        WaitUntil.Completed, serverName, serverData);\n}\ncatch (RequestFailedException ex) when (ex.Status == 409)\n{\n    Console.WriteLine(\"Server already exists\");\n}\ncatch (RequestFailedException ex) when (ex.Status == 400)\n{\n    Console.WriteLine($\"Invalid request: {ex.Message}\");\n}\ncatch (RequestFailedException ex)\n{\n    Console.WriteLine($\"ARM Error: {ex.Status} - {ex.ErrorCode}: {ex.Message}\");\n}\n```\n\n## Reference Files\n\n| File | When to Read |\n|------|--------------|\n| references/server-management.md | Server CRUD, admin credentials, Azure AD auth, networking |\n| references/database-operations.md | Database CRUD, scaling, backup, restore, copy |\n| references/elastic-pools.md | Pool management, adding/removing databases, scaling |\n\n## Related SDKs\n\n| SDK | Purpose | Install |\n|-----|---------|---------|\n| `Microsoft.Data.SqlClient` | Data plane (execute queries, stored procedures) | `dotnet add package Microsoft.Data.SqlClient` |\n| `Azure.ResourceManager.Sql` | Management plane (this SDK) | `dotnet add package Azure.ResourceManager.Sql` |\n| `Microsoft.EntityFrameworkCore.SqlServer` | ORM for SQL Server | `dotnet add package Microsoft.EntityFrameworkCore.SqlServer` |\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","sql","dotnet","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills"],"capabilities":["skill","source-sickn33","skill-azure-resource-manager-sql-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-sql-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 (9,534 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.510Z","embedding":null,"createdAt":"2026-04-18T21:33:01.934Z","updatedAt":"2026-04-24T18:50:33.510Z","lastSeenAt":"2026-04-24T18:50:33.510Z","tsv":"'-1600':595 '-3000':550,600 '-4000':556,605 '/subscriptions':129 '0':278 '0.0.0.0':331,333 '1':147,623 '10':549 '100':271,272,280 '1024':225,226,227 '12.0':180 '125':555,604 '1433':432 '2':207,228,543,560,565,569,574,578,583,609,616,633 '203.0.113.0':351 '203.0.113.255':353 '2l':224 '3':254,647 '30':452 '4':297,656 '400':723 '409':713 '5':318,541,663 '50':594,599 '6':359,669 '7':411,677 '8':688 'action':811 'ad':749 'add':63,67,298,778,787,796 'adding/removing':762 'admin':746 'administratorlogin':175 'administratorloginpassword':177 'allow':323,342 'allowazureservic':340 'allowclientip':357 'alreadi':716 'alway':104,648 'api':661 'applic':805 'arm':463,660,732 'armclient':112,114,133,458 'armclient.getsubscriptionresource':126 'ask':849 'attempt':693 'auth':85,750 'authent':96 'await':161,196,244,286,311,337,354,368,384,399,703 'azur':2,7,12,25,29,79,87,90,93,121,324,468,699,748 'azure-resource-manager-sql-dotnet':1 'azure.identity':69,99 'azure.resourcemanager':101 'azure.resourcemanager.sql':16,38,65,103,153,781,789 'azure.resourcemanager.sql.models':155 'azurelocation.eastus':174,216,263,308 'azureservicesrul':327,341 'backup':756 'base':564,573,582,613,620 'bash':61,78 'basic':539,540,593 'basicpool':592 'bc':567,614 'best':621 'boundari':857 'build':416 'businesscrit':570,617 'capac':270,410,530 'catalog':434 'catch':708,718,728 'ci':235 'clarif':851 'clear':824 'client':91,94 'clientrul':347,358 'collat':230 'collect':472,482,492,503 'common':531 'configur':44,319,528,689 'connect':59,413,417,450,694 'connectionstr':428 'console.writeline':374,390,405,714,724,731 'copi':758 'core':145 'cost':682 'cp1':234 'creat':39,148,185,208,255 'createorupdateasync':665 'creation/update':510,514,519,524 'credenti':108,115,747 'criteria':860 'crud':475,485,496,507,745,754 'csharp':97,151,211,258,303,322,362,415,697 'current':70 'data':34,50,771 'databas':41,210,249,252,299,316,380,391,480,484,513,533,687,753,763 'database.data.name':435 'database.windows.net':426 'databasecollect':240 'databasecollection.createorupdateasync':245,312 'databasedata':213,250,305,317 'db':387 'db.data.name':392 'db.data.sku':394 'dboper':243 'dboperation.value':253 'defaultazurecredenti':106,110,650 'defin':168 'describ':812,828 'descript':538,591 'dotnet':6,62,66,777,786,795 'dtu':408 'dtus':542,551,557 'e.g':675 'edtus':273,596,601,606 'elast':42,256,291,301,397,489,494,517,585,679 'elasticpoolcollect':491 'elasticpooldata':262,516 'elasticpooldatabaseresourc':139 'elasticpoolid':309 'elasticpoolperdatabaseset':276 'elasticpoolresourc':138,294,486 'encrypt':446 'encryptionprotectorresourc':143 'endipaddress':332,352 'entri':459 'environ':76,840 'environment-specif':839 'environment.getenvironmentvariable':120 'ep':402 'ep.data.name':407 'ep.data.sku':409 'error':662,695,733 'ex':710,720,730 'ex.errorcode':735 'ex.message':727,736 'ex.status':712,722,734 'execut':54,773,807 'exist':717 'expert':845 'failov':48 'failovergroupresourc':141 'fals':439,445,449 'file':738,739 'finish':630 'firewal':45,320,500,505,522,690 'firewallcollect':335 'firewallcollection.createorupdateasync':338,355 'foreach':369,385,400 'fqdn':420 'gb':229,544 'gen5':559,568,577,608,615 'general':233 'generalpurpos':561,610 'get':116,156,412,673 'getresourcegroupasync':163 'gp':558,607 'group':49,158,167 'handl':657,696 'hardcod':652 'hierarchi':132,671 'hs':576 'hyperscal':579 'id':81,89,92,123,441 'idempot':667 'info':438 'initi':433 'input':854 'instal':60,769 'invalid':725 'ip':344 'key':453 'latin1':232 'limit':816 'list':360,363,379,396 'long':188 'long-run':187 'manag':4,9,18,24,31,32,47,58,685,761,782 'manual':641 'match':825 'max':545 'maxcapac':279 'maxsizebyt':223 'method':674 'microsoft.data.sqlclient':53,770,780 'microsoft.entityframeworkcore.sqlserver':790,798 'mincapac':277 'minimaltlsvers':181 'miss':862 'multipl':686 'multipleactiveresultset':444 'must':629 'my-databas':247 'my-elastic-pool':289 'my-resource-group':164 'my-sql-serv':199 'name':395,536,589 'navig':670 'net':15,17 'network':751 'never':651 'new':109,113,127,172,214,218,261,265,275,306,328,348 'oper':190,195,464,627,644,668,702 'operation.value':206 'optim':683 'option':86 'orm':791 'output':834 'overview':815 'p1':552 'p15':553 'packag':64,68,779,788,797 'parallel':646 'password':443,653 'payload':511,515,520,525 'perdatabaseset':274 'permiss':855 'persist':436 'plane':19,35,51,772,783 'point':460 'poll':640 'pool':43,257,292,295,302,315,398,406,490,495,518,586,680,760 'pool.id':310 'poolcollect':282 'poolcollection.createorupdateasync':287 'pooldata':260,293 'pooled-databas':314 'pooloper':285 'pooloperation.value':296 'practic':622 'predict':422 'premium':554,603 'premiumpool':602 'preview':74 'princip':84 'procedur':57,776 'proceed':632 'product':655 'provis':22 'publicnetworkaccess':183 'purpos':457,768 'queri':55,774 'rang':345 'read':742 'refer':455,737 'references/database-operations.md':752 'references/elastic-pools.md':759 'references/server-management.md':743 'relat':765 'repres':466,477,487,498 'request':726 'requestedbackupstorageredund':237 'requestfailedexcept':658,709,719,729 'requir':853 'resourc':3,8,27,30,131,157,166,361 'resourcegroup':160 'resourcegroup.value.getsqlservers':193 'resourcegroupresourc':135 'resourceidentifi':128 'restor':757 'review':846 'rule':46,321,501,506,523,691 'run':189,643 's0':220,546 's12':547 'safeti':856 'scale':755,764 'scope':827 'sdk':10,20,37,52,767,785 'sdks':766 'secret':95 'secur':437 'server':40,150,169,186,202,205,365,375,383,419,429,470,474,509,715,744,794 'server.data.administratorlogin':442 'server.data.name':425 'server.getelasticpools':283,404 'server.getsqldatabases':241,389,676 'server.getsqlfirewallrules':336 'serverblobauditingpolicyresourc':142 'servercollect':192 'servercollection.createorupdateasync':197,704 'serverdata':171,203,707 'serverfqdn':424,431 'servernam':706 'servernetworkaccessflag.enabled':184 'servic':83,325 'skill':803,819 'skill-azure-resource-manager-sql-dotnet' 'sku':217,264,393,527,535,588 'skus':532,534,587 'source-sickn33' 'specif':343,841 'sql':5,13,26,149,201,209,231,469,479,793 'sqladmin':176 'sqlbackupstorageredundancy.local':238 'sqldatabasecollect':481 'sqldatabasedata':215,307,512 'sqldatabaseresourc':137,251,476 'sqlfirewallrulecollect':502 'sqlfirewallruledata':329,349,521 'sqlfirewallruleresourc':140,497 'sqlminimaltlsversion.tls1_2':182 'sqlservercollect':471 'sqlserverdata':173,508 'sqlserverresourc':136,204,465 'sqlsku':219,266,526 'srv':371 'srv.data.location':378 'srv.data.name':376 'stabl':72 'standard':222,269,548,598 'standardpool':267,597 'startipaddress':330,350 'stop':847 'store':56,775 'string':414,418 'subscript':80,117,122,125,162,367 'subscription.getsqlserversasync':373 'subscriptionid':119,130 'subscriptionresourc':134 'substitut':837 'success':859 'task':823 'tcp':430 'tenant':88 'test':843 'tier':221,268,529,537,590 'timeout':451 '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':832 'tri':700 'true':447 'trustservercertif':448 'type':454,456 'use':98,100,102,105,152,154,624,634,649,664,678,698,801,817 'user':440 'v1.3.0':73 'v1.4.0-beta.3':75 'valid':842 'var':107,111,118,124,159,170,191,194,212,239,242,259,281,284,304,326,334,346,370,386,401,423,427,701 'variabl':77 'vcore':563,566,572,575,581,584,612,619 'vcore-bas':562,571,580,611,618 'version':71,179 'via':28,672 'virtualnetworkruleresourc':144 'vs':33 'waituntil.completed':198,246,288,313,339,356,625,705 'waituntil.started':635 'want':638 'workflow':146,809 'yoursecurepassword123':178","prices":[{"id":"da842787-0175-492a-8073-6073e0116d8b","listingId":"ef09c948-85af-458c-a964-4eee29470cc7","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:33:01.934Z"}],"sources":[{"listingId":"ef09c948-85af-458c-a964-4eee29470cc7","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-resource-manager-sql-dotnet","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-resource-manager-sql-dotnet","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:01.934Z","lastSeenAt":"2026-04-24T18:50:33.510Z"}],"details":{"listingId":"ef09c948-85af-458c-a964-4eee29470cc7","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-resource-manager-sql-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":"248a1ef62c36bb0dd96b115b32638af726df814a","skill_md_path":"skills/azure-resource-manager-sql-dotnet/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-resource-manager-sql-dotnet"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-resource-manager-sql-dotnet","description":"Azure Resource Manager SDK for Azure SQL in .NET."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-resource-manager-sql-dotnet"},"updatedAt":"2026-04-24T18:50:33.510Z"}}