jackson-kotlin-serialization-specialist

Diagnose Kotlin and Jackson serialization issues in Spring applications.

14|1|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/yalishevant/kotlin-backend-agent-skills --skill jackson-kotlin-serialization-specialist-yalishevant
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jackson-kotlin-serialization-specialist
Source: https://github.com/yalishevant/kotlin-backend-agent-skills/tree/main/.agents/skills/jackson-kotlin-serialization-specialist
Command: npx skills add https://github.com/yalishevant/kotlin-backend-agent-skills --skill jackson-kotlin-serialization-specialist-yalishevant

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Diagnose and stabilize Kotlin + Jackson serialization/deserialization behavior in Spring applications to prevent silent wire-format drift and runtime surprises when DTOs fail to deserialize, default parameters or nullability misbehave, or polymorphic payloads are involved.

Core Features & Use Cases

  • Verify module presence and compatibility (jackson-module-kotlin, JavaTimeModule) and ensure correct serializer behavior across Kotlin and Java time types.
  • Inspect constructor semantics, required vs default values, and nullability handling to guarantee predictable deserialization and patch semantics.
  • Validate naming strategies, type discriminators for polymorphism, and boundary-specific mapper configurations to avoid contract drift.

Quick Start

Provide the failing Kotlin data classes and a representative JSON payload to diagnose and propose fixes.

Frequently Asked Questions about jackson-kotlin-serialization-specialist

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix Jackson deserialization failures with Kotlin default parameter values in Spring?

Kotlin default parameter failures during Jackson deserialization in Spring usually stem from missing jackson-module-kotlin or incorrect constructor handling. You must provide your failing Kotlin data classes and a representative JSON payload to diagnose constructor semantics and ensure default parameters are recognized.

Why does my Kotlin DTO lose nullability information when serialized by Jackson?

Kotlin DTO nullability is lost when Jackson lacks the jackson-module-kotlin registration, causing it to treat Kotlin classes as standard Java POJOs. Diagnosing the ObjectMapper configuration and verifying the module presence stabilizes nullability handling and prevents runtime surprises.

How to handle polymorphic JSON payloads with Kotlin data classes in a Spring application?

Handling polymorphic JSON payloads in Spring requires validating type discriminators and naming strategies in your Kotlin data classes. Inspecting boundary-specific ObjectMapper configurations and constructor semantics prevents contract drift during deserialization of polymorphic types.

Does Jackson work with Kotlin date-time and enum formats out of the box?

Jackson requires JavaTimeModule to correctly handle Kotlin and Java time types. Verifying module presence and compatibility ensures correct serializer behavior across date-time and enum formats, preventing silent wire-format drift in Spring applications.

What causes ObjectMapper drift across different Spring modules when serializing Kotlin DTOs?

ObjectMapper drift occurs when different Spring modules configure boundary-specific serializers inconsistently. Validating naming strategies, inclusion rules, and module compatibility across modules prevents contract drift and stabilizes Kotlin DTO serialization behavior.

How do I apply PATCH semantics to Kotlin data classes using Jackson?

Applying PATCH semantics to Kotlin data classes requires inspecting constructor semantics, nullability, and required versus default values. Diagnosing these factors ensures predictable deserialization and patch behavior without missing field updates.