Build content moderation applications using the Azure AI Content Safety SDK for Java.
48
52%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/antigravity-azure-ai-contentsafety-java/SKILL.mdQuality
Discovery
40%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 identifies a clear and specific technology niche (Azure AI Content Safety SDK for Java) which makes it distinctive, but it lacks concrete action verbs describing what the skill enables and entirely omits a 'Use when...' clause. Adding specific capabilities and explicit trigger conditions would significantly improve skill selection accuracy.
Suggestions
Add a 'Use when...' clause with trigger terms like 'Use when the user needs to analyze text or images for harmful content, manage blocklists, or integrate Azure Content Safety into a Java application'.
List specific concrete actions such as 'analyze text for harmful categories, detect image safety violations, manage custom blocklists, handle severity levels'.
Include natural keyword variations users might say, such as 'harmful content detection', 'text moderation', 'image safety', 'content filtering', 'Azure safety API'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (content moderation) and the technology (Azure AI Content Safety SDK for Java), but does not list specific concrete actions like 'detect harmful text', 'classify images', 'manage blocklists', etc. | 2 / 3 |
Completeness | Describes what (build content moderation apps with Azure AI Content Safety SDK for Java) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, missing 'Use when' caps completeness at 2, and the 'what' is also not very detailed, so this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'content moderation', 'Azure AI Content Safety', 'SDK', and 'Java', but misses common variations users might say such as 'harmful content detection', 'text moderation', 'image moderation', 'blocklist', or 'safety API'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of 'Azure AI Content Safety SDK' and 'Java' creates a very specific niche that is unlikely to conflict with other skills. This is clearly distinguishable from general content moderation or other Azure SDK skills. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
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 operation has complete, executable Java code with proper imports. However, it suffers from being a comprehensive but monolithic reference document that lacks workflow sequencing for multi-step operations (especially blocklist setup and usage). Some content is unnecessary filler (trigger phrases, generic limitations, harm category descriptions) that could be trimmed to improve token efficiency.
Suggestions
Add an explicit multi-step workflow for the blocklist lifecycle: create → add items → wait for propagation → verify with test analysis → use in production, with validation checkpoints.
Remove the 'Trigger Phrases', 'When to Use', and 'Limitations' boilerplate sections, and trim the 'Key Concepts' harm categories table—Claude already knows what hate speech and violence are.
Consider splitting blocklist management into a separate reference file to reduce the main skill's token footprint and improve progressive disclosure.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient with executable code examples, but includes some unnecessary content: the 'Key Concepts' table explaining harm categories is basic knowledge Claude already has, the 'Trigger Phrases' and 'When to Use'/'Limitations' sections are boilerplate filler, and the 'Best Practices' section mixes useful tips (blocklist delay) with generic advice (caching, batch processing). The version number in the dependency is time-sensitive without deprecation context. | 2 / 3 |
Actionability | The skill provides fully executable, copy-paste ready Java code for every operation: client creation, text analysis, image analysis, blocklist CRUD, and error handling. Import statements are included, and examples cover both simple and advanced usage patterns with options. | 3 / 3 |
Workflow Clarity | The skill presents individual operations clearly but lacks workflow sequencing for multi-step processes. For example, the blocklist workflow (create → add items → wait 5 min → analyze with blocklist) is not presented as a connected sequence with validation checkpoints. The 5-minute delay is mentioned only as a best practice bullet rather than as an explicit checkpoint in a workflow. | 2 / 3 |
Progressive Disclosure | The content is organized into logical sections with clear headers, but it's a monolithic document (~200+ lines) with no references to external files. The blocklist management section and detailed API patterns could be split into separate reference files. However, with no bundle files provided, there's nothing to reference, so the inline approach is somewhat justified. | 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.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
8ac11ab
Table of Contents
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.