CtrlK
BlogDocsLog inGet started
Tessl Logo

nullaway

Guide for resolving NullAway static analysis errors. Best practices for: - Passing ObservableSupplier/Supplier<@Nullable T> - Dereferencing potentially @Nullable values - Adding @NullMarked to Java code

58

Quality

66%

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 ./agents/skills/nullaway/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%Weight 40%Scale 1-3

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable with concrete, executable Java examples and project-specific rules that justify their inclusion. It loses points for repetition that hurts conciseness, a reference-style rather than sequenced-workflow structure, and the absence of any progressive disclosure into separate files.

Suggestions

De-duplicate the repeated 'Deep Investigation Rule' and assert caution into a single canonical statement to recover token budget.

Add an explicit ordered workflow with validation checkpoints (e.g. investigate call tree -> choose assert vs assumeNonNull -> run PublicTransitLeakTest smoke test before CQ) rather than only scattered rules.

Move the detailed refactoring recipes and troubleshooting entries into a one-level-deep reference file referenced from SKILL.md to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body largely adds project-specific knowledge Claude would not already know, but it repeats the same guidance multiple times (the 'Deep Investigation Rule' and the 'STRICTLY FORBIDDEN' assert caution each reappear), so it could be tightened; it is not a score-1 wall of generic explanation, but not fully lean either.

2 / 3

Actionability

It provides concrete, executable Java examples with explicit good/bad snippets and named APIs (NullUtil.assumeNonNull, SupplierUtils.upcast, org.chromium.build annotations), matching 'fully executable code; copy-paste ready'.

3 / 3

Workflow Clarity

Decision rules and a Before/After recipe are present and a smoke test (PublicTransitLeakTest) is mentioned as validation, but the overall structure is a rules reference rather than a clearly sequenced workflow with explicit validate-then-proceed checkpoints, so it does not reach the 'clear sequence with explicit validation steps' anchor.

2 / 3

Progressive Disclosure

No bundle files (references/scripts/assets) exist and everything is inline in a single ~250-line file; sections are well-organized, but content such as detailed recipes and troubleshooting is kept inline rather than split into one-level-deep references, fitting 'some structure but content that should be separate is inline'.

2 / 3

Total

9

/

12

Passed

Description

67%Weight 40%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 is specific and distinct, naming concrete NullAway-related actions and a clear niche. Its main weakness is the absence of an explicit 'Use when...' trigger clause and limited coverage of natural user phrasings beyond 'NullAway static analysis errors'.

Suggestions

Add an explicit trigger clause, e.g. 'Use when resolving NullAway errors or warnings reported by the Java static analyzer.'

Include common natural phrasings users might say ('NullAway warning', 'null-check error', 'NullAway build failure') to broaden trigger coverage.

Keep the technical bullets but lead with the user-facing trigger language so the 'when to use' intent is obvious.

DimensionReasoningScore

Specificity

Lists multiple concrete actions ('Passing ObservableSupplier/Supplier<@Nullable T>', 'Dereferencing potentially @Nullable values', 'Adding @NullMarked to Java code'), matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

It clearly states what the skill does ('Guide for resolving NullAway static analysis errors') but has no 'Use when...' clause or equivalent explicit trigger guidance, which per the guidelines caps completeness at 2.

2 / 3

Trigger Term Quality

The natural trigger 'NullAway static analysis errors' is good, but the supporting bullets are technical jargon and common variations a user might say (e.g. 'NullAway warnings', 'null-check errors') are missing, so it sits at 'some relevant keywords but missing common variations' rather than full coverage.

2 / 3

Distinctiveness Conflict Risk

'NullAway' is a specific, narrowly-scoped static analyzer with a clear niche and distinct triggers, making it unlikely to fire for the wrong skill.

3 / 3

Total

10

/

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
chromium/chromium
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.