CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-ai-textanalytics-py

Azure AI Text Analytics SDK for sentiment analysis, entity recognition, key phrases, language detection, PII, and healthcare NLP. Use for natural language processing on text.

83

1.56x
Quality

79%

Does it follow best practices?

Impact

100%

1.56x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills/skills/azure-ai-textanalytics-py/SKILL.md

The canonical home for this skill is azure-ai-textanalytics-py in sickn33/agentic-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

71%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-organized, executable cookbook body: authentic code per operation, coherent setup sequence, and explicit per-document error handling. Its main weaknesses are the absence of any progressive disclosure (everything inline at ~220 lines), a couple of filler sections, and small undefined-variable gaps in the async example.

Suggestions

Split the per-operation examples (healthcare NLP, batch actions, async) into one-level-deep reference files (e.g., references/operations.md) and keep only a quick-start plus the operations table in SKILL.md, with clearly signaled 'See X.md' pointers.

Remove the filler 'Client Types' table and the empty 'When to Use' sentence, and tighten the async example so it is self-contained (define endpoint/documents or note they carry over from earlier sections).

Add brief error-recovery guidance for failed documents (what doc.is_error/doc.error contains and how to retry), turning the implicit per-document checks into a real feedback checkpoint.

DimensionReasoningScore

Conciseness

A lean, code-first cookbook with no concept padding — it never explains what sentiment analysis or NLP is. Two trimmable fillers keep it from anchor 5: the two-row "Client Types" table that restates the obvious, and the vacuous "This skill is applicable to execute the workflow or actions described in the overview."

4 / 5

Actionability

Every operation ships real, executable code with imports, client construction, and result iteration (e.g., client.analyze_sentiment(documents, show_opinion_mining=True), poller.result()). Minor gaps — the async example references undefined endpoint/documents and ends with a '# Process results...' placeholder — hold it at anchor 4 rather than fully copy-paste-ready anchor 5.

4 / 5

Workflow Clarity

The install → env → auth → operations sequence is coherent, and batch operations do include validation ('if not doc.is_error' in every example plus Best Practice #4), so the batch-operation cap at 3 does not apply. It stays at anchor 4 rather than 5 because there is no error-recovery guidance beyond skipping failed documents.

4 / 5

Progressive Disclosure

There are no external reference files at all and ~220 lines of inline API cookbook, matching anchor 3's example of '200 lines of API reference that could be in a separate file' with decent section headers. Not anchor 4, which expects actual 'See X.md' references; the under-50-line exception does not apply at this size.

3 / 5

Total

15

/

20

Passed

Description

80%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 strong description: it names the specific SDK and six concrete capabilities and includes an explicit 'Use for' clause. Its main weakness is a generic trigger clause and missing common synonyms (NER, opinion mining, Azure AI Language), leaving the 'when' less pointed than top-anchored examples.

DimensionReasoningScore

Specificity

Lists six concrete, specific capabilities ("sentiment analysis, entity recognition, key phrases, language detection, PII, and healthcare NLP"), comprehensively covering the SDK's flagship operations, which matches the top anchor rather than anchor 4's 'minor gaps in coverage'.

5 / 5

Completeness

Both 'what' and 'when' are present ("Use for natural language processing on text"), so it is not capped at 3, but the 'when' clause is generic and lacks concrete trigger phrases, fitting anchor 4 ('when' could be more explicit or specific) rather than anchor 5.

4 / 5

Trigger Term Quality

Includes natural terms users would say ("sentiment analysis", "PII", "key phrases", "language detection", "NLP"), but misses common synonyms like "NER"/"named entity recognition", "opinion mining", or "Azure AI Language" — good coverage with a few natural terms missing, so not anchor 5.

4 / 5

Distinctiveness Conflict Risk

Names a specific Azure SDK niche with task-specific triggers, making it mostly distinct with only minor overlap risk against sibling Azure AI or generic NLP skills via the broad "natural language processing on text" clause — anchor 4, not 5, because that trailing clause could pull generic NLP requests.

4 / 5

Total

17

/

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/skills/azure-ai-textanalytics-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.