CtrlK
BlogDocsLog inGet started
Tessl Logo

jspecify-skill

Use this skill when asked to perform any of the following actions in a Java project: - To add jspecify support - To prevent NullPointerExceptions - To better handle Nullability This skill will add jspecify dependency, configure Maven or Gradle build to automatically use jspecify for checking Nullability issues.

85

3.03x
Quality

77%

Does it follow best practices?

Impact

100%

3.03x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/jspecify/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

89%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a solid skill description with clear trigger guidance and a well-defined niche. It explicitly states when to use the skill and what it does, with good natural trigger terms. The main weakness is that it uses second-person voice ('Use this skill when asked to') rather than third-person, and the specific capabilities could be slightly more detailed (e.g., what kind of configuration changes are made).

DimensionReasoningScore

Specificity

The description names the domain (Java project, jspecify) and some actions (add dependency, configure Maven/Gradle build), but doesn't list comprehensive concrete actions beyond adding a dependency and configuring a build tool.

2 / 3

Completeness

Clearly answers both 'what' (add jspecify dependency, configure Maven/Gradle for nullability checking) and 'when' (explicit 'Use this skill when asked to...' clause with specific trigger scenarios).

3 / 3

Trigger Term Quality

Includes strong natural trigger terms users would say: 'jspecify', 'NullPointerExceptions', 'Nullability', 'Java project', 'Maven', 'Gradle'. These cover the key terms a user would naturally use when needing this skill.

3 / 3

Distinctiveness Conflict Risk

Very specific niche: jspecify nullability support in Java projects. The combination of 'jspecify', 'NullPointerExceptions', and 'Nullability' in a Java/Maven/Gradle context is highly distinctive and unlikely to conflict with other skills.

3 / 3

Total

11

/

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.

The skill provides highly actionable, copy-paste ready build configurations for both Maven and Gradle, which is its primary strength. However, it could be more concise by removing explanatory filler, and the workflow would benefit from explicit validation checkpoints and a feedback loop after the verification step. The reference to `scripts/verify_nullmarked.py` without it being present in the bundle is a gap.

Suggestions

Remove the opening explanatory sentence and transitional phrases like 'If you are using Maven, then add the jspecify dependency in pom.xml' — Claude already understands these concepts from context.

Add explicit validation checkpoints: after modifying pom.xml/build.gradle, instruct to run a build to verify configuration is correct before proceeding to add @NullMarked annotations.

Include the `scripts/verify_nullmarked.py` script in the bundle or provide inline verification logic, and add a feedback loop (e.g., 'If verification fails, check that all non-empty packages have package-info.java and re-run').

Consider noting what to do if the project uses a Java version other than 25, since `release=25` is hardcoded in both configurations.

DimensionReasoningScore

Conciseness

The opening sentence explaining what jSpecify is is unnecessary for Claude. The XML block is very long due to the many --add-exports args, but those are genuinely needed configuration. Some minor verbosity in transitional sentences like 'If you are using Maven, then add the jspecify dependency in pom.xml' could be tightened.

2 / 3

Actionability

Provides fully copy-paste ready XML and Gradle configurations with specific version numbers, exact plugin configurations, and concrete package-info.java examples. The instructions are directly executable.

3 / 3

Workflow Clarity

The steps are presented in a logical sequence (add dependency → configure build → add @NullMarked → verify), but there are no explicit validation checkpoints between steps. The verification step at the end references a script `scripts/verify_nullmarked.py` conditionally ('if python is installed') without a fallback, and there's no feedback loop for fixing issues found during verification.

2 / 3

Progressive Disclosure

The content is reasonably structured with clear section headers for Maven vs Gradle vs package-info. However, the large XML configuration block makes the document quite long, and the referenced verification script `scripts/verify_nullmarked.py` is not provided in the bundle, making it unclear if it exists. No bundle files are provided to support the reference.

2 / 3

Total

9

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
sivaprasadreddy/sivalabs-agent-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.