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.
55
62%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/azure-ai-textanalytics-py/SKILL.mdQuality
Discovery
60%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 excels at listing specific capabilities (sentiment analysis, entity recognition, PII, etc.) and names the specific SDK. However, the 'Use when' guidance is too vague ('natural language processing on text'), which weakens both completeness and trigger quality. Adding more explicit trigger scenarios and user-facing keywords would significantly improve skill selection accuracy.
Suggestions
Strengthen the 'Use when' clause with specific trigger scenarios, e.g., 'Use when the user asks to analyze sentiment, detect entities, extract key phrases, identify PII, detect language, or perform healthcare text analysis using Azure.'
Add common keyword variations users might say, such as 'opinion mining', 'NER', 'named entity recognition', 'text mining', 'Azure Cognitive Services', or 'Text Analytics API'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: sentiment analysis, entity recognition, key phrases, language detection, PII detection, and healthcare NLP. These are clearly defined capabilities. | 3 / 3 |
Completeness | The 'what' is well-covered with specific capabilities, but the 'when' clause ('Use for natural language processing on text') is overly broad and doesn't provide explicit trigger scenarios. It doesn't specify when to choose this skill over other NLP-related skills or mention user-facing trigger phrases. | 2 / 3 |
Trigger Term Quality | Includes good technical terms like 'sentiment analysis', 'entity recognition', 'PII', and 'language detection' that users might say, but misses common variations like 'text mining', 'NER', 'opinion mining', 'detect language', or 'Azure Cognitive Services'. The 'Use for' clause is too generic ('natural language processing on text') to serve as strong trigger guidance. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Azure AI Text Analytics SDK' anchors it to a specific platform, which helps distinctiveness. However, the broad 'natural language processing on text' trigger could overlap with other NLP or text processing skills. It could conflict with generic NLP tools or other cloud provider NLP skills. | 2 / 3 |
Total | 9 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid API reference skill with excellent actionability — every operation has complete, executable code examples with realistic data. Its main weaknesses are the lack of error-recovery workflows for batch/long-running operations and the monolithic structure that could benefit from splitting advanced topics into separate files. The boilerplate 'When to Use' and 'Limitations' sections waste tokens without adding value.
Suggestions
Add error handling and retry guidance for long-running operations (begin_analyze_healthcare_entities, begin_analyze_actions), including polling timeouts and what to do when individual documents fail.
Remove the generic 'When to Use' and 'Limitations' boilerplate sections — they add no skill-specific value.
Consider splitting advanced topics (healthcare NLP, batch operations, async client) into separate referenced files to improve progressive disclosure and reduce the main file's token footprint.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is mostly efficient with executable examples, but includes some unnecessary elements: the 'When to Use' and 'Limitations' sections are generic boilerplate that add no value, the Client Types table is nearly redundant (only two rows, one being the async version), and some code examples could be slightly tighter. However, it doesn't over-explain concepts Claude already knows. | 2 / 3 |
Actionability | Every section provides fully executable, copy-paste ready Python code with concrete examples. Authentication, each API operation, batch processing, and async usage all have complete, runnable code snippets with realistic sample data and result handling. | 3 / 3 |
Workflow Clarity | Individual operations are clear, but there's no validation/error-recovery workflow for the batch operations (begin_analyze_actions, begin_analyze_healthcare_entities). The error handling pattern (checking doc.is_error) is shown but there's no guidance on what to do when errors occur, and the batch operations lack polling/timeout guidance. For long-running operations, missing feedback loops cap this at 2. | 2 / 3 |
Progressive Disclosure | The content is well-structured with clear section headers and a logical progression from setup to individual operations to advanced usage. However, at ~180 lines with detailed code for every operation, some content (e.g., healthcare analytics, batch operations) could be split into referenced files. No bundle files exist to offload this detail, making it a somewhat monolithic reference. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
9e5d4dd
Table of Contents
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.