skill

Azure Kusto Irql

Compose IRQL (Incident Response Query Language) queries for Kusto cybersecurity investigations. Translates natural language hunting questions into composable IRQL pipelines using Get_*, Extract_*, and Enrich_* functions. WHEN: IRQL query, security hunt, threat hunting KQL, incident response query, compose hunting pipeline, failed logins, phishing investigation, lateral movement, process execution, file creation events.

Microsoft0+ installsVetted

About

# IRQL -- Incident Response Query Language

Compose IRQL function pipelines from selector, extractor, and enricher building blocks. IRQL wraps raw KQL security tables behind intent-revealing, composable functions so analysts (and LLMs) can express hunts without memorizing schemas, cluster locations, or join keys.

## Activation Triggers

Use this skill when the user: - Explicitly mentions IRQL, `Get_*`, `Extract_*`, or `Enrich_*` functions - Says "use IRQL" or "write an IRQL query" - Requests a composable hunting pipeline using known IRQL selectors

Do **not** activate for generic security queries (e.g. "find failed logins") unless the user explicitly asks for IRQL. Route those to `azure-kusto` instead.

**Not a natural-language-to-IRQL converter.** This skill composes IRQL function pipelines and may handle basic natural-language requests that map directly to known selectors and simple filters. For general NL-to-KQL or NL-to-IRQL conversion, use a dedicated query-generation skill (available separately).

## IRQL Function Preflight

Before generating a pipeline, verify IRQL is available on the target database:

```kql .show functions | where Name startswith "Get_" or Name startswith "Extract_" or Name startswith "Enrich_" | project Name ```

If no IRQL functions are found, inform the user that IRQL is not deployed on the target database and suggest using `azure-kusto` for raw KQL queries instead. IRQL functions are a prerequisite -- this skill does not deploy base IRQL selectors.

## What IRQL Is

IRQL is a **function-based dialect on top of KQL**. It provides:

1. **Unified schema** -- disparate security tables project into consistent column names regardless of the underlying data source 2. **Composability** -- small functions chain via `| invoke` to build complex hunts from simple steps 3. **Portability** -- the same IRQL pipeline works across different clusters/databases; only the `Get_*` primitives need re-pointing

IRQL is not a separate language. It's KQL functions you invoke. Any valid KQL works alongside IRQL functions.

## Deploying IRQL

IRQL functions are stored KQL functions (`.create-or-alter function`). They must already be deployed to the target database before this skill can generate pipelines.

**Public example cluster** (functions pre-deployed): - Cluster: `https://kc7001.eastus.kusto.windows.net` - Databases: `ValdyTimes`, `JoJosHospital`

To port IRQL to a new cluster/database, create `Get_*` selectors that project your source tables into the unified schema (column names below), then deploy extractors and enrichers. The extractors and enrichers work unchanged as long as the input schema matches.

## Function Catalog

### 1. Selectors -- `Get_*`

Return projected, schema-unified views of source tables. Use the minimal form by default; use `_All` when extra columns are needed.

| Function | Columns | |---|---| | `Get_Event_Authentication` | `EnvTime`, `Hostname`, `ClientIp`, `Username`, `Result` | | `Get_Event_Authentication_All` | + `Description`, `UserAgent`, `PasswordHash` | | `Get_Email` | `EnvTime`, `EmailSender`, `EmailRecipient`, `Subject`, `Url` | | `Get_Email_All` | + `ReplyTo`, `Verdict` | | `Get_Employees` | `Name`, `ClientIp`, `Email`, `Username`, `Hostname`, `Role` | | `Get_Employees_All` | + `HireDate`, `UserAgent`, `Domain` | | `Get_Event_FileCreation` | `EnvTime`, `Hostname`, `Filename`, `Path` | | `Get_Event_FileCreation_All` | + `Username`, `Sha256`, `ProcessName` | | `Get_Event_NetworkInbound` | `EnvTime`, `ClientIp`, `Url` | | `Get_Event_NetworkInbound_All` | + `Method`, `UserAgent`, `StatusCode` | | `Get_Event_NetworkOutbound` | `EnvTime`, `ClientIp`, `Url` | | `Get_Event_NetworkOutbound_All` | + `Method`, `UserAgent` | | `Get_Dns_All` | `EnvTime`, `Domain`, `ClientIp` | | `Get_Event_Process` | `EnvTime`, `ProcessCommandLine`, `ProcessName`, `Hostname`, `Username` | | `Get_Event_Process_All` | + `ParentProcessName`, `ParentProcessHash`, `ProcessHash` | | `Get_SecurityAlerts_All` | `EnvTime`, `AlertType`, `Severity`, `Description`, `Indicators` | | `Get_Network_Connection_All` | `EnvTime`, `SourceIp`, `SourcePort`, `DestinationIp`, `DestinationPort`, `Protocol`, `Bytes` |

