CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

asim-parser-create-parameter-parser

This creates the parameterized version of the ASIM schema parser. You should already have the parameter-less version of the parser to help facilitate the parameter parser creation.

Quality

62%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.github/skills/asim-parser-create-parameter-parser/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a well-sequenced, appropriately short set of instructions for a single-purpose skill, with a strong prohibited-patterns section and a real validation checkpoint at the end. Its weaknesses are the missing concrete example of a parameterized function signature/filter and several padded sentences that could be trimmed.

Suggestions

Add a short example of a parameterized parser signature and its filter usage (e.g., `vimNetworkSessionCiscoASACustom(starttime:datetime = datetime(null), ...)`) so the "Add parameters" step is executable rather than descriptive.

Trim redundant/padded text: collapse the two file-naming sentences into one, and cut "The purpose of the parameters and filters is to improve efficiency..." and "This step is crucial..." to single directives.

Add an error-recovery note to the validation step (e.g., "If the query fails, fix the syntax error and rerun via the queryer skill before finalizing").

DimensionReasoningScore

Conciseness

The body is mostly lean — the naming convention with a concrete example ("vimNetworkSessionCiscoASA.kql") and the prohibited-patterns list earn their tokens — but there are unnecessary passages: "The new file name will have the following format:" immediately restated by "The file name should be prefixed with...", the paragraph "The purpose of the parameters and filters is to improve efficiency... reduce the amount of data that needs to be processed" explaining why filtering helps, and "This step is crucial to validate that the parser is correctly formed and will function as expected when deployed" padding the validation step. This matches anchor 3 ("Mostly efficient but includes some unnecessary explanation or could be tightened") rather than 4, where over-explanation would be only minor.

3 / 5

Actionability

Concrete guidance exists — the exact file-naming format with a worked example, direct doc links (including the "#filtering-based-on-parser-parameters" anchor), a specific list of prohibited operators ("mv-expand", "summarize", "arg_min"), and the lookup/datatable allowance — but the core step "add it to function arguments for both the function and the function call" lacks any example of a parameterized ASIM function signature or filter, leaving key details missing. This matches anchor 3 ("Some concrete guidance but incomplete... missing key details") rather than 4, which requires mostly executable guidance with only minor gaps.

3 / 5

Workflow Clarity

The sequence is clear and ordered: gather parameters → create the vim-prefixed file with the parameter-less contents → preserve development restrictions → add parameters and filters at the start of the query → validate by running it via the log-analytics-workspace-queryer skill. An explicit final validation checkpoint exists ("ensure it executes without syntax errors"), matching anchor 4 ("Clear sequence with most checkpoints present; minor validation gaps"). It is not 5 because there is no error-recovery loop (what to do when the query fails) and the earlier "Add the contents of the parameter-less version" step has no intermediate check; not 3 because a terminal validation step is explicitly present and the operations are non-destructive.

4 / 5

Progressive Disclosure

There are no bundle files (no references/, scripts/, or assets/ exist) and the body is under 50 lines, so per the judging guidelines a short, single-purpose skill scores 5 with well-organized sections. The five headed sections (Prerequisites, Get the parameters, Create a new file, Preserve parser development restrictions, Add parameters, Ensure the KQL query runs) are each short, ordered, and self-contained, and external detail is delegated to Microsoft doc links rather than inlined.

5 / 5

Total

15

/

20

Passed

Description

45%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description states a specific, single purpose (creating the parameterized ASIM schema parser) but omits any "when to use" trigger guidance, uses second-person voice in the prerequisite sentence, and does not differentiate itself from a sibling parameter-less parser creation skill. It is serviceable but below the quality of the reference examples.

Suggestions

Add an explicit trigger clause, e.g., "Use when creating a parameterized ASIM parser after the parameter-less version already exists."

Rewrite in third person: replace "You should already have the parameter-less version..." with "Requires an existing parameter-less version of the parser as a prerequisite."

Include natural trigger keywords users would say (e.g., "ASIM parameters", "parser filtering", "KQL function arguments") and distinguish this skill from the parameter-less parser creation skill.

DimensionReasoningScore

Specificity

"This creates the parameterized version of the ASIM schema parser" names the domain and one concrete action, matching anchor 3, but the second sentence ("You should already have the parameter-less version of the parser to help facilitate the parameter parser creation") is second-person voice, which the judging guidelines penalize by reducing specificity by 1. It is not anchor 4 because only one action (creating) is stated — nothing about adding parameters, filters, or validating.

2 / 5

Completeness

The "what" is clear — creating the parameterized ASIM parser — but there is no "Use when..." clause or equivalent trigger guidance, capping completeness at 3 per the judging guidelines. Not anchor 2 because the "what" is specific, not vague; not anchor 4 because "when" is entirely absent rather than just under-specified.

3 / 5

Trigger Term Quality

Relevant keywords are present ("parameterized", "ASIM schema parser", "parameter-less version") but coverage is thin — no natural variations or synonyms such as "parameters", "filtering", "KQL", or "Azure Sentinel parser". It matches anchor 3 ("Some relevant keywords but missing common variations or synonyms") rather than 4, whose keyword coverage would include several natural trigger phrases.

3 / 5

Distinctiveness Conflict Risk

"This creates the parameterized version of the ASIM schema parser" carves a niche, but the description does nothing to distinguish this skill from a sibling parameter-less parser creation skill (e.g., "asim-parser-create-parser" referenced in the body), so a user asking to "create an ASIM parser" could trigger either. This matches anchor 3 ("Somewhat specific but could still overlap with similar skills"), not 4, which requires minimal overlap risk with closely related skills.

3 / 5

Total

11

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

Azure/Azure-Sentinel

Path

.github/skills/asim-parser-create-parameter-parser/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.