Type Problems — Development skill for Claude Code
A set of problems to improve your skills with TyDD, Type Driven Development with Java and some additional Functional libraries.
How to install Type Problems
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open jabrena/type-problems and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Type Problems does
A set of problems to improve your skills with TyDD, Type Driven Development with Java and some additional Functional libraries.
Alternatives in Development
- Jdtls Lsp — Java /plugin install jdtls-lsp@claude-plugins-official 14k ★
- Claude Code iOS Dev Guide — A comprehensive guide for setting up Claude Code CLI with PRD-driven workflows, extended thinking (ultrathink) 492 ★
- Lazy Bird — Universal development automation for ANY project 224 ★
README
Type problems
A set of problems to improve your skills with `TyDD, Type Driven Development` with Java and some additional Functional libraries.
Motivation
Using Java, the developers implements the solutions, transforming data with different nature. We will consider that data as `Values`. That values will be encapsulated into Objects. For the design of your values, you will use [Java primitives](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html) or [Java wrapper classes](https://en.wikipedia.org/wiki/Primitive_wrapper_class):

From Java 8, you can use `Monads`, a parameterized Types to wrap values into a context and apply functions on it. What Monads are available in Java 8+?
Using third party libraries like VAVR, you could add new `Monads` like:
Or you could use new ones from Reactor to model your Reactive problems:
The following problems was designed to improve your skills modeling solutions.
Null safety
Java accept `null` values when you assign to a Type although it is harmful. Using `JSR-305` meta-annotations like `@NonNull` or using `JSR 303` & `JSR 380` Bean validations, you could indicate that your programs only accept Non null values. Another alternative to mitigate the usage of `null` values in your programs is with the usage of the M
Related Skills
Add Observability
Add production observability to a service — structured logging, metrics endpoint, health checks, and Sentry er
Mastering Java
I have a goal to do one leet code type problem every day, starting very simple and getting 1% harder each day
Phase Breakdown
Execute a development phase using native Claude Code sub-agents for parallel implementation. Supports 33 langu
Anything2video
Topic/product/brand in, code-drawn Remotion video out — an agent skill with type-driven recipes (promo/explain
Specswarm
SDD Specification driven development orchestration plugins for Claude Code.
Requires Claude
Claude Code /command for requirements-driven development.
Related Agents
QA Change Analyst
Reads the merged dev change itself (not the ticket) and finds changed behaviour that no QA test covers, propos
Coder Jvm
Implements features for JVM languages (Java, Kotlin, Scala, Clojure) to make tests pass. Expert in object-orie
Animation Engineer
Builds motion and animation — CSS transitions/keyframes, the Web Animations API, SVG animation, scroll-driven