[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JMQ7YN07J99JF90FXNJPCC":3,"skill-same:01M6JMQ7YN07J99JF90FXNJPCC":90},{"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":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M6JMQ7YN07J99JF90FXNJPCC","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\".","LongLeo287\u002FOmniClaw","LongLeo287","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F141803367?v=4","01M6JK75C62VCNZKR5BRZ386YV","LongLeo","01M6JK75GQ78TSP1ZPXNKK3MCH",9,"MIT","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\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\n\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","c173cdffe08e788a99b91928a831b476b8434838","ecosystem\u002Fskills\u002Fazure_mgmt_applicationinsights_dotnet",0,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw","https:\u002F\u002Fportfolio-longleo.vercel.app\u002Flabs\u002Fomniclaw.html","https:\u002F\u002Fgithub.com\u002FLongLeo287","https:\u002F\u002Fwww.facebook.com\u002FResourceRookie2023","2026-09-30 00:58:05",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add LongLeo287\u002FOmniClaw --skill azure_mgmt_applicationinsights_dotnet",{"tool":64,"command":65},"bunx","bunx skills add LongLeo287\u002FOmniClaw --skill azure_mgmt_applicationinsights_dotnet",{"tool":67,"command":68},"pnpm","pnpm dlx skills add LongLeo287\u002FOmniClaw --skill azure_mgmt_applicationinsights_dotnet","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fazure_mgmt_applicationinsights_dotnet\u002FSKILL.md",true,[72,78,82,86],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"_DIR_IDENTITY.md","REFERENCE","参考文档",196,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fazure_mgmt_applicationinsights_dotnet\u002F_DIR_IDENTITY.md",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"README.md",509,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fazure_mgmt_applicationinsights_dotnet\u002FREADME.md",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Facceptance_criteria.md",7041,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fazure_mgmt_applicationinsights_dotnet\u002Freferences\u002Facceptance_criteria.md",{"path":87,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":88,"sourceHtmlUrl":89},"schema.json",513,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fazure_mgmt_applicationinsights_dotnet\u002Fschema.json",[91,134,154,181,196,222],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":113,"publishedAt":39},"01M6JR0KQP4MHT32TN40D9CBFX","UI-UX Pro Max","Advanced UI\u002FUX analysis and generation skills with data-driven patterns. Python scripts (core.py, search.py) for systematic UI pattern extraction, design system generation, and component search from curated data sources.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fui_components\u002Fui_ux_pro_max\u002FSKILL.md",[97,102,105,110],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":103,"categoryName":104,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",{"categoryNo":111,"categoryName":112,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000033","数据分析师",[114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133],"ux","ui","ui ux pro max","max","pro","ui ux","design","component","search","analysis","team","rd","ui-ux","active","systematic","scripts","pattern extraction","sources","advanced","data-driven",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":141,"publishedAt":39},"01M6JR0EF5AEQHP2FSTB57H05P","shadcn-ui","Expert guidance for integrating and building applications with shadcn\u002Fui components, including component discovery, installation, customization, and best practices.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fui_components\u002Fshadcn_ui\u002FSKILL.md",[140],{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},[142,115,143,37,121,144,145,146,147,124,148,149,150,127,151,152,153,24],"shadcn","shadcn ui","core","best practices","applications","discovery","customization","guidance","expert","installation","ui components","with",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":163,"publishedAt":39},"01M6JR08F51BEN17RHFYX65WVE","zustand_store_ts","Create Zustand stores with TypeScript, subscribeWithSelector middleware, and proper state\u002Faction separation. Use when building React state management, creating global stores, or implementing reactive state patterns with Zustand.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fzustand_store_ts\u002FSKILL.md",[160],{"categoryNo":161,"categoryName":162,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000009","前端开发",[164,165,166,167,168,169,170,171,172,173,174,175,31,176,177,178,153,179,180],"zustand store ts","zustand","store","typescript","microsoft","react","create","state management","state","react state management","management","global","patterns","separation","middleware","action","implementing",{"skillNo":182,"name":165,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":186,"publishedAt":39},"01M6JR00TDMVAFFCZXZ04AN7Q7","Zustand state management guide. Use when working with store code (src\u002Fstore\u002F**), implementing actions, managing state, or creating slices. Triggers on Zustand store development, state management questions, or action implementation.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fzustand\u002FSKILL.md",[],[165,187,171,188,172,189,190,174,191,31,192,193,29,166,153,194,195,179,180],"development","code","actions","src","guide","implementation","zustand state","questions","zustand state management",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":206,"publishedAt":39},"01M6JQZSWV4KWJP112G6XHEP44","youtube_summarizer","Automatically fetch YouTube video transcripts, generate structured summaries, and send full transcripts to messaging platforms. Detects YouTube URLs and provides metadata, key insights, and downloadable transcripts.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fyoutube_summarizer\u002FSKILL.md",[202,205],{"categoryNo":203,"categoryName":204,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":103,"categoryName":104,"taxonomyType":100,"taxonomyTypeDesc":101},[207,208,209,210,211,212,213,214,215,216,217,218,219,26,220,221],"youtube","youtube summarizer","summarizer","generate","metadata","messaging","Video","fetch","telegram","transcription","summarization","structured","full","transcripts","summaries",{"skillNo":223,"name":224,"nameZh":6,"description":225,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":226,"categories":227,"keywords":228,"publishedAt":39},"01M6JQZN3QJB6B77JGKJD62DQT","youtube_clipper","YouTube 视频智能剪辑工具。下载视频和字幕，AI 分析生成精细章节（几分钟级别）， 用户选择片段后自动剪辑、翻译字幕为中英双语、烧录字幕到视频，并生成总结文案。 使用场景：当用户需要剪辑 YouTube 视频、生成短视频片段、制作双语字幕版本时。 关键词：视频剪辑、YouTube、字幕翻译、双语字幕、视频下载、clip video","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fyoutube_clipper\u002FSKILL.md",[],[207,229,230,213,231,232,233,234,235,236,237,238,239,240,241,242,243],"clipper","youtube clipper","Bash","下载","视频","生成","关键词","翻译","read","write","clip","总结","工具","文案","sonnet"]