CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

144-java-data-oriented-programming

Use when you need to apply data-oriented programming best practices in Java — including separating code (behavior) from data structures using records, designing immutable data with pure transformation functions, keeping data flat and denormalized with ID-based references, starting with generic data structures converting to specific types when needed, ensuring data integrity through pure validation functions, and creating flexible generic data access layers. This should trigger for requests such as Improve the code with Data-Oriented Programming; Apply Data-Oriented Programming; Refactor the code with Data-Oriented Programming; Model Java data with records and pure functions; Separate Java behavior from immutable data structures; Validate data integrity with pure Java functions. Part of Plinth Toolkit

67

Quality

84%

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

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 well-structured, disciplined overview: a safe compile-first/verify-after workflow with explicit checkpoints and clean delegation to a single verified reference file. It falls just short of top marks on conciseness (duplicated capability/trigger listings), actionability (the apply step stays abstract), and workflow clarity (recovery loop implied rather than explicit).

Suggestions

Remove the 'When to use this skill' section (and tighten the opening paragraph) since both duplicate the frontmatter description and the 'What is covered' bullet list.

Make step 3 concrete: list the specific refactoring moves or link directly to the relevant example sections in the reference (e.g., 'apply patterns from Example 1–8 in the reference').

State the recovery loop explicitly in the workflow: 'If compilation fails, fix the errors and re-run compile before proceeding; if verify fails, revert or fix and re-run verify.'

DimensionReasoningScore

Conciseness

The body is lean, teaches no concepts Claude already knows, and points to a reference for details, but it repeats itself: the opening paragraph, the 'What is covered' bullet list, and the 'When to use this skill' section largely restate the same capabilities and the frontmatter trigger phrases. This matches the 'efficient; minor instances that could be trimmed' anchor rather than 5.

4 / 5

Actionability

Concrete, executable commands are given ('Run ./mvnw compile or mvn compile', 'Run ./mvnw clean verify or mvn clean verify') and the reference path is exact, but the core step 3 ('Implement selected improvements using records, pure transformation functions, flat structures, and explicit validation') remains abstract with all specifics deferred to the reference — minor gaps keep it at 4 rather than fully copy-paste-ready 5.

4 / 5

Workflow Clarity

The 4-step workflow has a clear sequence with explicit validation checkpoints (mandatory pre-compile, 'stop immediately — do not proceed until resolved', post-change full verify), but the error-recovery loop (fix and re-compile/re-verify) is only implied by 'do not proceed until resolved' rather than explicitly stated, and there is no checklist — matching the 'most checkpoints present; minor validation gaps' anchor.

4 / 5

Progressive Disclosure

The body is a concise overview that cleanly delegates all detailed good/bad examples to a single, clearly signaled, one-level-deep reference ([references/144-java-data-oriented-programming.md], verified to exist and be well-structured), which is also named in workflow step 2. This matches the anchor for clear overview with well-signaled one-level-deep references and easy navigation; not 4 because there are no organizational gaps or misplaced inline content.

5 / 5

Total

17

/

20

Passed

Description

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

A strong description with comprehensive, concrete capability coverage and explicit trigger phrases for both what and when. The main deductions are the second-person 'you need' phrasing (penalized on specificity per the rubric) and trigger/overlap gaps that leave it just short of top marks.

Suggestions

Rewrite the opening in third person (e.g., 'Use when the user needs to apply data-oriented programming best practices in Java') to avoid the second-person penalty.

Add common trigger variations such as 'DOP', 'data-oriented design in Java', or 'make my Java code more data-oriented' to broaden natural keyword coverage.

Sharpen trigger phrasing beyond generic verbs ('Improve the code', 'Refactor the code') toward Java/DOP-specific requests to reduce overlap with general refactoring skills.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions ('separating code (behavior) from data structures using records', 'designing immutable data with pure transformation functions', 'keeping data flat and denormalized with ID-based references', 'pure validation functions', 'generic data access layers'), which comprehensively matches the 5 anchor. However, it opens with second-person phrasing 'Use when you need to apply...', which the judging guidelines penalize by reducing specificity by 1.

4 / 5

Completeness

It clearly answers both what (the enumerated data-oriented programming practices) and when, with an explicit 'Use when you need to apply...' clause plus concrete trigger phrases ('This should trigger for requests such as...'), matching the anchor for explicit what AND when with concrete triggers. Not below: the 'when' is fully explicit, not merely present.

5 / 5

Trigger Term Quality

Natural trigger phrases are well covered with synonyms ('Improve the code with Data-Oriented Programming; Apply Data-Oriented Programming; Refactor the code with Data-Oriented Programming; Model Java data with records and pure functions; Separate Java behavior from immutable data structures; Validate data integrity with pure Java functions'), but common variations like 'DOP' or 'make my Java code more data-oriented' are missing, so it sits at the 'good coverage, a few natural terms missing' anchor rather than 5.

4 / 5

Distinctiveness Conflict Risk

The Java data-oriented programming niche is clear and mostly distinct, but generic trigger phrasings like 'Refactor the code with Data-Oriented Programming' and 'Improve the code' carry minor overlap risk with general Java refactoring or functional-programming skills, matching the 'mostly distinct; minor overlap risk' anchor rather than 5.

4 / 5

Total

17

/

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.

Repository

jabrena/plinth

Path

skills/144-java-data-oriented-programming/SKILL.md

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.