CtrlK
BlogDocsLog inGet started
Tessl Logo

martinfrancois/java-functional-style

Help AI coding agents write, review, and refactor Java lambdas, method references, functional interfaces, identity functions, suppliers, predicates, consumers, and callbacks with behavior-preserving readability.

100

1.36x
Quality

100%

Does it follow best practices?

Impact

100%

1.36x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

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

The body is a lean, prescriptive workflow that assumes Java competence and adds only skill-specific judgment: identity-helper rules, no-op stage removal, receiver-binding method references, extraction triggers, laziness, and a verification loop. Structure is exemplary — a signaling table for three genuine reference files, a sequenced 11-step workflow ending in explicit validation, and gotchas that are real behavioral traps rather than filler.

DimensionReasoningScore

Conciseness

The body opens with a one-sentence philosophy ("Lambdas are glue. A callback should name one step of the value flow") and never explains concepts Claude already knows; every rule is skill-specific judgment such as "Add the import. Never turn a callback that copies, normalizes, unwraps, casts, or calls something into an identity helper". Dense but lean — it is above level 4 because there are no over-explanation instances to trim.

5 / 5

Actionability

Copy-paste-ready before/after pairs (e.g., "exhibits.stream().collect(Collectors.toMap(Exhibit::id, Function.identity()))") plus concrete API-level directives ("UnaryOperator.identity() when the declared type is UnaryOperator<T>", "Comparator.comparingInt over comparing for primitives") cover the common cases. The referenced scan command in references/hard-stops.md was verified to be a real, executable rg invocation — matching the fully-executable level-5 anchor.

5 / 5

Workflow Clarity

The 11 numbered steps run from a baseline check ("Check the Java baseline first (build files, toolchains, CI, docs)") to an explicit validation step with checklist ("present and absent values, empty input, nulls, ordering, laziness, exception type and timing, side effects, object identity") and a scan-and-reconcile feedback loop ("reconcile every hit before finishing"). Sequence, checkpoints, and error-recovery loop all match the level-5 anchor.

5 / 5

Progressive Disclosure

A "Reference Bundle" table with a "Load it when" column clearly signals three one-level-deep references (hard-stops.md, functional-style-examples.md, java-functional-api.md), all verified present and substantive on disk. The body keeps the workflow inline while splitting examples, API-baseline tables, and antipattern scans out — matching the well-signaled, one-level-deep level-5 anchor exactly.

5 / 5

Total

20

/

20

Passed

Description

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

An exemplary description: concrete third-person actions, enumerated constructs and interfaces, explicit multi-scenario triggers with synonyms, and explicit negative boundaries that demarcate it from adjacent skills. Every clause earns its place; no padding or over-claims.

DimensionReasoningScore

Specificity

"Write, review, and refactor Java lambdas, method references, and functional-interface callbacks (Function, Predicate, Supplier, Consumer, Comparator, BiFunction)" names three concrete actions and enumerates the exact constructs and interfaces targeted, with the explicit quality goal "readable and behavior-preserving". This matches the level-5 anchor (multiple specific concrete actions, comprehensive coverage); it is above level 4 because there are no coverage gaps in the action list.

5 / 5

Completeness

It explicitly answers "what" ("Write, review, and refactor Java lambdas... so they stay readable and behavior-preserving") and "when" with concrete trigger phrases ("Use whenever Java code creates or changes a callback passed to a stream, Optional, Map, CompletableFuture, or listener API"). It even adds negative boundaries ("Do not use for stream or Optional semantics themselves"), which is a superset of the level-5 anchor; it is not level 4 because the when-clause is fully explicit, not improvable.

5 / 5

Trigger Term Quality

Natural user phrases are covered comprehensively: "make Java code cleaner or more functional", "identity lambdas (x returning x)", "block or multi-line lambdas", "method references, suppliers, or side-effecting callbacks", plus API surfaces users actually touch ("stream, Optional, Map, CompletableFuture, or listener API"). The clause "even if they never say 'lambda'" explicitly captures the synonymless trigger case, exceeding level 4's "a few natural terms missing".

5 / 5

Distinctiveness Conflict Risk

The niche — how Java callbacks are written, not stream/Optional semantics — is sharply demarcated by "Do not use for stream or Optional semantics themselves, and do not use it to force functional style where a plain loop or branch is clearer". Combined with construct-level triggers (lambdas, method references, functional interfaces), conflict risk with adjacent Java skills is minimal, matching the level-5 anchor.

5 / 5

Total

20

/

20

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents