What problem does it solve? Teams calling Kusto engines (Azure Data Explorer, Fabric Eventhouse, Log Analytics, Application Insights, Microsoft Sentinel) over REST or KQL hit silent failures: HTTP 200 responses that hide errors in the body, joins that silently deduplicate rows, and unvalidated queries that break in production. This Skill encodes the rules and API mechanics that prevent those traps. ## Core Features & Use Cases - REST surface reference: Covers the five engine endpoints (/v1/rest/{query,mgmt,ingest}, /v2/rest/query), service-specific base URLs and OAuth audiences, request body schema, and the full request-property catalogue (servertimeout, notruncation, query_datetimescope_*, request_readonly_hardline, cache controls). - v1 vs v2 response handling: Explains the v2 frame protocol (DataSetHeader, TableFragment with DataAppend/DataReplace, DataSetCompletion) and the three-layer error model, including the "200 OK with errors in body" trap. - KQL language guidance: Operator and aggregation catalogue, join kinds with the innerunique default trap, time-series functions, and performance heuristics like has vs contains. - Parser and SDK coverage: Documents Microsoft.Azure.Kusto.Language for CI syntax validation and the cross-language SDK family (azure-kusto-data, azure-monitor-query, .NET SDKs). - Use Case: A CI pipeline parses every checked-in .kql file with KustoCode.ParseAndAnalyze and fails the build on syntax errors, while production scripts set x-ms-client-request-id and check DataSetCompletion.HasErrors on every call. ## Quick Start Ask the assistant to review your KQL query or Kusto REST client code against the ten non-negotiable rules in this skill.