CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-ai-document-intelligence-ts

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

53

Quality

60%

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 ./plugins/AI-Agents-Safe-Coding-Skills/skills/azure-ai-document-intelligence-ts/SKILL.md

The canonical home for this skill is azure-ai-document-intelligence-ts 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.

The body is highly actionable, with comprehensive executable TypeScript examples for the common Azure Document Intelligence workflows and a clear polling workflow with an error-check checkpoint. Its main weaknesses are repeated poller boilerplate across examples, a filler 'When to Use' line, and the absence of any reference files to layer detail for a skill of this size.

Suggestions

Remove the duplicated isUnexpected/getLongRunningPoller/pollUntilDone boilerplate from individual examples and reference the 'Polling Pattern' section instead, to tighten the token budget.

Replace the vague 'When to Use' line with concrete trigger guidance aligned to the description (PDFs, OCR, invoices, receipts, custom model training).

Split the prebuilt-model table and the 'Key Types' import reference into a separate reference file (e.g. references/models.md) and link to it, giving the skill genuine progressive disclosure.

DimensionReasoningScore

Conciseness

The body is mostly code with minimal concept-explanation prose and assumes Claude's competence, but it repeats the full isUnexpected/getLongRunningPoller/pollUntilDone boilerplate in nearly every example despite a dedicated 'Polling Pattern' section, and the 'When to Use' line ('applicable to execute the workflow...') is filler.

3 / 5

Actionability

It provides fully executable, copy-paste-ready TypeScript covering the common cases (URL and local-file analyze, invoice/receipt field extraction, list models, build model/classifier, classify, service info) with real imports, method calls, and isUnexpected error handling.

5 / 5

Workflow Clarity

The 'Polling Pattern' section gives a clear numbered sequence (start -> check errors -> create poller -> monitor -> wait) with an explicit isUnexpected validation checkpoint and onProgress monitoring, but it lacks an explicit error-recovery feedback loop (errors are thrown, not retried).

4 / 5

Progressive Disclosure

Sections are well-organized with clear headers, but everything is inlined in a single ~330-line file with no reference files and no cross-file navigation; the prebuilt-model table and 'Key Types' import list are candidates for a separate reference file, so disclosure is all-at-once rather than layered.

3 / 5

Total

15

/

20

Passed

Description

50%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 clear 'what' with concrete extraction targets in third person, but it lacks any explicit 'when to use' trigger guidance and omits natural terms like 'PDF' or 'OCR'. It is a competent but incomplete description that would benefit from an explicit Use-when clause and richer trigger vocabulary.

Suggestions

Add an explicit 'Use when...' clause naming concrete triggers, e.g. 'Use when extracting text, tables, or fields from PDFs/images, or when the user mentions OCR, invoices, receipts, or document analysis.'

Include natural synonyms and file extensions users actually say ('PDF', 'PDFs', '.pdf', 'OCR', 'invoices', 'receipts') to improve trigger-term coverage.

Mention the provider/SDK niche (Azure Document Intelligence, TypeScript) to reduce overlap with generic document-extraction skills.

DimensionReasoningScore

Specificity

Names the domain ('documents') and three concrete extraction targets ('text, tables, and structured data') plus prebuilt/custom models, but it is essentially one verb applied to data types rather than multiple distinct actions, so it does not reach the 'several specific actions' anchor.

3 / 5

Completeness

The 'what' is clear (extract text/tables/structured data via prebuilt and custom models), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which the rubric caps at 3.

3 / 5

Trigger Term Quality

It includes relevant terms ('documents', 'text', 'tables', 'structured data') but omits natural variations users actually say such as 'PDF', 'PDFs', '.pdf', 'OCR', 'invoices', or 'receipts', leaving keyword coverage incomplete.

3 / 5

Distinctiveness Conflict Risk

'Using prebuilt and custom models' signals the document-intelligence niche, but the generic 'from documents' phrasing and absence of any provider/SDK name means it could still overlap with other document-extraction skills.

3 / 5

Total

12

/

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.

Validation15 / 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
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.