[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71BD8N2YEW2RFZDJ8VSYNTA":3,"skill-same:01M71BD8N2YEW2RFZDJ8VSYNTA":76},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M71BD8N2YEW2RFZDJ8VSYNTA","azure-mgmt-applicationinsights-dotnet",null,"Azure Application Insights SDK for .NET. Application performance monitoring and observability resource management. Use for creating Application Insights components, web tests, workbooks, analytics items, and API keys. Triggers: \"Application Insights\", \"ApplicationInsights\", \"App Insights\", \"APM\", \"application monitoring\", \"web tests\", \"availability tests\", \"workbooks\".","strmt7\u002Fai_skills_collection_benchmarked","strmt7","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F28989754?v=4","01M71929P914SWKQ7QJV24NBBY","Stratos","01M71929Q9VGKQ7PWYR95VSQQQ",1,"MIT","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fcloud-azure-microsoft-sdks\u002Fofficial-vendor-reference\u002Fazure-mgmt-applicationinsights-dotnet\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"dotnet","azure","azure mgmt applicationinsights dotnet","api","api keys","for","resource management","insights","availability","app","triggers","tests","use","performance","monitoring","observability","apm","analytics","components","web","2026-11-10 10:12:30",false,"---\nname: azure-mgmt-applicationinsights-dotnet\ndescription: |\n  Azure Application Insights SDK for .NET. Application performance monitoring and observability resource management. Use for creating Application Insights components, web tests, workbooks, analytics items, and API keys. Triggers: \"Application Insights\", \"ApplicationInsights\", \"App Insights\", \"APM\", \"application monitoring\", \"web tests\", \"availability tests\", \"workbooks\".\nlicense: MIT\nmetadata:\n  author: Microsoft\n  version: \"1.0.0\"\n  package: Azure.ResourceManager.ApplicationInsights\n---\n\n# Azure.ResourceManager.ApplicationInsights (.NET)\n\nAzure Resource Manager SDK for managing Application Insights resources for application performance monitoring.\n\n## Installation\n\n```bash\ndotnet add package Azure.ResourceManager.ApplicationInsights\ndotnet add package Azure.Identity\n```\n\n**Current Version**: v1.0.0 (GA)\n**API Version**: 2022-06-15\n\n## Environment Variables\n\n```bash\nAZURE_SUBSCRIPTION_ID=\u003Cyour-subscription-id>\nAZURE_RESOURCE_GROUP=\u003Cyour-resource-group>\nAZURE_APPINSIGHTS_NAME=\u003Cyour-appinsights-component>\n```\n\n## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.ApplicationInsights;\n\nArmClient client = new ArmClient(new DefaultAzureCredential());\n```\n\n## Resource Hierarchy\n\n```\nSubscription\n└── ResourceGroup\n    └── ApplicationInsightsComponent          # App Insights resource\n        ├── ApplicationInsightsComponentApiKey  # API keys for programmatic access\n        ├── ComponentLinkedStorageAccount      # Linked storage for data export\n        └── (via component ID)\n            ├── WebTest                        # Availability tests\n            ├── Workbook                       # Workbooks for analysis\n            ├── WorkbookTemplate               # Workbook templates\n            └── MyWorkbook                     # Private workbooks\n```\n\n## Core Workflows\n\n### 1. Create Application Insights Component (Workspace-based)\n\n```csharp\nusing Azure.ResourceManager.ApplicationInsights;\nusing Azure.ResourceManager.ApplicationInsights.Models;\n\nResourceGroupResource resourceGroup = await client\n    .GetDefaultSubscriptionAsync()\n    .Result\n    .GetResourceGroupAsync(\"my-resource-group\");\n\nApplicationInsightsComponentCollection components = resourceGroup.GetApplicationInsightsComponents();\n\n\u002F\u002F Workspace-based Application Insights (recommended)\nApplicationInsightsComponentData data = new ApplicationInsightsComponentData(\n    AzureLocation.EastUS,\n    ApplicationInsightsApplicationType.Web)\n{\n    Kind = \"web\",\n    WorkspaceResourceId = new ResourceIdentifier(\n        \"\u002Fsubscriptions\u002F\u003Csub-id>\u002FresourceGroups\u002F\u003Crg>\u002Fproviders\u002FMicrosoft.OperationalInsights\u002Fworkspaces\u002F\u003Cworkspace-name>\"),\n    IngestionMode = IngestionMode.LogAnalytics,\n    PublicNetworkAccessForIngestion = PublicNetworkAccessType.Enabled,\n    PublicNetworkAccessForQuery = PublicNetworkAccessType.Enabled,\n    RetentionInDays = 90,\n    SamplingPercentage = 100,\n    DisableIPMasking = false,\n    ImmediatePurgeDataOn30Days = false,\n    Tags =\n    {\n        { \"environment\", \"production\" },\n        { \"application\", \"mywebapp\" }\n    }\n};\n\nArmOperation\u003CApplicationInsightsComponentResource> operation = await components\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"my-appinsights\", data);\n\nApplicationInsightsComponentResource component = operation.Value;\n\nConsole.WriteLine($\"Component created: {component.Data.Name}\");\nConsole.WriteLine($\"Instrumentation Key: {component.Data.InstrumentationKey}\");\nConsole.WriteLine($\"Connection String: {component.Data.ConnectionString}\");\n```\n\n### 2. Get Connection String and Keys\n\n```csharp\nApplicationInsightsComponentResource component = await resourceGroup\n    .GetApplicationInsightsComponentAsync(\"my-appinsights\");\n\n\u002F\u002F Get connection string for SDK configuration\nstring connectionString = component.Data.ConnectionString;\nstring instrumentationKey = component.Data.InstrumentationKey;\nstring appId = component.Data.AppId;\n\nConsole.WriteLine($\"Connection String: {connectionString}\");\nConsole.WriteLine($\"Instrumentation Key: {instrumentationKey}\");\nConsole.WriteLine($\"App ID: {appId}\");\n```\n\n### 3. Create API Key\n\n```csharp\nApplicationInsightsComponentResource component = await resourceGroup\n    .GetApplicationInsightsComponentAsync(\"my-appinsights\");\n\nApplicationInsightsComponentApiKeyCollection apiKeys = component.GetApplicationInsightsComponentApiKeys();\n\n\u002F\u002F API key for reading telemetry\nApplicationInsightsApiKeyContent keyContent = new ApplicationInsightsApiKeyContent\n{\n    Name = \"ReadTelemetryKey\",\n    LinkedReadProperties =\n    {\n        $\"\u002Fsubscriptions\u002F{subscriptionId}\u002FresourceGroups\u002F{resourceGroupName}\u002Fproviders\u002Fmicrosoft.insights\u002Fcomponents\u002F{component.Data.Name}\u002Fapi\",\n        $\"\u002Fsubscriptions\u002F{subscriptionId}\u002FresourceGroups\u002F{resourceGroupName}\u002Fproviders\u002Fmicrosoft.insights\u002Fcomponents\u002F{component.Data.Name}\u002Fagentconfig\"\n    }\n};\n\nApplicationInsightsComponentApiKeyResource apiKey = await apiKeys\n    .CreateOrUpdateAsync(WaitUntil.Completed, keyContent);\n\nConsole.WriteLine($\"API Key Name: {apiKey.Data.Name}\");\nConsole.WriteLine($\"API Key: {apiKey.Data.ApiKey}\"); \u002F\u002F Only shown once!\n```\n\n### 4. Create Web Test (Availability Test)\n\n```csharp\nWebTestCollection webTests = resourceGroup.GetWebTests();\n\n\u002F\u002F URL Ping Test\nWebTestData urlPingTest = new WebTestData(AzureLocation.EastUS)\n{\n    Kind = WebTestKind.Ping,\n    SyntheticMonitorId = \"webtest-ping-myapp\",\n    WebTestName = \"Homepage Availability\",\n    Description = \"Checks if homepage is available\",\n    IsEnabled = true,\n    Frequency = 300, \u002F\u002F 5 minutes\n    Timeout = 120,   \u002F\u002F 2 minutes\n    WebTestKind = WebTestKind.Ping,\n    IsRetryEnabled = true,\n    Locations =\n    {\n        new WebTestGeolocation { WebTestLocationId = \"us-ca-sjc-azr\" },  \u002F\u002F West US\n        new WebTestGeolocation { WebTestLocationId = \"us-tx-sn1-azr\" },  \u002F\u002F South Central US\n        new WebTestGeolocation { WebTestLocationId = \"us-il-ch1-azr\" },  \u002F\u002F North Central US\n        new WebTestGeolocation { WebTestLocationId = \"emea-gb-db3-azr\" }, \u002F\u002F UK South\n        new WebTestGeolocation { WebTestLocationId = \"apac-sg-sin-azr\" }  \u002F\u002F Southeast Asia\n    },\n    Configuration = new WebTestConfiguration\n    {\n        WebTest = \"\"\"\n            \u003CWebTest Name=\"Homepage\" Enabled=\"True\" Timeout=\"120\"\n                     xmlns=\"http:\u002F\u002Fmicrosoft.com\u002Fschemas\u002FVisualStudio\u002FTeamTest\u002F2010\">\n                \u003CItems>\n                    \u003CRequest Method=\"GET\" Version=\"1.1\" Url=\"https:\u002F\u002Fmyapp.example.com\"\n                             ThinkTime=\"0\" Timeout=\"120\" ParseDependentRequests=\"False\"\n                             FollowRedirects=\"True\" RecordResult=\"True\" Cache=\"False\"\n                             ResponseTimeGoal=\"0\" Encoding=\"utf-8\" ExpectedHttpStatusCode=\"200\" \u002F>\n                \u003C\u002FItems>\n            \u003C\u002FWebTest>\n        \"\"\"\n    },\n    Tags =\n    {\n        { $\"hidden-link:\u002Fsubscriptions\u002F{subscriptionId}\u002FresourceGroups\u002F{resourceGroupName}\u002Fproviders\u002Fmicrosoft.insights\u002Fcomponents\u002Fmy-appinsights\", \"Resource\" }\n    }\n};\n\nArmOperation\u003CWebTestResource> operation = await webTests\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"webtest-homepage\", urlPingTest);\n\nWebTestResource webTest = operation.Value;\nConsole.WriteLine($\"Web test created: {webTest.Data.Name}\");\n```\n\n### 5. Create Multi-Step Web Test\n\n```csharp\nWebTestData multiStepTest = new WebTestData(AzureLocation.EastUS)\n{\n    Kind = WebTestKind.MultiStep,\n    SyntheticMonitorId = \"webtest-multistep-login\",\n    WebTestName = \"Login Flow Test\",\n    Description = \"Tests login functionality\",\n    IsEnabled = true,\n    Frequency = 900, \u002F\u002F 15 minutes\n    Timeout = 300,   \u002F\u002F 5 minutes\n    WebTestKind = WebTestKind.MultiStep,\n    IsRetryEnabled = true,\n    Locations =\n    {\n        new WebTestGeolocation { WebTestLocationId = \"us-ca-sjc-azr\" }\n    },\n    Configuration = new WebTestConfiguration\n    {\n        WebTest = \"\"\"\n            \u003CWebTest Name=\"LoginFlow\" Enabled=\"True\" Timeout=\"300\"\n                     xmlns=\"http:\u002F\u002Fmicrosoft.com\u002Fschemas\u002FVisualStudio\u002FTeamTest\u002F2010\">\n                \u003CItems>\n                    \u003CRequest Method=\"GET\" Version=\"1.1\" Url=\"https:\u002F\u002Fmyapp.example.com\u002Flogin\"\n                             ThinkTime=\"0\" Timeout=\"60\" \u002F>\n                    \u003CRequest Method=\"POST\" Version=\"1.1\" Url=\"https:\u002F\u002Fmyapp.example.com\u002Fapi\u002Fauth\"\n                             ThinkTime=\"0\" Timeout=\"60\">\n                        \u003CHeaders>\n                            \u003CHeader Name=\"Content-Type\" Value=\"application\u002Fjson\" \u002F>\n                        \u003C\u002FHeaders>\n                        \u003CBody>{\"username\":\"testuser\",\"password\":\"{{TestPassword}}\"}\u003C\u002FBody>\n                    \u003C\u002FRequest>\n                \u003C\u002FItems>\n            \u003C\u002FWebTest>\n        \"\"\"\n    },\n    Tags =\n    {\n        { $\"hidden-link:\u002Fsubscriptions\u002F{subscriptionId}\u002FresourceGroups\u002F{resourceGroupName}\u002Fproviders\u002Fmicrosoft.insights\u002Fcomponents\u002Fmy-appinsights\", \"Resource\" }\n    }\n};\n\nawait webTests.CreateOrUpdateAsync(WaitUntil.Completed, \"webtest-login-flow\", multiStepTest);\n```\n\n### 6. Create Workbook\n\n```csharp\nWorkbookCollection workbooks = resourceGroup.GetWorkbooks();\n\nWorkbookData workbookData = new WorkbookData(AzureLocation.EastUS)\n{\n    DisplayName = \"Application Performance Dashboard\",\n    Category = \"workbook\",\n    Kind = WorkbookSharedTypeKind.Shared,\n    SerializedData = \"\"\"\n    {\n        \"version\": \"Notebook\u002F1.0\",\n        \"items\": [\n            {\n                \"type\": 1,\n                \"content\": {\n                    \"json\": \"# Application Performance\\n\\nThis workbook shows application performance metrics.\"\n                },\n                \"name\": \"header\"\n            },\n            {\n                \"type\": 3,\n                \"content\": {\n                    \"version\": \"KqlItem\u002F1.0\",\n                    \"query\": \"requests\\n| summarize count() by bin(timestamp, 1h)\\n| render timechart\",\n                    \"size\": 0,\n                    \"title\": \"Requests per Hour\",\n                    \"timeContext\": {\n                        \"durationMs\": 86400000\n                    },\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.insights\u002Fcomponents\"\n                },\n                \"name\": \"requestsChart\"\n            }\n        ],\n        \"isLocked\": false\n    }\n    \"\"\",\n    SourceId = component.Id,\n    Tags =\n    {\n        { \"environment\", \"production\" }\n    }\n};\n\n\u002F\u002F Note: Workbook ID should be a new GUID\nstring workbookId = Guid.NewGuid().ToString();\n\nArmOperation\u003CWorkbookResource> operation = await workbooks\n    .CreateOrUpdateAsync(WaitUntil.Completed, workbookId, workbookData);\n\nWorkbookResource workbook = operation.Value;\nConsole.WriteLine($\"Workbook created: {workbook.Data.DisplayName}\");\n```\n\n### 7. Link Storage Account\n\n```csharp\nApplicationInsightsComponentResource component = await resourceGroup\n    .GetApplicationInsightsComponentAsync(\"my-appinsights\");\n\nComponentLinkedStorageAccountCollection linkedStorage = component.GetComponentLinkedStorageAccounts();\n\nComponentLinkedStorageAccountData storageData = new ComponentLinkedStorageAccountData\n{\n    LinkedStorageAccount = new ResourceIdentifier(\n        \"\u002Fsubscriptions\u002F\u003Csub-id>\u002FresourceGroups\u002F\u003Crg>\u002Fproviders\u002FMicrosoft.Storage\u002FstorageAccounts\u002F\u003Cstorage-account>\")\n};\n\nArmOperation\u003CComponentLinkedStorageAccountResource> operation = await linkedStorage\n    .CreateOrUpdateAsync(WaitUntil.Completed, StorageType.ServiceProfiler, storageData);\n```\n\n### 8. List and Manage Components\n\n```csharp\n\u002F\u002F List all Application Insights components in resource group\nawait foreach (ApplicationInsightsComponentResource component in\n    resourceGroup.GetApplicationInsightsComponents())\n{\n    Console.WriteLine($\"Component: {component.Data.Name}\");\n    Console.WriteLine($\"  App ID: {component.Data.AppId}\");\n    Console.WriteLine($\"  Type: {component.Data.ApplicationType}\");\n    Console.WriteLine($\"  Ingestion Mode: {component.Data.IngestionMode}\");\n    Console.WriteLine($\"  Retention: {component.Data.RetentionInDays} days\");\n}\n\n\u002F\u002F List web tests\nawait foreach (WebTestResource webTest in resourceGroup.GetWebTests())\n{\n    Console.WriteLine($\"Web Test: {webTest.Data.WebTestName}\");\n    Console.WriteLine($\"  Enabled: {webTest.Data.IsEnabled}\");\n    Console.WriteLine($\"  Frequency: {webTest.Data.Frequency}s\");\n}\n\n\u002F\u002F List workbooks\nawait foreach (WorkbookResource workbook in resourceGroup.GetWorkbooks())\n{\n    Console.WriteLine($\"Workbook: {workbook.Data.DisplayName}\");\n}\n```\n\n### 9. Update Component\n\n```csharp\nApplicationInsightsComponentResource component = await resourceGroup\n    .GetApplicationInsightsComponentAsync(\"my-appinsights\");\n\n\u002F\u002F Update using full data (PUT operation)\nApplicationInsightsComponentData updateData = component.Data;\nupdateData.RetentionInDays = 180;\nupdateData.SamplingPercentage = 50;\nupdateData.Tags[\"updated\"] = \"true\";\n\nArmOperation\u003CApplicationInsightsComponentResource> operation = await resourceGroup\n    .GetApplicationInsightsComponents()\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"my-appinsights\", updateData);\n```\n\n### 10. Delete Resources\n\n```csharp\n\u002F\u002F Delete Application Insights component\nApplicationInsightsComponentResource component = await resourceGroup\n    .GetApplicationInsightsComponentAsync(\"my-appinsights\");\nawait component.DeleteAsync(WaitUntil.Completed);\n\n\u002F\u002F Delete web test\nWebTestResource webTest = await resourceGroup.GetWebTestAsync(\"webtest-homepage\");\nawait webTest.DeleteAsync(WaitUntil.Completed);\n```\n\n## Key Types Reference\n\n| Type | Purpose |\n|------|---------|\n| `ApplicationInsightsComponentResource` | App Insights component |\n| `ApplicationInsightsComponentData` | Component configuration |\n| `ApplicationInsightsComponentCollection` | Collection of components |\n| `ApplicationInsightsComponentApiKeyResource` | API key for programmatic access |\n| `WebTestResource` | Availability\u002Fweb test |\n| `WebTestData` | Web test configuration |\n| `WorkbookResource` | Analysis workbook |\n| `WorkbookData` | Workbook configuration |\n| `ComponentLinkedStorageAccountResource` | Linked storage for exports |\n\n## Application Types\n\n| Type | Enum Value |\n|------|------------|\n| Web Application | `Web` |\n| iOS Application | `iOS` |\n| Java Application | `Java` |\n| Node.js Application | `NodeJS` |\n| .NET Application | `MRT` |\n| Other | `Other` |\n\n## Web Test Locations\n\n| Location ID | Region |\n|-------------|--------|\n| `us-ca-sjc-azr` | West US |\n| `us-tx-sn1-azr` | South Central US |\n| `us-il-ch1-azr` | North Central US |\n| `us-va-ash-azr` | East US |\n| `emea-gb-db3-azr` | UK South |\n| `emea-nl-ams-azr` | West Europe |\n| `emea-fr-pra-edge` | France Central |\n| `apac-sg-sin-azr` | Southeast Asia |\n| `apac-hk-hkn-azr` | East Asia |\n| `apac-jp-kaw-edge` | Japan East |\n| `latam-br-gru-edge` | Brazil South |\n| `emea-au-syd-edge` | Australia East |\n\n## Best Practices\n\n1. **Use workspace-based** — Workspace-based App Insights is the current standard\n2. **Link to Log Analytics** — Store data in Log Analytics for better querying\n3. **Set appropriate retention** — Balance cost vs. data availability\n4. **Use sampling** — Reduce costs for high-volume applications\n5. **Store connection string securely** — Use Key Vault or managed identity\n6. **Enable multiple test locations** — For accurate availability monitoring\n7. **Use workbooks** — For custom dashboards and analysis\n8. **Set up alerts** — Based on availability tests and metrics\n9. **Tag resources** — For cost allocation and organization\n10. **Use private endpoints** — For secure data ingestion\n\n## Error Handling\n\n```csharp\nusing Azure;\n\ntry\n{\n    ArmOperation\u003CApplicationInsightsComponentResource> operation = await components\n        .CreateOrUpdateAsync(WaitUntil.Completed, \"my-appinsights\", data);\n}\ncatch (RequestFailedException ex) when (ex.Status == 409)\n{\n    Console.WriteLine(\"Component already exists\");\n}\ncatch (RequestFailedException ex) when (ex.Status == 400)\n{\n    Console.WriteLine($\"Invalid configuration: {ex.Message}\");\n}\ncatch (RequestFailedException ex)\n{\n    Console.WriteLine($\"Azure error: {ex.Status} - {ex.Message}\");\n}\n```\n\n## SDK Integration\n\nUse the connection string with Application Insights SDK:\n\n```csharp\n\u002F\u002F Program.cs in ASP.NET Core\nbuilder.Services.AddApplicationInsightsTelemetry(options =>\n{\n    options.ConnectionString = configuration[\"ApplicationInsights:ConnectionString\"];\n});\n\n\u002F\u002F Or set via environment variable\n\u002F\u002F APPLICATIONINSIGHTS_CONNECTION_STRING=InstrumentationKey=...;IngestionEndpoint=...\n```\n\n## Related SDKs\n\n| SDK | Purpose | Install |\n|-----|---------|---------|\n| `Azure.ResourceManager.ApplicationInsights` | Resource management (this SDK) | `dotnet add package Azure.ResourceManager.ApplicationInsights` |\n| `Microsoft.ApplicationInsights` | Telemetry SDK | `dotnet add package Microsoft.ApplicationInsights` |\n| `Microsoft.ApplicationInsights.AspNetCore` | ASP.NET Core integration | `dotnet add package Microsoft.ApplicationInsights.AspNetCore` |\n| `Azure.Monitor.OpenTelemetry.Exporter` | OpenTelemetry export | `dotnet add package Azure.Monitor.OpenTelemetry.Exporter` |\n\n## Reference Links\n\n| Resource | URL |\n|----------|-----|\n| NuGet Package | https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FAzure.ResourceManager.ApplicationInsights |\n| API Reference | https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fazure.resourcemanager.applicationinsights |\n| Product Documentation | https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fazure-monitor\u002Fapp\u002Fapp-insights-overview |\n| GitHub Source | https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-net\u002Ftree\u002Fmain\u002Fsdk\u002Fapplicationinsights\u002FAzure.ResourceManager.ApplicationInsights |\n","# Azure.ResourceManager.ApplicationInsights (.NET)\n\nAzure Resource Manager SDK for managing Application Insights resources for application performance monitoring.\n\n## Installation\n\n```bash\ndotnet add package Azure.ResourceManager.ApplicationInsights\ndotnet add package Azure.Identity\n```\n\n**Current Version**: v1.0.0 (GA)\n**API Version**: 2022-06-15\n\n## Environment Variables\n\n```bash\nAZURE_SUBSCRIPTION_ID=\u003Cyour-subscription-id>\nAZURE_RESOURCE_GROUP=\u003Cyour-resource-group>\nAZURE_APPINSIGHTS_NAME=\u003Cyour-appinsights-component>\n```\n\n## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.ApplicationInsights;\n\nArmClient client = new ArmClient(new DefaultAzureCredential());\n```\n\n## Resource Hierarchy\n\n```\nSubscription\n└── ResourceGroup\n    └── ApplicationInsightsComponent          # App Insights resource\n        ├── ApplicationInsightsComponentApiKey  # API keys for programmatic access\n        ├── ComponentLinkedStorageAccount      # Linked storage for data export\n        └── (via component ID)\n            ├── WebTest                        # Availability tests\n            ├── Workbook                       # Workbooks for analysis\n            ├── WorkbookTemplate               # Workbook templates\n            └── MyWorkbook                     # Private workbooks\n```\n\n## Core Workflows\n\n### 1. Create Application Insights Component (Workspace-based)\n\n```csharp\nusing Azure.ResourceManager.ApplicationInsights;\nusing Azure.ResourceManager.ApplicationInsights.Models;\n\nResourceGroupResource resourceGroup = await client\n    .GetDefaultSubscriptionAsync()\n    .Result\n    .GetResourceGroupAsync(\"my-resource-group\");\n\nApplicationInsightsComponentCollection components = resourceGroup.GetApplicationInsightsComponents();\n\n\u002F\u002F Workspace-based Application Insights (recommended)\nApplicationInsightsComponentData data = new ApplicationInsightsComponentData(\n    AzureLocation.EastUS,\n    ApplicationInsightsApplicationType.Web)\n{\n    Kind = \"web\",\n    WorkspaceResourceId = new ResourceIdentifier(\n        \"\u002Fsubscriptions\u002F\u003Csub-id>\u002FresourceGroups\u002F\u003Crg>\u002Fproviders\u002FMicrosoft.OperationalInsights\u002Fworkspaces\u002F\u003Cworkspace-name>\"),\n    IngestionMode = IngestionMode.LogAnalytics,\n    PublicNetworkAccessForIngestion = PublicNetworkAccessType.Enabled,\n    PublicNetworkAccessForQuery = PublicNetworkAccessType.Enabled,\n    RetentionInDays = 90,\n    SamplingPercentage = 100,\n    DisableIPMasking = false,\n    ImmediatePurgeDataOn30Days = false,\n    Tags =\n    {\n        { \"environment\", \"production\" },\n        { \"application\", \"mywebapp\" }\n    }\n};\n\nArmOperation\u003CApplicationInsightsComponentResource> operation = await components\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"my-appinsights\", data);\n\nApplicationInsightsComponentResource component = operation.Value;\n\nConsole.WriteLine($\"Component created: {component.Data.Name}\");\nConsole.WriteLine($\"Instrumentation Key: {component.Data.InstrumentationKey}\");\nConsole.WriteLine($\"Connection String: {component.Data.ConnectionString}\");\n```\n\n### 2. Get Connection String and Keys\n\n```csharp\nApplicationInsightsComponentResource component = await resourceGroup\n    .GetApplicationInsightsComponentAsync(\"my-appinsights\");\n\n\u002F\u002F Get connection string for SDK configuration\nstring connectionString = component.Data.ConnectionString;\nstring instrumentationKey = component.Data.InstrumentationKey;\nstring appId = component.Data.AppId;\n\nConsole.WriteLine($\"Connection String: {connectionString}\");\nConsole.WriteLine($\"Instrumentation Key: {instrumentationKey}\");\nConsole.WriteLine($\"App ID: {appId}\");\n```\n\n### 3. Create API Key\n\n```csharp\nApplicationInsightsComponentResource component = await resourceGroup\n    .GetApplicationInsightsComponentAsync(\"my-appinsights\");\n\nApplicationInsightsComponentApiKeyCollection apiKeys = component.GetApplicationInsightsComponentApiKeys();\n\n\u002F\u002F API key for reading telemetry\nApplicationInsightsApiKeyContent keyContent = new ApplicationInsightsApiKeyContent\n{\n    Name = \"ReadTelemetryKey\",\n    LinkedReadProperties =\n    {\n        $\"\u002Fsubscriptions\u002F{subscriptionId}\u002FresourceGroups\u002F{resourceGroupName}\u002Fproviders\u002Fmicrosoft.insights\u002Fcomponents\u002F{component.Data.Name}\u002Fapi\",\n        $\"\u002Fsubscriptions\u002F{subscriptionId}\u002FresourceGroups\u002F{resourceGroupName}\u002Fproviders\u002Fmicrosoft.insights\u002Fcomponents\u002F{component.Data.Name}\u002Fagentconfig\"\n    }\n};\n\nApplicationInsightsComponentApiKeyResource apiKey = await apiKeys\n    .CreateOrUpdateAsync(WaitUntil.Completed, keyContent);\n\nConsole.WriteLine($\"API Key Name: {apiKey.Data.Name}\");\nConsole.WriteLine($\"API Key: {apiKey.Data.ApiKey}\"); \u002F\u002F Only shown once!\n```\n\n### 4. Create Web Test (Availability Test)\n\n```csharp\nWebTestCollection webTests = resourceGroup.GetWebTests();\n\n\u002F\u002F URL Ping Test\nWebTestData urlPingTest = new WebTestData(AzureLocation.EastUS)\n{\n    Kind = WebTestKind.Ping,\n    SyntheticMonitorId = \"webtest-ping-myapp\",\n    WebTestName = \"Homepage Availability\",\n    Description = \"Checks if homepage is available\",\n    IsEnabled = true,\n    Frequency = 300, \u002F\u002F 5 minutes\n    Timeout = 120,   \u002F\u002F 2 minutes\n    WebTestKind = WebTestKind.Ping,\n    IsRetryEnabled = true,\n    Locations =\n    {\n        new WebTestGeolocation { WebTestLocationId = \"us-ca-sjc-azr\" },  \u002F\u002F West US\n        new WebTestGeolocation { WebTestLocationId = \"us-tx-sn1-azr\" },  \u002F\u002F South Central US\n        new WebTestGeolocation { WebTestLocationId = \"us-il-ch1-azr\" },  \u002F\u002F North Central US\n        new WebTestGeolocation { WebTestLocationId = \"emea-gb-db3-azr\" }, \u002F\u002F UK South\n        new WebTestGeolocation { WebTestLocationId = \"apac-sg-sin-azr\" }  \u002F\u002F Southeast Asia\n    },\n    Configuration = new WebTestConfiguration\n    {\n        WebTest = \"\"\"\n            \u003CWebTest Name=\"Homepage\" Enabled=\"True\" Timeout=\"120\"\n                     xmlns=\"http:\u002F\u002Fmicrosoft.com\u002Fschemas\u002FVisualStudio\u002FTeamTest\u002F2010\">\n                \u003CItems>\n                    \u003CRequest Method=\"GET\" Version=\"1.1\" Url=\"https:\u002F\u002Fmyapp.example.com\"\n                             ThinkTime=\"0\" Timeout=\"120\" ParseDependentRequests=\"False\"\n                             FollowRedirects=\"True\" RecordResult=\"True\" Cache=\"False\"\n                             ResponseTimeGoal=\"0\" Encoding=\"utf-8\" ExpectedHttpStatusCode=\"200\" \u002F>\n                \u003C\u002FItems>\n            \u003C\u002FWebTest>\n        \"\"\"\n    },\n    Tags =\n    {\n        { $\"hidden-link:\u002Fsubscriptions\u002F{subscriptionId}\u002FresourceGroups\u002F{resourceGroupName}\u002Fproviders\u002Fmicrosoft.insights\u002Fcomponents\u002Fmy-appinsights\", \"Resource\" }\n    }\n};\n\nArmOperation\u003CWebTestResource> operation = await webTests\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"webtest-homepage\", urlPingTest);\n\nWebTestResource webTest = operation.Value;\nConsole.WriteLine($\"Web test created: {webTest.Data.Name}\");\n```\n\n### 5. Create Multi-Step Web Test\n\n```csharp\nWebTestData multiStepTest = new WebTestData(AzureLocation.EastUS)\n{\n    Kind = WebTestKind.MultiStep,\n    SyntheticMonitorId = \"webtest-multistep-login\",\n    WebTestName = \"Login Flow Test\",\n    Description = \"Tests login functionality\",\n    IsEnabled = true,\n    Frequency = 900, \u002F\u002F 15 minutes\n    Timeout = 300,   \u002F\u002F 5 minutes\n    WebTestKind = WebTestKind.MultiStep,\n    IsRetryEnabled = true,\n    Locations =\n    {\n        new WebTestGeolocation { WebTestLocationId = \"us-ca-sjc-azr\" }\n    },\n    Configuration = new WebTestConfiguration\n    {\n        WebTest = \"\"\"\n            \u003CWebTest Name=\"LoginFlow\" Enabled=\"True\" Timeout=\"300\"\n                     xmlns=\"http:\u002F\u002Fmicrosoft.com\u002Fschemas\u002FVisualStudio\u002FTeamTest\u002F2010\">\n                \u003CItems>\n                    \u003CRequest Method=\"GET\" Version=\"1.1\" Url=\"https:\u002F\u002Fmyapp.example.com\u002Flogin\"\n                             ThinkTime=\"0\" Timeout=\"60\" \u002F>\n                    \u003CRequest Method=\"POST\" Version=\"1.1\" Url=\"https:\u002F\u002Fmyapp.example.com\u002Fapi\u002Fauth\"\n                             ThinkTime=\"0\" Timeout=\"60\">\n                        \u003CHeaders>\n                            \u003CHeader Name=\"Content-Type\" Value=\"application\u002Fjson\" \u002F>\n                        \u003C\u002FHeaders>\n                        \u003CBody>{\"username\":\"testuser\",\"password\":\"{{TestPassword}}\"}\u003C\u002FBody>\n                    \u003C\u002FRequest>\n                \u003C\u002FItems>\n            \u003C\u002FWebTest>\n        \"\"\"\n    },\n    Tags =\n    {\n        { $\"hidden-link:\u002Fsubscriptions\u002F{subscriptionId}\u002FresourceGroups\u002F{resourceGroupName}\u002Fproviders\u002Fmicrosoft.insights\u002Fcomponents\u002Fmy-appinsights\", \"Resource\" }\n    }\n};\n\nawait webTests.CreateOrUpdateAsync(WaitUntil.Completed, \"webtest-login-flow\", multiStepTest);\n```\n\n### 6. Create Workbook\n\n```csharp\nWorkbookCollection workbooks = resourceGroup.GetWorkbooks();\n\nWorkbookData workbookData = new WorkbookData(AzureLocation.EastUS)\n{\n    DisplayName = \"Application Performance Dashboard\",\n    Category = \"workbook\",\n    Kind = WorkbookSharedTypeKind.Shared,\n    SerializedData = \"\"\"\n    {\n        \"version\": \"Notebook\u002F1.0\",\n        \"items\": [\n            {\n                \"type\": 1,\n                \"content\": {\n                    \"json\": \"# Application Performance\\n\\nThis workbook shows application performance metrics.\"\n                },\n                \"name\": \"header\"\n            },\n            {\n                \"type\": 3,\n                \"content\": {\n                    \"version\": \"KqlItem\u002F1.0\",\n                    \"query\": \"requests\\n| summarize count() by bin(timestamp, 1h)\\n| render timechart\",\n                    \"size\": 0,\n                    \"title\": \"Requests per Hour\",\n                    \"timeContext\": {\n                        \"durationMs\": 86400000\n                    },\n                    \"queryType\": 0,\n                    \"resourceType\": \"microsoft.insights\u002Fcomponents\"\n                },\n                \"name\": \"requestsChart\"\n            }\n        ],\n        \"isLocked\": false\n    }\n    \"\"\",\n    SourceId = component.Id,\n    Tags =\n    {\n        { \"environment\", \"production\" }\n    }\n};\n\n\u002F\u002F Note: Workbook ID should be a new GUID\nstring workbookId = Guid.NewGuid().ToString();\n\nArmOperation\u003CWorkbookResource> operation = await workbooks\n    .CreateOrUpdateAsync(WaitUntil.Completed, workbookId, workbookData);\n\nWorkbookResource workbook = operation.Value;\nConsole.WriteLine($\"Workbook created: {workbook.Data.DisplayName}\");\n```\n\n### 7. Link Storage Account\n\n```csharp\nApplicationInsightsComponentResource component = await resourceGroup\n    .GetApplicationInsightsComponentAsync(\"my-appinsights\");\n\nComponentLinkedStorageAccountCollection linkedStorage = component.GetComponentLinkedStorageAccounts();\n\nComponentLinkedStorageAccountData storageData = new ComponentLinkedStorageAccountData\n{\n    LinkedStorageAccount = new ResourceIdentifier(\n        \"\u002Fsubscriptions\u002F\u003Csub-id>\u002FresourceGroups\u002F\u003Crg>\u002Fproviders\u002FMicrosoft.Storage\u002FstorageAccounts\u002F\u003Cstorage-account>\")\n};\n\nArmOperation\u003CComponentLinkedStorageAccountResource> operation = await linkedStorage\n    .CreateOrUpdateAsync(WaitUntil.Completed, StorageType.ServiceProfiler, storageData);\n```\n\n### 8. List and Manage Components\n\n```csharp\n\u002F\u002F List all Application Insights components in resource group\nawait foreach (ApplicationInsightsComponentResource component in\n    resourceGroup.GetApplicationInsightsComponents())\n{\n    Console.WriteLine($\"Component: {component.Data.Name}\");\n    Console.WriteLine($\"  App ID: {component.Data.AppId}\");\n    Console.WriteLine($\"  Type: {component.Data.ApplicationType}\");\n    Console.WriteLine($\"  Ingestion Mode: {component.Data.IngestionMode}\");\n    Console.WriteLine($\"  Retention: {component.Data.RetentionInDays} days\");\n}\n\n\u002F\u002F List web tests\nawait foreach (WebTestResource webTest in resourceGroup.GetWebTests())\n{\n    Console.WriteLine($\"Web Test: {webTest.Data.WebTestName}\");\n    Console.WriteLine($\"  Enabled: {webTest.Data.IsEnabled}\");\n    Console.WriteLine($\"  Frequency: {webTest.Data.Frequency}s\");\n}\n\n\u002F\u002F List workbooks\nawait foreach (WorkbookResource workbook in resourceGroup.GetWorkbooks())\n{\n    Console.WriteLine($\"Workbook: {workbook.Data.DisplayName}\");\n}\n```\n\n### 9. Update Component\n\n```csharp\nApplicationInsightsComponentResource component = await resourceGroup\n    .GetApplicationInsightsComponentAsync(\"my-appinsights\");\n\n\u002F\u002F Update using full data (PUT operation)\nApplicationInsightsComponentData updateData = component.Data;\nupdateData.RetentionInDays = 180;\nupdateData.SamplingPercentage = 50;\nupdateData.Tags[\"updated\"] = \"true\";\n\nArmOperation\u003CApplicationInsightsComponentResource> operation = await resourceGroup\n    .GetApplicationInsightsComponents()\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"my-appinsights\", updateData);\n```\n\n### 10. Delete Resources\n\n```csharp\n\u002F\u002F Delete Application Insights component\nApplicationInsightsComponentResource component = await resourceGroup\n    .GetApplicationInsightsComponentAsync(\"my-appinsights\");\nawait component.DeleteAsync(WaitUntil.Completed);\n\n\u002F\u002F Delete web test\nWebTestResource webTest = await resourceGroup.GetWebTestAsync(\"webtest-homepage\");\nawait webTest.DeleteAsync(WaitUntil.Completed);\n```\n\n## Key Types Reference\n\n| Type | Purpose |\n|------|---------|\n| `ApplicationInsightsComponentResource` | App Insights component |\n| `ApplicationInsightsComponentData` | Component configuration |\n| `ApplicationInsightsComponentCollection` | Collection of components |\n| `ApplicationInsightsComponentApiKeyResource` | API key for programmatic access |\n| `WebTestResource` | Availability\u002Fweb test |\n| `WebTestData` | Web test configuration |\n| `WorkbookResource` | Analysis workbook |\n| `WorkbookData` | Workbook configuration |\n| `ComponentLinkedStorageAccountResource` | Linked storage for exports |\n\n## Application Types\n\n| Type | Enum Value |\n|------|------------|\n| Web Application | `Web` |\n| iOS Application | `iOS` |\n| Java Application | `Java` |\n| Node.js Application | `NodeJS` |\n| .NET Application | `MRT` |\n| Other | `Other` |\n\n## Web Test Locations\n\n| Location ID | Region |\n|-------------|--------|\n| `us-ca-sjc-azr` | West US |\n| `us-tx-sn1-azr` | South Central US |\n| `us-il-ch1-azr` | North Central US |\n| `us-va-ash-azr` | East US |\n| `emea-gb-db3-azr` | UK South |\n| `emea-nl-ams-azr` | West Europe |\n| `emea-fr-pra-edge` | France Central |\n| `apac-sg-sin-azr` | Southeast Asia |\n| `apac-hk-hkn-azr` | East Asia |\n| `apac-jp-kaw-edge` | Japan East |\n| `latam-br-gru-edge` | Brazil South |\n| `emea-au-syd-edge` | Australia East |\n\n## Best Practices\n\n1. **Use workspace-based** — Workspace-based App Insights is the current standard\n2. **Link to Log Analytics** — Store data in Log Analytics for better querying\n3. **Set appropriate retention** — Balance cost vs. data availability\n4. **Use sampling** — Reduce costs for high-volume applications\n5. **Store connection string securely** — Use Key Vault or managed identity\n6. **Enable multiple test locations** — For accurate availability monitoring\n7. **Use workbooks** — For custom dashboards and analysis\n8. **Set up alerts** — Based on availability tests and metrics\n9. **Tag resources** — For cost allocation and organization\n10. **Use private endpoints** — For secure data ingestion\n\n## Error Handling\n\n```csharp\nusing Azure;\n\ntry\n{\n    ArmOperation\u003CApplicationInsightsComponentResource> operation = await components\n        .CreateOrUpdateAsync(WaitUntil.Completed, \"my-appinsights\", data);\n}\ncatch (RequestFailedException ex) when (ex.Status == 409)\n{\n    Console.WriteLine(\"Component already exists\");\n}\ncatch (RequestFailedException ex) when (ex.Status == 400)\n{\n    Console.WriteLine($\"Invalid configuration: {ex.Message}\");\n}\ncatch (RequestFailedException ex)\n{\n    Console.WriteLine($\"Azure error: {ex.Status} - {ex.Message}\");\n}\n```\n\n## SDK Integration\n\nUse the connection string with Application Insights SDK:\n\n```csharp\n\u002F\u002F Program.cs in ASP.NET Core\nbuilder.Services.AddApplicationInsightsTelemetry(options =>\n{\n    options.ConnectionString = configuration[\"ApplicationInsights:ConnectionString\"];\n});\n\n\u002F\u002F Or set via environment variable\n\u002F\u002F APPLICATIONINSIGHTS_CONNECTION_STRING=InstrumentationKey=...;IngestionEndpoint=...\n```\n\n## Related SDKs\n\n| SDK | Purpose | Install |\n|-----|---------|---------|\n| `Azure.ResourceManager.ApplicationInsights` | Resource management (this SDK) | `dotnet add package Azure.ResourceManager.ApplicationInsights` |\n| `Microsoft.ApplicationInsights` | Telemetry SDK | `dotnet add package Microsoft.ApplicationInsights` |\n| `Microsoft.ApplicationInsights.AspNetCore` | ASP.NET Core integration | `dotnet add package Microsoft.ApplicationInsights.AspNetCore` |\n| `Azure.Monitor.OpenTelemetry.Exporter` | OpenTelemetry export | `dotnet add package Azure.Monitor.OpenTelemetry.Exporter` |\n\n## Reference Links\n\n| Resource | URL |\n|----------|-----|\n| NuGet Package | https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FAzure.ResourceManager.ApplicationInsights |\n| API Reference | https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fazure.resourcemanager.applicationinsights |\n| Product Documentation | https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fazure-monitor\u002Fapp\u002Fapp-insights-overview |\n| GitHub Source | https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-net\u002Ftree\u002Fmain\u002Fsdk\u002Fapplicationinsights\u002FAzure.ResourceManager.ApplicationInsights |\n",{"name":5,"license":15,"metadata":44,"description":48},{"author":45,"package":46,"version":47},"Microsoft","Azure.ResourceManager.ApplicationInsights","1.0.0","Azure Application Insights SDK for .NET. Application performance monitoring and observability resource management. Use for creating Application Insights components, web tests, workbooks, analytics items, and API keys. Triggers: \"Application Insights\", \"ApplicationInsights\", \"App Insights\", \"APM\", \"application monitoring\", \"web tests\", \"availability tests\", \"workbooks\".\n","main","5c95bcac4646c5aed06bd9aed5235cfc7985aafc","included\u002Fskills\u002Fby-category\u002Fcloud-azure-microsoft-sdks\u002Fofficial-vendor-reference\u002Fazure-mgmt-applicationinsights-dotnet",0,"https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked","https:\u002F\u002Fgithub.com\u002Fstrmt7","2026-11-11 04:18:12",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add strmt7\u002Fai_skills_collection_benchmarked --skill azure-mgmt-applicationinsights-dotnet",{"tool":62,"command":63},"bunx","bunx skills add strmt7\u002Fai_skills_collection_benchmarked --skill azure-mgmt-applicationinsights-dotnet",{"tool":65,"command":66},"pnpm","pnpm dlx skills add strmt7\u002Fai_skills_collection_benchmarked --skill azure-mgmt-applicationinsights-dotnet","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fcloud-azure-microsoft-sdks\u002Fofficial-vendor-reference\u002Fazure-mgmt-applicationinsights-dotnet\u002FSKILL.md",true,[70],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"references\u002Facceptance-criteria.md","REFERENCE","参考文档",7041,"https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fcloud-azure-microsoft-sdks\u002Fofficial-vendor-reference\u002Fazure-mgmt-applicationinsights-dotnet\u002Freferences\u002Facceptance-criteria.md",[77,109,138,163,187,215],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":81,"licenseFileUrl":82,"sourceHtmlUrl":83,"categories":84,"keywords":93,"publishedAt":39},"01M71D4H3T6M57DFKN8HENAWRV","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Ftesting-qa-benchmarking\u002Fofficial-reference\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Ftesting-qa-benchmarking\u002Fofficial-reference\u002Fwebapp-testing\u002FSKILL.md",[85,90],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":91,"categoryName":92,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000009","前端开发",[94,95,96,24,97,98,99,100,101,102,103,104,105,38,106,107,108],"webapp","testing","webapp testing","applications","local","frontend","debugging","toolkit","logs","browser","with","playwright","behavior","ui","screenshots",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":81,"licenseFileUrl":113,"sourceHtmlUrl":114,"categories":115,"keywords":119,"publishedAt":39},"01M71D4CQR2A2TB7GASCR5ZBG3","skill-creator","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Ftesting-qa-benchmarking\u002Fofficial-reference\u002Fskill-creator-anthropics\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Ftesting-qa-benchmarking\u002Fofficial-reference\u002Fskill-creator-anthropics\u002FSKILL.md",[116],{"categoryNo":117,"categoryName":118,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000023","Skill与智能体开发",[120,121,32,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,24,137],"skill creator","creator","improve","run evals","new","when","analysis","create","optimize","variance analysis","run","edit","benchmark","a skill","existing skill","evals","modify","accuracy",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":146,"publishedAt":39},"01M71D488XHEZVXXSXFYP8ENMH","playwright-skill","Complete browser automation with Playwright. Auto-detects dev servers, writes reusable test scripts, and supports screenshots, responsive checks, UX validation, login flows, link checks, and arbitrary browser automation. Use when the user wants to test a website, automate browser interactions, validate web functionality, or perform browser-based testing.","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Ftesting-qa-benchmarking\u002Flatest-release-browser-automation\u002Fplaywright-skill\u002FSKILL.md",[144,145],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},{"categoryNo":117,"categoryName":118,"taxonomyType":88,"taxonomyTypeDesc":89},[105,147,148,149,95,150,151,125,152,103,153,154,155,156,157,158,159,160,161,162],"playwright skill","browser automation","flows","auto","access","Bash","website","ux","login","scripts","read","write","node","install","network","responsive",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":81,"licenseFileUrl":167,"sourceHtmlUrl":168,"categories":169,"keywords":171,"publishedAt":39},"01M71CY25GM939M6RES91QSG3T","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fsearch-retrieval-web-automation\u002Fofficial-reference\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fsearch-retrieval-web-automation\u002Fofficial-reference\u002Fweb-artifacts-builder\u002FSKILL.md",[170],{"categoryNo":91,"categoryName":92,"taxonomyType":88,"taxonomyTypeDesc":89},[172,173,174,38,175,176,177,24,178,179,99,180,31,181,37,182,183,184,185,186],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","file","react","multi","state","routing","state management",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":81,"licenseFileUrl":191,"sourceHtmlUrl":192,"categories":193,"keywords":203,"publishedAt":39},"01M71CXZB60QJJ1H4S3NN94WMZ","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fsearch-retrieval-web-automation\u002Fofficial-reference\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fsearch-retrieval-web-automation\u002Fofficial-reference\u002Ffrontend-design\u002FSKILL.md",[194,195,198],{"categoryNo":91,"categoryName":92,"taxonomyType":88,"taxonomyTypeDesc":89},{"categoryNo":196,"categoryName":197,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":199,"categoryName":200,"taxonomyType":201,"taxonomyTypeDesc":202},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[99,204,205,177,206,207,208,97,209,210,31,125,174,211,37,212,182,213,214,104],"design","frontend design","ui design","generic","aesthetics","landing","pages","code","web ui","react components","examples",{"skillNo":216,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":221,"publishedAt":39},"01M71CVZ54WFBTVA7R16PFY1ZE","zarr-python","Chunked N-D arrays for cloud storage. Compressed arrays, parallel I\u002FO, S3\u002FGCS integration, NumPy\u002FDask\u002FXarray compatible, for large-scale scientific computing pipelines.","https:\u002F\u002Fgithub.com\u002Fstrmt7\u002Fai_skills_collection_benchmarked\u002Fblob\u002Fmain\u002Fincluded\u002Fskills\u002Fby-category\u002Fscience-research-data-analysis\u002Flatest-release-community\u002Fzarr-python\u002FSKILL.md",[],[222,223,224,225,226,227,228,229,230,24,231,232,233,234,235,236,237,238],"zarr python","python","zarr","arrays","Cloud Storage","scientific","storage","parallel","dask","numpy","gcs","s3","integration","scientific computing","cloud","scale","pipelines"]