[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CS560HDNXBCJ337R8WABFW":3,"skill-same:01M6CS560HDNXBCJ337R8WABFW":80},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":40,"ownerHtmlUrl":41,"ownerBlogUrl":6,"ownerDescription":42,"updatedAt":43,"install":44,"resources":57},"01M6CS560HDNXBCJ337R8WABFW","azure-mgmt-applicationinsights-dotnet",null,"Azure Application Insights SDK for .NET. Application performance monitoring and observability resource management.","Sam-06060\u002Fjarvis-assistant","Sam-06060","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F208600848?v=4","01M6CRKT7C7FXD21V6HXF293S0","Samson Frank Ganta","01M6CRKTBEKYFD8YX5Z1GT99EE",6,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-mgmt-applicationinsights-dotnet\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28],"dotnet","azure","azure mgmt applicationinsights dotnet","sdk","performance","observability","monitoring","management","community","application","2026-11-10 10:12:30",false,"---\nname: azure-mgmt-applicationinsights-dotnet\ndescription: Azure Application Insights SDK for .NET. Application performance monitoring and observability resource management.\nrisk: unknown\nsource: community\ndate_added: '2026-02-27'\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\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\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\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":34,"source":27,"date_added":35,"description":7},"unknown","2026-02-27","main","a50a3aa6b39fb0e1b7db88bef1bfc9c93606e126","modules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-mgmt-applicationinsights-dotnet",0,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant","https:\u002F\u002Fgithub.com\u002FSam-06060","Mobile Application Developer | Kotlin | Flutter, KMP, Swfit, Android,Swift UI | Building at Saar It Resources | Creator of Jarvis (AI Assistant)","2026-06-23 05:13:38",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add Sam-06060\u002Fjarvis-assistant --skill azure-mgmt-applicationinsights-dotnet",{"tool":50,"command":51},"bunx","bunx skills add Sam-06060\u002Fjarvis-assistant --skill azure-mgmt-applicationinsights-dotnet",{"tool":53,"command":54},"pnpm","pnpm dlx skills add Sam-06060\u002Fjarvis-assistant --skill azure-mgmt-applicationinsights-dotnet","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-mgmt-applicationinsights-dotnet\u002FSKILL.md",true,[58,64,68,72,76],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"README.md","REFERENCE","参考文档",6307,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Fmui\u002FREADME.md",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"resources\u002Fcomponent-library.md",11485,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Fmui\u002Fresources\u002Fcomponent-library.md",{"path":69,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":70,"sourceHtmlUrl":71},"resources\u002Fstyling-guide.md",5442,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Fmui\u002Fresources\u002Fstyling-guide.md",{"path":73,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":74,"sourceHtmlUrl":75},"resources\u002Ftheme-customization.md",10359,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Fmui\u002Fresources\u002Ftheme-customization.md",{"path":77,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":78,"sourceHtmlUrl":79},"skill-rules-fragment.json",1817,"https:\u002F\u002Fgithub.com\u002FMishit18\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Fmui\u002Fskill-rules-fragment.json",[81,94,110,136,155,182],{"skillNo":82,"name":83,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":91,"publishedAt":29},"01M6GDRVS6FXX3ESH0C9DW01C0","test_skill","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fscratch\u002Ftest_skill\u002FSKILL.md",[86],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[92,93],"Test Skill","test",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":29},"01M6GDRQ40HX22MA6XWC31RHHK","zustand-store-ts","Create Zustand stores following established patterns with proper TypeScript types and middleware.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzustand-store-ts\u002FSKILL.md",[],[101,102,103,104,105,106,107,27,108,109],"zustand store ts","zustand","store","with","types","middleware","patterns","create","typescript",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":119,"publishedAt":29},"01M6GDRKEA0WE670SPFWX5GKCN","zoom-automation","Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoom-automation\u002FSKILL.md",[116],{"categoryNo":117,"categoryName":118,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000023","Skill与智能体开发",[120,121,122,123,124,125,126,127,128,129,130,131,132,133,27,134,26,135],"automation","zoom automation","zoom","first","Tools","search","MCP","via","meeting","automate","critical","creation","webinars","composio","recordings","tracking",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":143,"publishedAt":29},"01M6GDRFS1452PC71JQ38S24HR","zoho-crm-automation","Automate Zoho CRM tasks via Rube MCP (Composio): create\u002Fupdate records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoho-crm-automation\u002FSKILL.md",[142],{"categoryNo":117,"categoryName":118,"taxonomyType":89,"taxonomyTypeDesc":90},[144,120,145,146,147,148,149,27,125,150,133,151,130,129,124,152,108,153,126,154],"crm automation","zoho crm","crm","zoho crm automation","zoho","leads","contacts","records","update","tasks","manage",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":164,"publishedAt":29},"01M6GDRCKQBAVTGHX5XBH26KPZ","zod-validation-expert","Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzod-validation-expert\u002FSKILL.md",[161],{"categoryNo":162,"categoryName":163,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000009","前端开发",[165,166,167,168,169,109,170,171,172,173,174,175,104,176,177,178,179,27,180,181],"expert","zod","zod validation expert","validation","react","safe","parsing","errors","schema validation","react hook form","hook","trpc","form","type","next","schema","Next.js",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":189,"publishedAt":29},"01M6GDR658B08K4MY0RWD4A6EH","zeroize-audit","Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C\u002FC++\u002FRust code handling secrets, keys, passwords, or other sensitive data.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzeroize-audit\u002FSKILL.md",[188],{"categoryNo":117,"categoryName":118,"taxonomyType":89,"taxonomyTypeDesc":90},[190,191,192,193,194,195,196,197,27,198,199,200,201,202,203,204,205,206,207,126],"zeroize audit","audit","write","passwords","get","project","c++","activate","assembly","read","Bash","secrets","analysis","data","flow","verification","code","rust"]