CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-ai-contentsafety-ts

Analyze text and images for harmful content with customizable blocklists.

46

Quality

48%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/antigravity-azure-ai-contentsafety-ts/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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 code example is executable and covers the full surface area of the SDK. However, it's somewhat long for a single file, includes some boilerplate and unnecessary explanations (best practices, limitations), and lacks explicit multi-step workflow guidance for operations that naturally chain together (e.g., blocklist setup → usage).

Suggestions

Remove the generic 'When to Use' and 'Limitations' boilerplate sections, and trim 'Best Practices' to only non-obvious SDK-specific guidance (e.g., keep the isUnexpected() tip, drop 'handle edge cases').

Add an explicit workflow sequence for blocklist management: create → add items → analyze with blocklist, with validation at each step.

Consider splitting the API endpoints table, key types, and the moderation helper into a separate REFERENCE.md to keep the main skill focused on quick-start patterns.

DimensionReasoningScore

Conciseness

The skill is mostly efficient with executable code examples, but includes some unnecessary content: the 'When to Use' and 'Limitations' sections are generic boilerplate, the 'Best Practices' section contains advice Claude already knows (like logging and handling edge cases), and the harm categories table explains concepts that are self-evident from the API terms.

2 / 3

Actionability

All code examples are fully executable TypeScript with proper imports, real API paths, and correct usage patterns. The examples cover authentication, text analysis, image analysis, blocklist CRUD operations, and even a complete moderation helper function — all copy-paste ready.

3 / 3

Workflow Clarity

Individual operations are clear and each includes error handling with isUnexpected(), but there's no explicit workflow sequencing for multi-step processes like 'create blocklist → add items → analyze with blocklist'. The moderation helper function implicitly shows a workflow but lacks validation checkpoints for the broader blocklist management lifecycle.

2 / 3

Progressive Disclosure

The content is well-organized with clear section headers and a logical progression from simple to complex, but it's a long monolithic file (~230 lines) with no references to external files. The API reference table, key types, and the full moderation helper could be split into separate reference files to keep the main skill leaner.

2 / 3

Total

9

/

12

Passed

Description

32%

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 conveys the core purpose of content moderation with blocklists but lacks explicit trigger guidance ('Use when...') and misses common user-facing terms like 'moderation', 'NSFW', 'filter', or 'safety'. It is reasonably specific but would benefit from more concrete actions and clearer selection triggers.

Suggestions

Add a 'Use when...' clause with trigger terms like 'content moderation', 'filter harmful content', 'NSFW detection', 'profanity filter', or 'safety check'.

List more specific actions such as 'flag toxic language, detect NSFW images, categorize content violations, apply custom blocklists'.

Include common keyword variations users might say, such as 'moderation', 'safety', 'toxic', 'offensive', 'inappropriate content'.

DimensionReasoningScore

Specificity

Names the domain (content moderation) and two key actions (analyze text/images, customizable blocklists), but doesn't list multiple concrete actions like flagging, filtering, reporting, or categorizing harmful content.

2 / 3

Completeness

Describes what the skill does but has no 'Use when...' clause or equivalent explicit trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and since the 'when' is entirely absent, this scores a 1.

1 / 3

Trigger Term Quality

Includes some relevant keywords like 'harmful content', 'blocklists', 'text', and 'images', but misses common user terms like 'content moderation', 'NSFW', 'safety', 'filter', 'profanity', or 'toxic content'.

2 / 3

Distinctiveness Conflict Risk

The combination of 'harmful content' and 'blocklists' provides some distinctiveness, but 'analyze text and images' is broad enough to overlap with general image analysis or text analysis skills.

2 / 3

Total

7

/

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
boisenoise/skills-collections
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.