Automates the deployment of ASIM parsers to Log Analytics.
Install
mkdir -p .claude/skills/asim-parser-la-deployer && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10410" && unzip -o skill.zip -d .claude/skills/asim-parser-la-deployer && rm skill.zipInstalls to .claude/skills/asim-parser-la-deployer
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Gets the ASIM parser of interest and deploys it to the customer's LA workspace.Key capabilities
- →Verify Azure CLI authentication
- →Query Log Analytics workspace information
- →Escape KQL queries for ARM templates
- →Deploy ASIM parser via ARM templates
- →Test parser functionality
How it works
It uses Azure CLI to deploy ARM templates containing escaped KQL queries to a specified Log Analytics workspace.
Inputs & outputs
When to use asim-parser-la-deployer
- →Deploying ASIM parsers
- →Configuring log analytics workflows
- →Managing Azure security parsers
About this skill
Context
You are responsible for deploying the ASIM parser to the customer's LA workspace. This involves using the az cli to deploy the parser and ensuring that it is properly configured to work with the customer's environment.
Requirements
You will use the az cli to deploy the ASIM parser to the customer's LA workspace. You will need the following information:
- Workspace ID — If you do not have this from the customer or this skill was not called by the
asim-parser-creator-orchestratorskill, ask the customer for it. - ASIM parser files to deploy — Typically two files: the parameter-less parser (
ASim<Schema><Vendor><Product>.kql) and the parameterized parser (vim<Schema><Vendor><Product>.kql). Each file requires its own deployment.
Step 1: Verify Azure CLI authentication
Use the az-cli-command-runner skill to run az account show to verify the user is authenticated. If this fails, ask the user to run az login before continuing.
Step 2: Query for workspace information
Use the az-cli-command-runner skill to run the following CLI command to get the workspace name, resource group, and location needed for deployment:
az monitor log-analytics workspace list --query "[?customerId=='<workspaceId>'].{name:name, resourceGroup:resourceGroup, location:location, id:id}" -o json 2>&1
Step 3: Set up parser and ARM deployment template
Before embedding the KQL query into the ARM template, escape the following special characters in the query string:
\→\\(backslashes)"→\"(double quotes)- Newlines →
\n(replace line breaks with literal\n) - Tabs →
\t(replace tabs with literal\t)
Save the ARM template JSON file alongside the parser .kql files (e.g., deploy_<parserName>.json).
Repeat this process for each parser file. The ARM template should contain a resource entry for each parser. Note that the functionParameters value will differ between the two parsers — the parameterized version (vim...) includes additional filter parameters defined by the schema.
An example ARM template with two parser resources:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"Workspace": {
"type": "string",
"metadata": {
"description": "The Microsoft Sentinel workspace into which the function will be deployed."
}
},
"WorkspaceRegion": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The region of the selected workspace."
}
}
},
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces/savedSearches",
"apiVersion": "2020-08-01",
"name": "[concat(parameters('Workspace'), '/<name of the parameter-less ASIM parser>')]",
"location": "[parameters('WorkspaceRegion')]",
"properties": {
"etag": "*",
"displayName": "<name of the parameter-less ASIM parser>",
"category": "ASIM",
"FunctionAlias": "<name of the parameter-less ASIM parser>",
"query": "<escaped KQL query>",
"version": 1,
"functionParameters": "disabled:bool=false,pack:bool=false"
}
},
{
"type": "Microsoft.OperationalInsights/workspaces/savedSearches",
"apiVersion": "2020-08-01",
"name": "[concat(parameters('Workspace'), '/<name of the parameterized ASIM parser>')]",
"location": "[parameters('WorkspaceRegion')]",
"properties": {
"etag": "*",
"displayName": "<name of the parameterized ASIM parser>",
"category": "ASIM",
"FunctionAlias": "<name of the parameterized ASIM parser>",
"query": "<escaped KQL query>",
"version": 1,
"functionParameters": "<parameters as defined by the schema, including disabled:bool=false,pack:bool=false>"
}
}
]
}
Step 4: Deploy the parser
Use the az-cli-command-runner skill to deploy the ARM template using the following command:
az deployment group create --resource-group <resourceGroup> --template-file <templateFilePath> --parameters Workspace=<workspaceName> WorkspaceRegion=<location>
If the deployment fails:
- Check the error message for details (common issues: authentication errors, incorrect resource group, KQL escaping problems).
- Fix the identified issue (re-escape the query, correct the resource group, etc.).
- Retry the deployment.
Step 5: Test the parser
Use the log-analytics-workspace-queryer skill to verify the parser works in the customer's LA workspace. Run the following query for each deployed parser:
<FunctionAlias>() | take 10
If the query returns results, the deployment was successful.
When not to use it
- →Deploying non-ASIM related resources
Prerequisites
Limitations
- →Requires manual KQL character escaping
- →Requires two separate deployments per parser
How it compares
This automates the multi-step deployment and escaping process, replacing manual ARM template creation and CLI execution.
Compared to similar skills
asim-parser-la-deployer side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| asim-parser-la-deployer (this skill) | 0 | 1mo | No flags | Intermediate |
| identify-vault-protocol | 1 | 7mo | No flags | Intermediate |
| azure-data-explorer | 0 | 1mo | No flags | Advanced |
| configure-api-gateway | 0 | 2mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Azure
View all by Azure →You might also like
identify-vault-protocol
tradingstrategy-ai
Identify an unknown vault protocol based on its smart contract address
azure-data-explorer
vinodrex
Expert knowledge for Azure Data Explorer development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring ADX clusters, KQL/T-SQL queries, ingestion p
configure-api-gateway
pjt222
>
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
fastapi-pro
sickn33
Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and Pydantic V2. Master microservices, WebSockets, and modern Python async patterns. Use PROACTIVELY for FastAPI development, async optimization, or API architecture.
web3-testing
wshobson
Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking. Use when testing Solidity contracts, setting up blockchain test suites, or validating DeFi protocols.