Content
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.
| Dimension | Reasoning | Score |
|---|---|---|
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 |