CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-ai-contentsafety-java

Build content moderation applications using the Azure AI Content Safety SDK for Java.

Quality

64%

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/skills/azure-ai-contentsafety-java/SKILL.md

The canonical home for this skill is azure-ai-contentsafety-java in sickn33/agentic-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

65%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.

A highly actionable, executable reference with strong code coverage of analysis and blocklist management, but it is a monolithic 280-line inline API guide with no progressive disclosure. Destructive blocklist operations lack validation steps, and minor padding (pinned version, trigger-phrase section, vague when-to-use filler) dilutes token efficiency.

Suggestions

Add validation steps around destructive operations: e.g., list blocklist items and confirm the blocklist name before 'removeBlocklistItems'/'deleteTextBlocklist', and verify deletion via a follow-up 'getTextBlocklist' check.

Move the blocklist management API patterns (create, add/list/remove items, delete) into a references/ file (e.g. BLOCKLIST.md) and keep only a quick-start analysis example in SKILL.md.

Remove the 'Trigger Phrases' section and the vague 'When to Use' filler from the body (move trigger guidance into the frontmatter description), and place the pinned SDK version in a clearly labeled version note.

DimensionReasoningScore

Conciseness

The body is mostly lean, copy-oriented code with little conceptual padding, but it includes unnecessary content that could be trimmed: the time-sensitive pinned version '1.1.0-beta.1' (penalized per guidelines since it is not in a deprecated/old-patterns section), a 7-item 'Trigger Phrases' boilerplate section, and the vague filler 'This skill is applicable to execute the workflow or actions described in the overview.' This fits anchor 3 ('Mostly efficient but includes some unnecessary explanation or could be tightened') better than 4, which allows only minor over-explanation.

3 / 5

Actionability

The content is fully executable and copy-paste ready: complete Maven dependency, client construction via KeyCredential and DefaultAzureCredential with environment variables, AnalyzeTextOptions/AnalyzeImageOptions usage including blocklist matching, full blocklist CRUD (create, add items, list, get, remove, delete), and HttpResponseException error handling with common error codes. It matches anchor 5 ('Fully executable; copy-paste ready code or commands; specific examples cover the common cases').

5 / 5

Workflow Clarity

The skill documents destructive operations — 'blocklistClient.deleteTextBlocklist("my-blocklist")' and 'removeBlocklistItems' — with no validation or verification steps (e.g., list items before removal, confirm the target blocklist, check deletion succeeded). Per the guideline capping workflow clarity at 3 for destructive or batch operations without validation, it cannot score above 3 despite the clear sectioned organization and the status-code checks shown for blocklist creation.

3 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), and roughly 280 lines of API patterns — especially the six blocklist management subsections — are inlined in SKILL.md where a reference file would be more appropriate. It matches anchor 3 ('content that should be separate is inline', per the 200-lines-of-API-reference example): structure is good with clear sections, so it is above 2, but nothing is split out into one-level-deep references, so it is below 4.

3 / 5

Total

14

/

20

Passed

Description

48%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 names a specific, distinctive niche but gives only one generic action and omits any 'when to use' guidance. Adding concrete capabilities (text/image analysis, blocklist management) and an explicit 'Use when...' clause with natural trigger phrases would raise most dimensions.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when the user asks to moderate or filter content, detect hate speech, or manage blocklists in Java applications on Azure.'

Replace the generic 'Build content moderation applications' with concrete actions: 'Analyze text and images for harmful content, manage custom blocklists, and handle moderation results with the Azure AI Content Safety SDK for Java.'

Include natural synonyms users would say (e.g. 'hate speech detection', 'toxic content filtering', 'harmful content filter') to improve trigger term coverage.

DimensionReasoningScore

Specificity

The description names the domain clearly ("content moderation", "Azure AI Content Safety SDK", "Java") but its only action is the generic "Build content moderation applications". It matches anchor 2 ('Names the domain but actions are minimal or generic') rather than 3, which would require 1-2 concrete actions such as 'analyze text/images' or 'manage blocklists'; it is above 1 because the domain is specific, not abstract.

2 / 5

Completeness

It clearly answers 'what' (build content moderation applications with the Azure AI Content Safety SDK for Java) but contains no 'Use when...' clause or any trigger guidance for when to invoke it. Per the judging guidelines, a missing 'Use when...' clause caps completeness at 3; it is not 2 because the 'what' is clear and domain-specific.

3 / 5

Trigger Term Quality

Relevant keywords are present ("content moderation", "Azure", "Content Safety", "Java"), but common natural variations users would say — e.g. 'hate speech detection', 'harmful content filter', 'toxic content', 'blocklist' — are missing. This fits anchor 3 ('Some relevant keywords but missing common variations or synonyms') better than 4, which requires good coverage across natural terms.

3 / 5

Distinctiveness Conflict Risk

"Azure AI Content Safety SDK for Java" is a clear, specific niche with minimal conflict risk against unrelated skills. It is not 5 because the description provides no distinct trigger phrases and could slightly overlap with other Azure or Java SDK skills; it is above 3 because the named SDK is far more specific than generic examples like 'Works with document files'.

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

Validation — 15 / 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

Path

plugins/AI-Agents-Safe-Coding-Skills/skills/azure-ai-contentsafety-java/SKILL.md

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.