Agent skill

122 Java Type Design

by jabrena in jabrena/plinth

A skill your agent uses when you need to review, improve, or refactor Java code for type design quality — including establishing clear type hierarchies, applying consistent naming conventions…

Apache-2.0Auto-check passedDevelopment

Install 122 Java Type Design

skills CLI
$ npx skills add jabrena/plinth --skill 122-java-type-design -a claude-code

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

GitHub CLI
$ gh skill install jabrena/plinth 122-java-type-design --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/122-java-type-design .claude/skills/122-java-type-design && 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
122-java-type-design
GitHub stars
446
Token cost
~977 tokens
SKILL.md length
382 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 review, improve, or refactor Java code for type design quality — including establishing clear type hierarchies, applying consistent naming conventions…

  • You need to review
  • SKILL.md covers Constraints, When to use this skill, Workflow and Reference
  • Calls mvn
  • Refactor Java code for type design quality — including establishing clear type hierarchies

What it does

122 Java Type Design is an agent skill from jabrena/plinth. Use when you need to review, improve, or refactor Java code for type design quality — including establishing clear type hierarchies, applying consistent naming conventions, eliminating primitive obsession with domain-specific value objects, leveraging generic type parameters, creating type-safe wrappers, designing fluent interfaces, ensuring precision-appropriate numeric types (BigDecimal for financial calculations), and improving type contrast through interfaces and method signature alignment. This should…

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/122-java-type-design.md`).

It sits in Development, covering Type safety and Design review and critique. 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 review
  • Refactor Java code for type design quality — including establishing clear type hierarchies
  • Applying consistent naming conventions
  • Eliminating primitive obsession with domain-specific value objects

Example prompts

  • “/122-java-type-design”

What it can do on your machine

Read from SKILL.md and the folder at commit dca88dc. 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

122 Java Type Design loads about 977 tokens when it runs, and up to ~9.8k if it reads all its reference files. Until then it costs about 181 tokens; SKILL.md has 382 words of instructions outside code blocks.

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

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 dca88dc, republished under its Apache-2.0 licence (© jabrena). 382 words, ~977 tokens.

Download SKILL.mdSave it as .claude/skills/122-java-type-design/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
122-java-type-design
description
Use when you need to review, improve, or refactor Java code for type design quality — including establishing clear type hierarchies, applying consistent naming conventions, eliminating primitive obsession with domain-specific value objects, leveraging generic type parameters, creating type-safe wrappers, designing fluent interfaces, ensuring precision-appropriate numeric types (BigDecimal for financial calculations), and improving type contrast through interfaces and method signature alignment. This should trigger for requests such as Review Java code for type design; Improve type design in Java code; Fix primitive obsession in Java code; Create value objects in Java code. Part of Plinth Toolkit
license
Apache-2.0
metadata.author
Juan Antonio Breña Moral
metadata.version
0.19.0

Type Design Thinking in Java

Review and improve Java code using comprehensive type design principles that apply typography concepts to code structure and organization for maximum clarity and maintainability.

What is covered in this Skill?

  • Clear type hierarchies: nested static classes, logical structure
  • Consistent naming conventions: domain-driven patterns, uniform interface/implementation naming
  • Strategic whitespace for readability
  • Type-safe wrappers: value objects replacing primitive obsession (EmailAddress, Money)
  • Generic type parameters: flexible reusable types, bounded parameters
  • Domain-specific fluent interfaces: builder pattern, method chaining
  • Type weights: conceptual importance — core domain vs supporting vs utility
  • Type contrast through interfaces: contract vs implementation separation
  • Aligned method signatures: consistent parameter and return types across related classes
  • Self-documenting code: clear descriptive names
  • BigDecimal for precision-sensitive calculations (financial/monetary operations)
  • Strategic type selection: Optional, Set vs List, interfaces over concrete types

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 type design changes, ensure the project compiles. If compilation fails, stop immediately — do not proceed until resolved. After applying improvements, run full verification.

  • MANDATORY: Run ./mvnw compile or mvn compile before applying any change
  • SAFETY: If compilation fails, stop immediately and do not proceed — compilation failure is a blocking condition
  • VERIFY: Run ./mvnw clean verify or mvn clean verify after applying improvements
  • BEFORE APPLYING: Read the reference for detailed examples, good/bad patterns, and constraints
  • EDGE CASE: If request scope is ambiguous, stop and ask a clarifying question before applying changes
  • EDGE CASE: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance
Show full SKILL.md (116 more words)Show less

When to use this skill

  • Review Java code for type design
  • Improve type design in Java code
  • Fix primitive obsession in Java code
  • Create value objects in Java code
  • Create type hierarchies in Java code
  • Create fluent interfaces in Java code

Workflow

  1. Compile project before type-design changes

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

  1. Read type-design reference and inspect code

Read references/122-java-type-design.md and identify type hierarchy, naming, and value-object improvements.

  1. Apply type-design refactorings

Implement selected type-safety and readability improvements based on applicable patterns.

  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/122-java-type-design.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/122-java-type-design of jabrena/plinth.

  • SKILL.md
  • references/122-java-type-design.md

Open the folder on GitHubat commit dca88dc

Compare with similar skills

122 Java Type Design 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.

122 Java Type Design compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
122 Java Type Design this skilljabrena/plinth446—~977Automated safety check: PassApache-2.0
Java Coding Standardsaffaan-m/ECC275k1 repos~2.9kAutomated safety check: PassMIT
Static Reasoning VerifierArabelaTso/Skills-4-SE253—~2.9kAutomated safety check: PassApache-2.0
Typescript Strict PatternsHack23/cia239—~1.3kAutomated safety check: PassApache-2.0
Module Component GeneratorArabelaTso/Skills-4-SE253—~2.3kAutomated safety check: PassApache-2.0
Langchain4j AI Services Patternsgiuseppe-trisciuoglio/developer-kit3551 repos~1.6kAutomated safety check: NotesMIT

Similar skills

  • Java coding standards for Spring Boot and Quarkus services: naming, immutability, Optional usage, streams, exceptions, generics, CDI, reactive patterns, and project layout.

    275k GitHub starsUsed in 1 repo~2.9k tokens
    DevelopmentAuto-check passed
  • Static Reasoning Verifier

    ArabelaTso/Skills-4-SE

    Verify code correctness statically against specifications using type checking, contract verification, and formal methods.

    253 GitHub stars~2.9k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • TypeScript strict mode, type safety, readonly patterns, type guards for frontend tooling used in CI/CD

    239 GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Module Component Generator

    ArabelaTso/Skills-4-SE

    Generates complete modules and components from interface contracts and specifications.

    253 GitHub stars~2.3k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Langchain4j AI Services Patterns

    giuseppe-trisciuoglio/developer-kit

    Provides patterns to build declarative AI Services with LangChain4j for LLM integration, chatbot development, AI agent implementation, and conversational AI in Java.

    355 GitHub starsUsed in 1 repo~1.6k tokens
    AI & LLM EngineeringAuto-check: notes
  • Design Evaluation

    Abhinavbwj/Urban-Design-Skills-Claude

    Evaluate urban designs against comprehensive criteria drawn from all major global standards, certification systems, and theoretical frameworks.

    132 GitHub starsUsed in 1 repo~9.2k tokens
    DevelopmentAuto-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…

    446 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…

    446 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…

    446 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…

    446 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…

    446 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…

    446 GitHub stars~697 tokensUpdated today
    Auto-check passed

Works with

Questions about 122 Java Type Design

What does 122 Java Type Design do?

A skill your agent uses when you need to review, improve, or refactor Java code for type design quality — including establishing clear type hierarchies, applying consistent naming conventions…. 122 Java Type Design is an agent skill from jabrena/plinth. Use when you need to review, improve, or refactor Java code for type design quality — including establishing clear type hierarchies, applying consistent naming conventions, eliminating primitive obsession with domain-specific value objects, leveraging generic type parameters, creating type-safe wrappers, designing fluent interfaces, ensuring precision-appropriate numeric types (BigDecimal for financial calculations), and improving type contrast through interfaces and method signature alignment.

When should I use 122 Java Type Design?

122 Java Type Design fits situations like: you need to review; refactor Java code for type design quality — including establishing clear type hierarchies; applying consistent naming conventions; eliminating primitive obsession with domain-specific value objects.

How do I install 122 Java Type Design in Claude Code?

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

How do I install 122 Java Type Design in Codex?

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

Can I use 122 Java Type Design 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 122-java-type-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/122-java-type-design, .gemini/skills/122-java-type-design, .github/skills/122-java-type-design and .opencode/skills/122-java-type-design in your project.

What does 122 Java Type Design need to run?

Going by SKILL.md and its folder, 122 Java Type Design needs the command-line tools its instructions call (mvn).

Does 122 Java Type Design 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 122 Java Type Design 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 122 Java Type Design use?

122 Java Type Design 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 122 Java Type Design use?

About 977 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 8.9k tokens, read only when the agent opens those files.

What are the alternatives to 122 Java Type Design?

Skills that share tags, products or a category with 122 Java Type Design: Java Coding Standards (affaan-m/ECC, 275k stars), Static Reasoning Verifier (ArabelaTso/Skills-4-SE, 253 stars), Typescript Strict Patterns (Hack23/cia, 239 stars) and Module Component Generator (ArabelaTso/Skills-4-SE, 253 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains 122 Java Type Design?

jabrena (a GitHub user) maintains it in jabrena/plinth, which has 446 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.