CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-monitor-ingestion-py

Azure Monitor Ingestion SDK for Python. Use for sending custom logs to Log Analytics workspace via Logs Ingestion API.

Quality

75%

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 ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/azure-monitor-ingestion-py/SKILL.md

The canonical home for this skill is azure-monitor-ingestion-py in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

67%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.

A well-structured, code-heavy reference with a clear sequence and a real error-recovery feedback loop. The main issues are repeated client-setup boilerplate, a vague filler closing line, and code snippets in the secondary sections that depend on undefined variables from earlier sections.

Suggestions

Deduplicate the client construction: show it once in the Authentication section and reference it from later sections instead of repeating the same LogsIngestionClient setup verbatim three times.

Replace the vague 'When to Use' filler line with either a concrete decision guide (sync vs. async, when sovereign-cloud settings apply) or delete the section entirely.

Make the 'Upload from JSON File' and 'Async Client' snippets self-contained by defining the variables they use (endpoint, rule_id, stream_name, logs), and add a concrete verification step (e.g., querying the custom table in Log Analytics) to complement the existing retry loop.

DimensionReasoningScore

Conciseness

The body is mostly lean code, but there is noticeable duplication and padding: the LogsIngestionClient construction is repeated verbatim in the 'Authentication', 'Upload Custom Logs', and 'Sovereign Clouds' sections; the 'Client Types' table restates the sync/async sections; and the closing line 'This skill is applicable to execute the workflow or actions described in the overview' is pure filler. This fits the 'mostly efficient but includes some unnecessary content that could be tightened' anchor better than the minor-trim level of 4.

3 / 5

Actionability

The core upload path is fully executable and copy-paste ready (install commands, env vars, complete client setup, upload call, on_error callback with retry), and the sovereign-cloud example is complete. Minor gaps: the 'Upload from JSON File' and 'Async Client' snippets reference undefined variables (client, rule_id, stream_name, logs, endpoint), so they are not standalone-executable, fitting the 'mostly executable with minor gaps' anchor rather than the fully self-contained level of 5.

4 / 5

Workflow Clarity

The sequence is clear and well-ordered (install, prerequisites, env vars, auth, upload, error handling), and the error-handling section gives a genuine feedback loop (capture failed logs via on_error, then retry them) appropriate for this batch operation. It falls short of 5 because verification of successful ingestion is only hinted at in Best Practices ('Monitor ingestion - Check Log Analytics for ingestion status') with no concrete step, leaving a minor validation gap.

4 / 5

Progressive Disclosure

The file has clear, well-ordered section headers and no bundle files exist, so all content lives in SKILL.md. For a ~200-line skill the inline content is mostly appropriately placed, though advanced topics (sovereign clouds, async usage, batching details) could be split into separate reference files to keep the overview lean, matching the 'good structure with minor organization gaps' anchor.

4 / 5

Total

15

/

20

Passed

Description

73%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.

A solid, third-person description with a clear niche and an explicit 'Use for' clause. Its main weaknesses are limited action coverage (only upload is mentioned) and a 'when' clause that mirrors the 'what' instead of providing distinct trigger phrasing.

DimensionReasoningScore

Specificity

The description names the domain ('Azure Monitor Ingestion SDK for Python') and one concrete action ('sending custom logs to Log Analytics workspace via Logs Ingestion API'), matching the anchor for 1-2 concrete actions without comprehensive coverage. It omits other capabilities shown in the body (error handling, async client, sovereign clouds), so it does not reach the 'several specific actions' level of 4.

3 / 5

Completeness

Both 'what' ('sending custom logs to Log Analytics workspace via Logs Ingestion API') and 'when' ('Use for sending custom logs...') are explicitly present. The 'when' clause largely restates the 'what' rather than giving distinct trigger conditions or user-intent phrasing, so it fits the anchor where 'when' could be more explicit or specific rather than the fully distinct triggers of 5.

4 / 5

Trigger Term Quality

Natural keywords a user would say are present: 'Azure Monitor', 'Log Analytics', 'custom logs', 'Logs Ingestion API', 'Python'. This is good coverage with a few natural terms missing (e.g., 'ingest logs', 'send logs to Azure'), fitting the anchor for good coverage rather than the comprehensive synonym-plus-extension coverage of 5.

4 / 5

Distinctiveness Conflict Risk

The description occupies a clear niche (Azure Monitor Logs Ingestion via the Python SDK) with distinct, unambiguous triggers ('Log Analytics workspace', 'Logs Ingestion API'). It is highly unlikely to fire for unrelated skills, matching the minimal-conflict-risk anchor.

5 / 5

Total

16

/

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

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/azure-monitor-ingestion-py/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.