CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-ai-document-intelligence-ts

Extract text, tables, and structured data from documents using prebuilt and custom models.

52

Quality

58%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/azure-ai-document-intelligence-ts/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%Scale 1-3

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

This skill provides highly actionable, executable TypeScript code for Azure Document Intelligence with good coverage of the API surface. However, it suffers from repetitive boilerplate across examples (the analyze+poll pattern is repeated 6+ times), a monolithic structure that would benefit from progressive disclosure, and lacks error recovery guidance for long-running operations. The 'When to Use' section adds no value.

Suggestions

Extract the repeated analyze→isUnexpected→getLongRunningPoller→pollUntilDone pattern into a single reusable helper shown once, then reference it in subsequent examples to reduce repetition.

Split detailed examples (invoice fields, receipt fields, custom model building, classifier building) into separate reference files and link to them from the main skill.

Add error recovery guidance for polling failures (timeouts, transient errors, retry strategies) to improve workflow clarity.

Remove the vacuous 'When to Use' section that adds no information.

DimensionReasoningScore

Conciseness

The skill is mostly efficient with executable code examples, but there's significant repetition in the analyze pattern (URL, local file, invoice, receipt all repeat the same polling boilerplate). The prebuilt models table and key types section are useful, but the receipt and invoice examples could be condensed since they follow the identical pattern. The 'When to Use' section is vacuous.

2 / 3

Actionability

All code examples are fully executable TypeScript with correct imports, proper type annotations, and real API patterns. The examples cover authentication, analysis, custom model building, classification, and pagination — all copy-paste ready with proper error handling.

3 / 3

Workflow Clarity

The polling pattern section clearly sequences the async workflow (start → check errors → create poller → monitor → wait), but there are no validation checkpoints for destructive/batch operations like building custom models. No guidance on what to do if polling fails, times out, or returns unexpected results. The error handling is present but lacks recovery/retry guidance.

2 / 3

Progressive Disclosure

This is a monolithic wall of code examples with no references to external files for advanced topics. At ~200+ lines, the custom model building, classifier building, and detailed field extraction examples could be split into separate reference files. Everything is inline with flat section headers and no navigation structure.

1 / 3

Total

8

/

12

Passed

Description

60%Scale 1-3

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 does a good job listing specific extraction capabilities (text, tables, structured data) and hints at the mechanism (prebuilt and custom models). However, it lacks an explicit 'Use when...' clause, which caps completeness, and the term 'documents' is too generic—it doesn't specify file types or user-facing trigger terms that would help Claude distinguish this skill from other document-processing skills.

Suggestions

Add an explicit 'Use when...' clause with trigger scenarios, e.g., 'Use when the user needs to extract data from invoices, receipts, forms, or scanned documents.'

Include specific file types and natural user terms such as 'PDF', 'OCR', 'invoice', 'receipt', 'scanned image', '.pdf', '.tiff' to improve trigger term coverage.

Clarify the tool or service being used (e.g., Azure Document Intelligence, AWS Textract) to improve distinctiveness and reduce conflict risk with other document skills.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: 'Extract text, tables, and structured data' and mentions both 'prebuilt and custom models' as methods.

3 / 3

Completeness

Clearly answers 'what does this do' (extract text, tables, structured data from documents using models), but has no explicit 'Use when...' clause or trigger guidance for when Claude should select this skill.

2 / 3

Trigger Term Quality

Includes some relevant terms like 'extract text', 'tables', 'structured data', and 'documents', but lacks specific file type keywords users would naturally say (e.g., PDF, invoice, receipt, OCR, .pdf) and misses common variations.

2 / 3

Distinctiveness Conflict Risk

'Documents' is very broad and could overlap with many document-related skills. The mention of 'prebuilt and custom models' adds some distinctiveness but doesn't clearly carve out a niche—it's unclear if this is OCR, document intelligence, or a specific API/tool.

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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-Skills
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.