### 2. Extractors -- `Extract_*`

Derive a new column from an existing one. Invoke after a selector.

| Function | Input Column | Adds | |---|---|---| | `Extract_Email_Sender_Domain(T)` | `EmailSender` | `Domain` | | `Extract_Employee_Firstname(T)` | `Name` | `Firstname` | | `Extract_Event_Network_Domain(T)` | `Url` | `DomainName` |

### 3. Enrichers -- `Enrich_*`

Left-join helpers that attach context from a related table.

| Function | Key Column | Enriches With | |---|---|---| | `Enrich_Event_Authentication_Username(T)` | `Username` | Auth events for user | | `Enrich_Ip_Employee(T)` | `ClientIp` | Employee identity from IP | | `Enrich_Username_Employee(T)` | `Username` | Employee identity from username | | `Enrich_Ip_Domain(T)` | `ClientIp` | DNS domains resolved to IP | | `Enrich_Ip_Event_NetworkO

Install

Run this command

git clone https://github.com/microsoft/azure-skills && cp -r azure-skills/.github/plugins/azure-kusto-graph-skills/skills/azure-kusto-irql ~/.claude/skills/

Works with

claude appclaude codeclaude apicursorcodexwindsurfclinezed

Manual steps

Clone the repository and copy the `.github/plugins/azure-kusto-graph-skills/skills/azure-kusto-irql` folder into your Claude skills directory. Compatible with Claude Code, Cursor, Codex, and any Agent Skills-compatible agent.

View source
License: MITBy Microsoft

Frequently asked questions

What is the Azure Kusto Irql skill?

Compose IRQL (Incident Response Query Language) queries for Kusto cybersecurity investigations. Translates natural language hunting questions into composable IRQL pipelines using Get_*, Extract_*, and Enrich_* functions. WHEN: IRQL query, security hunt, threat hunting KQL, incident response query, compose hunting pipeline, failed logins, phishing investigation, lateral movement, process execution, file creation even…

How do I install Azure Kusto Irql?

Run this in your terminal:

git clone https://github.com/microsoft/azure-skills && cp -r azure-skills/.github/plugins/azure-kusto-graph-skills/skills/azure-kusto-irql ~/.claude/skills/
Which AI tools does Azure Kusto Irql work with?

It works with claude_app, claude_code, claude_api, cursor, codex, windsurf, cline, zed.

Who made Azure Kusto Irql?

Microsoft, released under the MIT license.

Is Azure Kusto Irql free?

Yes, it is free to use under the MIT license.

Related assets

More curated picks in Sales & CRM.

All Azure Kusto Irql alternatives →
skillclaude_appclaude_codeclaude_api
npx skills add coreyhaines31/marketingskills
Cold Email
Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email…112,455+
skillclaude_appclaude_codeclaude_api
npx skills add stripe/ai
Stripe Best Practices
Guides Stripe integration decisions across development and test environment planning (separate sandboxes vs the shared test mode sandbox), API selecti…88,815+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/sales/skills/customer-voice ~/.claude/skills/
Customer Voice
Surface what customers are actually saying - direct attributed quotes on a topic across call transcripts and email, across your accounts. Use when the…★ 4.8 · 0+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/sales/skills/call-prep ~/.claude/skills/
Call Prep
Pre-call brief for an upcoming meeting - attendees, account history, prior call context from transcripts, open opportunity status, and suggested disco…★ 4.8 · 0+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/sales/skills/rep-context ~/.claude/skills/
Rep Context
Leader's prep on a single rep before a 1:1 - their pipeline, recent activity, what they've been working on per chat and calendar, and where they might…★ 4.8 · 0+
skillclaude_appclaude_codeclaude_api
git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/sales/skills/stakeholder-map ~/.claude/skills/
Stakeholder Map
Map the people in a deal or account - roles, influence, sentiment, who's missing, and your best access path to the people you haven't reached. Use whe…★ 4.8 · 0+

Audit before you install

Run any source through our checks - AI visibility, security, performance, and stack detection.

More in Sales & CRM