Agent skill

144 Java Data Oriented Programming

by jabrena in jabrena/plinth

A skill your agent uses when you need to apply data-oriented programming best practices in Java — including separating code (behavior) from data structures using records, designing immutable data…

Apache-2.0Auto-check passedDatabases

Install 144 Java Data Oriented Programming

skills CLI
$ npx skills add jabrena/plinth --skill 144-java-data-oriented-programming -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jabrena/plinth 144-java-data-oriented-programming --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jabrena/plinth.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/144-java-data-oriented-programming .claude/skills/144-java-data-oriented-programming && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
144-java-data-oriented-programming
GitHub stars
445
Token cost
~979 tokens
SKILL.md length
349 words
Files
2 (incl. references)
Skills in repo
124
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when you need to apply data-oriented programming best practices in Java — including separating code (behavior) from data structures using records, designing immutable data…

  • You need to apply data-oriented programming best practices in Java — including separating code (behavior) from data structures using records
  • SKILL.md covers Constraints, When to use this skill, Workflow and Reference
  • Calls mvn
  • Designing immutable data with pure transformation functions

What it does

144 Java Data Oriented Programming is an agent skill from jabrena/plinth. 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…

Its SKILL.md is about 980 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/144-java-data-oriented-programming.md`).

It sits in Databases, covering ORMs and data access and Refactoring. It works with Java. The repository describes itself as: Plinth is an AI-native engineering toolkit for modern Java enterprise SDLC, built around reusable Commands, Agents, Skills, and MCP Servers. The licence is Apache-2.0.

When your agent uses it

  • 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

Example prompts

  • “/144-java-data-oriented-programming”

What it can do on your machine

Read from SKILL.md and the folder at commit 5130f45. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • mvn

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

144 Java Data Oriented Programming loads about 979 tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 212 tokens; SKILL.md has 349 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~212
When it runs · the whole SKILL.md, loaded when a task matches
~979
With references · SKILL.md plus every file in references/, read only if the agent opens them
~12k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jabrena/plinth at commit 5130f45, republished under its Apache-2.0 licence (© jabrena). 349 words, ~979 tokens.

Download SKILL.mdSave it as .claude/skills/144-java-data-oriented-programming/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
144-java-data-oriented-programming
description
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
license
Apache-2.0
metadata.author
Juan Antonio Breña Moral
metadata.version
0.19.0

Java Data-Oriented Programming Best Practices

Apply data-oriented programming in Java: separate data from behavior with records, use immutable data structures, pure functions for transformations, flat denormalized structures with ID references, generic-to-specific type conversion when needed, pure validation functions, and flexible generic data access layers. All transformations should be explicit, traceable, and composed of clear pure functional steps.

What is covered in this Skill?

  • Separation of concerns: data structures (records, POJOs) vs behavior (utility classes, services)
  • Immutability: records, final fields, transformations produce new instances
  • Pure data transformations: functions depending only on inputs, no side effects
  • Flat and denormalized data: ID references instead of deep nesting
  • Generic until specific: Map<String,Object> for dynamic data, convert to records when processing
  • Data integrity: pure validation functions returning validation results
  • Flexible generic data access: generic CRUD interfaces, interchangeable implementations

Scope: The reference is organized by examples (good/bad code patterns) for each core area. Apply recommendations based on applicable examples.

Constraints

Before applying any data-oriented programming recommendations, ensure the project compiles. Compilation failure is a blocking condition. After applying improvements, run full verification.

  • MANDATORY: Run ./mvnw compile or mvn compile before applying any change
  • SAFETY: If compilation fails, stop immediately — do not proceed until resolved
  • VERIFY: Run ./mvnw clean verify or mvn clean verify after applying improvements
  • BEFORE APPLYING: Read the reference for detailed good/bad examples, constraints, and safeguards for each data-oriented programming pattern

When to use this skill

  • 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

Workflow

  1. Compile project before data-oriented changes

Run ./mvnw compile or mvn compile and stop immediately if compilation fails.

  1. Read data-oriented reference and assess model design

Read references/144-java-data-oriented-programming.md and identify candidates for data/behavior separation and immutable transformations.

  1. Apply data-oriented refactorings

Implement selected improvements using records, pure transformation functions, flat structures, and explicit validation.

  1. Verify with full build

Run ./mvnw clean verify or mvn clean verify after applying improvements.

Reference

For detailed guidance, examples, and constraints, see references/144-java-data-oriented-programming.md.

© jabrena, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/144-java-data-oriented-programming of jabrena/plinth.

  • SKILL.md
  • references/144-java-data-oriented-programming.md

Open the folder on GitHubat commit 5130f45

Compare with similar skills

144 Java Data Oriented Programming next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

144 Java Data Oriented Programming compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
144 Java Data Oriented Programming this skilljabrena/plinth445—~979Automated safety check: PassApache-2.0
Java Persistencemakifbaysal/tasktrooper109—~1.3kAutomated safety check: PassApache-2.0
Algorithmic Complexity Reviewpproenca/dot-skills214—~3kAutomated safety check: PassMIT
Jimmer OrmCoooolfan/XiaomiAlbumSyncer418—~702Automated safety check: PassGPL-3.0
Java Injection Auditwgpsec/AboutSecurity1.8k—~1.1kAutomated safety check: PassNone
Content Create Hero Imageprisma/web1.1k—~6.9kAutomated safety check: PassNone

Similar skills

  • Java Persistence

    makifbaysal/tasktrooper

    A skill your agent uses when a Java service reads or writes the database - JPA/Hibernate and Panache/Spring Data mapping, transaction boundaries, pagination and avoiding N+1 and entity-over-the-wire…

    109 GitHub stars~1.3k tokensUpdated 2 days ago
    DatabasesAuto-check passed
  • Algorithmic complexity (Big-O) review — finding nested loops, N+1 queries, exponential recursion, quadratic string builds, and other accidental complexity blowups.

    214 GitHub stars~3k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Jimmer Orm

    Coooolfan/XiaomiAlbumSyncer

    Jimmer ORM 开发助手(XiaomiAlbumSyncer 服务端),帮助编写实体映射代码、DTO 和 DSL 查询语句。适用于:(1) 定义或修改 Jimmer 实体(使用 @Entity 注解的 interface);(2) 编写 Jimmer DSL 查询代码;(3) 配置实体关联关系(@ManyToOne, @OneToMany, @ManyToMany);(4)…

    418 GitHub stars~702 tokensUpdated yesterday
    DatabasesAuto-check passed
  • Java Injection Audit

    wgpsec/AboutSecurity

    Java 源码注入类漏洞审计。当在 Java 白盒审计中需要检测注入类漏洞时触发. An agent skill from wgpsec/AboutSecurity.

    1.8k GitHub stars~1.1k tokensUpdated 4 days ago
    DatabasesAuto-check passed
  • Official

    A skill your agent uses when the operator wants a hero or meta image for a Prisma blog post; asks to create or generate a blog hero, cover, social card, Open Graph, or YouTube image; mentions cover…

    1.1k GitHub stars~6.9k tokensUpdated today
    DatabasesAuto-check passed
  • Sea Orm 2

    FlyinPancake/yoink

    Expert guidance for SeaORM 2.0, Rust's async ORM with strongly-typed columns, nested ActiveModels, Entity Loader API, and entity-first workflow.

    112 GitHub stars~2.9k tokensUpdated 3 days ago
    DatabasesAuto-check passed

More from jabrena/plinth

All 124 skills in this repo
  • A skill your agent uses when you need to add or review fuzz testing for Java APIs with CATS — including contract-driven negative testing, malformed payload validation, boundary input exploration, CI…

    445 GitHub stars~874 tokensUpdated today
    Auto-check passed
  • A skill your agent uses when you need to generate Java project diagrams — including UML sequence diagrams, UML class diagrams, C4 model diagrams, UML state machine diagrams, UML Deployment Diagrams…

    445 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when you need to add or configure Maven plugins in your pom.xml — including quality tools (enforcer, surefire, failsafe, jacoco, pitest, spotbugs, pmd), security scanning…

    445 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when you need to set up JMeter performance testing for a Java project — including creating the run-jmeter.sh script from the exact template, configuring load tests with…

    445 GitHub stars~842 tokensUpdated today
    Auto-check passed
  • A skill your agent uses when you need to set up Java application profiling to detect and measure performance issues — including trusted preinstalled async-profiler v4.x setup, problem-driven…

    445 GitHub stars~903 tokensUpdated today
    Auto-check passed
  • A skill your agent uses when you need to generate a checklist document with embedded commands inventory, following the embedded template exactly and producing INVENTORY-COMMANDS-JAVA.md in the…

    445 GitHub stars~697 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about 144 Java Data Oriented Programming

What does 144 Java Data Oriented Programming do?

A skill your agent uses when you need to apply data-oriented programming best practices in Java — including separating code (behavior) from data structures using records, designing immutable data…. 144 Java Data Oriented Programming is an agent skill from jabrena/plinth. 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.

When should I use 144 Java Data Oriented Programming?

144 Java Data Oriented Programming fits situations like: 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.

How do I install 144 Java Data Oriented Programming in Claude Code?

Run `npx skills add jabrena/plinth --skill 144-java-data-oriented-programming -a claude-code`. Or copy the skill folder (skills/144-java-data-oriented-programming in jabrena/plinth) into .claude/skills/144-java-data-oriented-programming in your project. Claude Code loads it when a task matches its description.

How do I install 144 Java Data Oriented Programming in Codex?

Run `npx skills add jabrena/plinth --skill 144-java-data-oriented-programming -a codex`. Or copy the skill folder (skills/144-java-data-oriented-programming in jabrena/plinth) into .agents/skills/144-java-data-oriented-programming in your project. Codex loads it when a task matches its description.

Can I use 144 Java Data Oriented Programming in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jabrena/plinth --skill 144-java-data-oriented-programming -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/144-java-data-oriented-programming, .gemini/skills/144-java-data-oriented-programming, .github/skills/144-java-data-oriented-programming and .opencode/skills/144-java-data-oriented-programming in your project.

What does 144 Java Data Oriented Programming need to run?

Going by SKILL.md and its folder, 144 Java Data Oriented Programming needs the command-line tools its instructions call (mvn).

Does 144 Java Data Oriented Programming access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is 144 Java Data Oriented Programming safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does 144 Java Data Oriented Programming use?

144 Java Data Oriented Programming is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does 144 Java Data Oriented Programming use?

About 979 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.

What are the alternatives to 144 Java Data Oriented Programming?

Skills that share tags, products or a category with 144 Java Data Oriented Programming: Java Persistence (makifbaysal/tasktrooper, 109 stars), Algorithmic Complexity Review (pproenca/dot-skills, 214 stars), Jimmer Orm (Coooolfan/XiaomiAlbumSyncer, 418 stars) and Java Injection Audit (wgpsec/AboutSecurity, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains 144 Java Data Oriented Programming?

jabrena (a GitHub user) maintains it in jabrena/plinth, which has 445 GitHub stars. The repository holds 124 skills in this directory. The repository was last updated on October 7, 2026.

Source: jabrena/plinth on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.