Install
1
Install the plugin$
npx claudepluginhub allousas/claude-code-plugins --plugin kotlin-building-blocksWant just this skill?
Add to a custom plugin, then install with one command.
Description
Apply when creating, modifying, or reviewing any file that consumes from Kafka (classes annotated with @KafkaListener or with names containing in Consumer/Listener)
Tool Access
This skill uses the workspace's default tool permissions.
Supporting Assets
View in Repositoryexamples.mdSkill Content
Purpose
Message consumers listen to message queues (Kafka, RabbitMQ) and trigger application services. They translate external messages into application service calls.
Typical Flow
- Receive a message from Kafka topic
- Parse and validate incoming message
- Filter out messages that are not relevant for the current consumer
- Transform message into application service parameters (DTOs or primitives)
- Call application service to trigger business use case
- Log and publish metrics for observability
- On failure, log error and rethrow to let Kafka error handling mechanisms (retries, DLQ) work
Guidelines
DO:
- Delegate to global configured mechanisms for retries and recovery
- File naming:
<Topic><StreamSystem>Consumer, e.g.,OrdersKafkaConsumer - Declare message DTOs in the same file for cohesion
- Could call repositories directly for idempotency checks
- Could call repositories directly for data replication use cases
DON'T:
- Include business logic - only message parsing, delegation, and error handling
- Suppress exceptions silently - rethrow after logging to allow retry/DLQ mechanisms
- Do not leak kafka specific dtos or classes to application services
Spring specifics
- Use
@KafkaListenerannotation - Ensure
@EnableKafkais enabled - Use
KafkaConfigclass for separate configuration - Ensure
DefaultErrorHandlerwith exponential backoff is configured throughConcurrentKafkaListenerContainerFactory - Ensure
DeadLetterPublishingRecovereris configured
Examples
Please use always these examples as reference: examples.md
Stats
Stars1
Forks0
Last CommitFeb 25, 2026
Actions