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?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/azure-ai-contentsafety-ts/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

64%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 is a solid API reference skill with excellent actionability—all code examples are executable and well-typed. However, it's somewhat verbose for a skill file, including explanatory tables and generic best practices that don't add value for Claude. The content would benefit from tighter editing and better progressive disclosure to separate the core usage patterns from the reference material.

Suggestions

Remove or significantly trim the Harm Categories descriptions table, severity level descriptions, and generic Best Practices section—Claude already understands these concepts and can infer appropriate usage.

Move the Blocklist Management section, API Endpoints table, and Key Types into a separate reference file (e.g., BLOCKLIST.md or REFERENCE.md) and link to them from the main skill.

Add explicit workflow sequencing for the blocklist setup flow (create → add items → verify → use in analysis) with a validation step to confirm the blocklist was created before adding items.

DimensionReasoningScore

Conciseness

The skill is mostly efficient with good code examples, but includes some unnecessary content like the Harm Categories description table (Claude knows what these categories mean), the 'Best Practices' section with generic advice (e.g., 'Log moderation decisions', 'Handle edge cases'), and the boilerplate 'When to Use' section. The content could be tightened by ~20-30%.

2 / 3

Actionability

All code examples are fully executable TypeScript with proper imports, concrete API paths, and real parameter structures. The authentication examples, text/image analysis, blocklist management, and the moderation helper function are all copy-paste ready with specific types and error handling patterns.

3 / 3

Workflow Clarity

Individual operations are clear, but the blocklist management workflow (create → add items → analyze with blocklist) lacks explicit sequencing or validation checkpoints. The content moderation helper is a good pattern but there's no guidance on the overall workflow of setting up and using the service end-to-end, and no feedback loops for error recovery beyond throwing.

2 / 3

Progressive Disclosure

The content is well-structured with clear headers and logical grouping, but it's a long monolithic file (~200+ lines of code examples) that could benefit from splitting the blocklist management and the moderation helper into separate referenced files. The API endpoints table and key types section are good reference material that could be externalized.

2 / 3

Total

9

/

12

Passed

Description

32%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 conveys the core purpose of content moderation with blocklists but lacks a 'Use when...' clause, which is a significant gap for skill selection. It would benefit from more specific action verbs, natural trigger terms users would say, and explicit guidance on when Claude should select this skill.

Suggestions

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

List more specific concrete actions such as 'flag toxic language, detect NSFW images, categorize content severity levels, apply custom blocklists and allowlists'.

Include common user-facing keywords and file/content types like 'moderation', 'safety check', 'profanity', 'hate speech', 'inappropriate', 'NSFW' to improve trigger term coverage.

DimensionReasoningScore

Specificity

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

2 / 3

Completeness

Describes what the skill does (analyze text/images for harmful content) but has no 'Use when...' clause or equivalent explicit trigger guidance, which per the rubric caps completeness at 2, and the 'what' is also only moderately detailed, placing this at 1-2. Given the missing 'when' entirely, scoring at the lower end.

1 / 3

Trigger Term Quality

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

2 / 3

Distinctiveness Conflict Risk

The mention of 'harmful content' and 'blocklists' provides some specificity to content moderation, but 'analyze text and images' is broad enough to overlap with general text analysis or image 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
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.