CtrlK
BlogDocsLog inGet started
Tessl Logo

142-java-functional-programming

Use when you need to apply functional programming principles in Java — including writing immutable objects and Records, pure functions, functional interfaces, lambda expressions, Stream API pipelines, Optional for null safety, function composition, higher-order functions, pattern matching for instanceof and switch, sealed classes/interfaces for controlled hierarchies, Stream Gatherers for custom operations, currying/partial application, effect boundary separation, and concurrent-safe functional patterns. This should trigger for requests such as Improve the code with Functional Programming; Apply Functional Programming; Refactor the code with Functional Programming; Refactor Java code to use streams or Optionals safely; Improve immutability and pure functions in Java. Part of Plinth Toolkit

67

Quality

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

70%

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

A well-structured body with strong workflow validation and clean progressive disclosure to a single reference file. The main gaps are duplicated trigger phrasing and abstract, code-free refactoring guidance in the core step.

Suggestions

Remove the "When to use this skill" section or replace it with a pointer, since the same triggers already appear in the description frontmatter.

Add at least one short, executable before/after code snippet in the workflow's apply step, or name the specific reference subsection to consult, so the core action is concrete rather than abstract.

DimensionReasoningScore

Conciseness

The body is organized and avoids explaining concepts Claude already knows, but the "When to use this skill" section duplicates the trigger phrases already present in the description, and the MANDATORY/SAFETY/VERIFY constraint labels overlap the workflow steps, so it could be tightened.

2 / 3

Actionability

Concrete commands are present ("./mvnw compile or mvn compile", "./mvnw clean verify"), but the core refactoring step is abstract ("Implement selected functional refactorings while keeping side effects at boundaries") with no executable code in the body — all examples are deferred to the reference.

2 / 3

Workflow Clarity

A clear five-step sequence with explicit validation checkpoints: compile-before, stop-on-failure feedback loop, and verify-after-build, matching the top anchor for risky refactoring operations.

3 / 3

Progressive Disclosure

SKILL.md is a concise overview that delegates detailed good/bad examples to a single one-level-deep, clearly signaled reference (references/142-java-functional-programming.md, verified to exist), with navigation in both the workflow and a dedicated Reference section.

3 / 3

Total

10

/

12

Passed

Description

90%

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

A strong, comprehensive description with explicit triggers and clear distinctiveness, weakened only by its second-person voice. Trimming verbosity and shifting to third person would raise specificity back to the top anchor.

Suggestions

Rewrite in third person (e.g. "Applies functional programming principles in Java...") to avoid the specificity penalty for second-person voice.

Trim the long enumerated capability list into a tighter core set; the full enumeration is also covered in the body and reference.

DimensionReasoningScore

Specificity

Lists many concrete actions ("writing immutable objects and Records, pure functions, functional interfaces, lambda expressions, Stream API pipelines..."), which would merit a 3, but the opening "Use when you need to apply..." uses second-person voice, so specificity is reduced by 1 per the voice guideline.

2 / 3

Completeness

It answers both what (the enumerated functional-programming capabilities) and when via an explicit "Use when..." clause plus a "This should trigger for requests such as..." list, matching the top anchor.

3 / 3

Trigger Term Quality

Natural user phrases are explicitly supplied ("Improve the code with Functional Programming; Apply Functional Programming; Refactor the code with Functional Programming; Refactor Java code to use streams or Optionals safely"), giving good coverage of terms a user would actually say.

3 / 3

Distinctiveness Conflict Risk

It is scoped to Java functional programming with distinct, Java-specific triggers (Records, Stream API, Optional, sealed classes), making it unlikely to fire for unrelated skills.

3 / 3

Total

11

/

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
jabrena/plinth
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.